Download - Tarea 1
Profesor:
MSC. José Antonio Rosales Barrales
Tema:
EJERCICIOS: ACTIVIDADES DE LA
MATERIA SEMANA 1.
PRESENTA:
Ing. Arturo González Preciado
Especialidad: Maestría en Sistemas Computacionales
Tuxtepec, Oax., 09 de Julio del 2011
INGENIERÍA DE SOFTWARE II
2 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
TAREA DE EL DÍA 02 DE JULIO DEL 2011.
DATOS GENERALES:
Materia: .INGENIERÍA DE SOFTWARE II Unidad y Tema:
Actividad (Numero y nombre): ACTIVIDADES DE LA SEMANA No. 1.
Matrícula(s):
Nombre (s): Arturo González Preciado
Profesor: MSC. José Antonio Rosales Barrales Fecha en la cual el profesor encarga la actividad: 02/07/2011
Fecha en la cual el profesor recibe la actividad: 09/07/2011
INGENIERÍA DE SOFTWARE II
3 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
VENTAJAS Y DESVENTAJAS DE LOS MODELOS DE PROCESO DE SOFTWARE. EL MODELO LINEAL (O MODELO EN CASCADA) Este modelo fue propuesto por Winston Royce en el año de 1970. Es un modelo que admite iteraciones, contrariamente a la creencia de que es un modelo secuencial. Después de cada etapa se realiza una o varias revisiones para comprobar si se puede pasar a la siguiente. Es un modelo rígido, poco flexible, y con muchas restricciones. Aunque fue uno de los primeros, y sirvió de base para el resto de los modelos existentes.
Figura 1.
• Cada fase empieza cuando se ha terminado la fase anterior.
• Para pasar de una fase a otra es necesario conseguir todos los objetivos de la fase
previa.
• Ayuda a prevenir que se sobrepasen las fechas de entrega y los costes esperados.
INGENIERÍA DE SOFTWARE II
4 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
• Al final de cada fase el personal técnico y los usuarios tienen la oportunidad de
revisar el progreso del proyecto.
Desventajas del modelo de Cascada.
• En la vida real, un proyecto rara vez sigue un proceso lineal, esto crea una mala
implementación del modelo.
• No refleja realmente el proceso de desarrollo el proceso de software.
• Se tarda mucho en pasar por todo el ciclo.
• Se convierten las especificaciones en implementaciones de manera informal.
• El mantenimiento se realiza en el código fuente.
• Las revisiones de proyectos de gran complejidad son muy difíciles.
• Impone una estructura de gestión de proyectos.
EL MODELO INCREMENTAL. Este modelo se basa en la filosofía de construir incrementado las funcionalidades del programa. Se realiza construyendo por módulos que cumplen las diferentes funciones del sistema. Esto permite ir aumentando gradualmente las capacidades del software. El modelo incremental facilita la tarea del desarrollo permitiendo a cada miembro del equipo desarrollar un módulo particular en el caso de que el proyecto sea realizado por un equipo de programadores. Es una repetición del modelo en cascada, aplicándose este ciclo en cada funcionalidad del programa a construir. Al final de cada ciclo le entregamos una versión al cliente que contiene una nueva funcionalidad. También nos permite realizar una entrega al cliente antes de terminar el proyecto. Este modelo de ciclo de vida no está pensado para cierto tipo de aplicaciones, sino que está orientado a cierto tipo de usuario o cliente. Podemos utilizar este modelo para casi cualquier proyecto, pero será verdaderamente útil cuando el usuario necesite entregas rápidas, aunque sean parciales.
INGENIERÍA DE SOFTWARE II
5 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
Una forma de reducir los riesgos es ir construyendo
Partes del sistema adoptando este modelo. Ventajas del modelo Incremental.
• Construir un sistema pequeño siempre es menos riesgoso que construir un sistema
grande.
• Como desarrollamos independientemente las funcionalidades, es más fácil relevar
los requerimientos del usuario.
• Si se detecta un error grave, sólo desechamos la última iteración.
• No es necesario disponer de los requerimientos de todas las funcionalidades en el
comienzo del proyecto y además facilita la labor del desarrollo con la conocida
filosofía de divide & vencerás.
Desventajas del modelo Incremental.
• Se puede llegar a perder la idea de ver el sistema como un todo y se pueden
escapar algunos requerimientos.
• Puede llegar a ser muy repetitivo y por lo tanto hacer crecer sus costos.
EL MODELO DE DESARROLLO EVOLUTIVO. Este modelo acepta que los requerimientos del usuario pueden cambiar en cualquier momento. La práctica nos demuestra que obtener todos los requerimientos al comienzo del proyecto es extremadamente difícil, no sólo por la dificultad del usuario de transmitir su idea, sino porque estos requerimientos evolucionan durante el desarrollo y de esta manera, surgen
INGENIERÍA DE SOFTWARE II
6 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
nuevos requerimientos a cumplir. El modelo de ciclo de vida evolutivo afronta este problema mediante una iteración de ciclos requerimientos-desarrollo-evaluación.
Luego de cada desarrollo obtenemos una nueva versión del producto.
Resulta ser un modelo muy útil cuando desconocemos la mayoría de los requerimientos iniciales, o estos requerimientos no están completos. Ventajas del modelo de Desarrollo Evolutivo.
• Los requerimientos del usuario pueden cambiar en cualquier momento.
• Los usuarios tienen la oportunidad de ir evolucionando sus ideas conforme el
desarrollo va avanzando.
• Es muy útil cuando desconocemos la mayoría de los requerimientos iniciales, o
estos requerimientos no están completos.
Desventajas del modelo de Desarrollo Evolutivo.
• También el hecho de que los usuarios pueden cambiar los requerimientos en
cualquier momento puede convertirse en una desventaja.
• Puede llegar a ser muy tardado lo que incrementaría los costos, debido a que se
cambian los requerimientos.
INGENIERÍA DE SOFTWARE II
7 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
Preguntas Frecuentes de Ingeniería de software
¿Qué es ingeniería? Palabra que proviene de ingenio, es decir la disciplina que permite aplicar el ingenio, mediante conocimientos y técnicas previamente adquiridas mediante estudios y/o experiencias, desarrollando así habilidad para aplicarlos, para facilitar el uso de diferentes recursos como pueden ser, materiales, naturales, etc.
¿En qué consiste un sistema de software? Conjunto de programas que interactúan con el sistema operativo de una computadora, permitiendo así procesar información, almacenar información, o simplemente reproducirla en algún medio de salida.
¿Cuáles son los objetivos de una ingeniería de software? La informática aporta herramientas y procedimientos sobre los que se apoya la ingeniería de software, por tanto en la construcción y desarrollo de proyectos se aplican métodos y técnicas para resolver problemas, teniendo como objetivos principales:
• Que el control del proceso de software se facilite. • Adoptar una disciplina que garantice la producción y el mantenimiento de los
productos software desarrollados • Mejorar la calidad de los productos de software. • Que el trabajo de los ingenieros de software se aumente con respecto a la
productividad. • Tener una idea clara de lo que realmente se necesita para desarrollar un software de
alta calidad. • Hacer eficiente la creación de software, disminuyendo costos, tanto humanos,
materiales y monetarios.
¿Cuál es la diferencia entre ingeniería de software y ciencia de la computación? La ingeniería de software es la que antecede a la ciencia de la computación, al obtener los resultados y soluciones para los cuales se desarrolló el software, se convierte en perfección y por tanto se hace la ciencia de la computación. Esencialmente, la ciencia de la computación se refiere a las teorías y métodos subyacentes a las computadoras y los sistemas de software, mientras que la ingeniería del software se refiere a los problemas prácticos de producir software. Los ingenieros de software requieren ciertos conocimientos de ciencia de la computación, de la misma forma que los ingenieros eléctricos requieren conocimientos de física.
¿Cuál es la diferencia entre ingeniería de software e ingeniería en sistemas? La ingeniería de software trata de creación o desarrollo de software y la ingeniería en sistemas no necesariamente serán software, ya que se pueden tener muchos tipos de sistemas. En ellos se intenta comprender la realidad, con el propósito de implementar sistemas complejos.
INGENIERÍA DE SOFTWARE II
8 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
¿Qué es un modelo de procesos de software? Son simplificaciones, por lo tanto un modelo de procesos del software es una simplificación de un proceso real; que se presenta desde una forma de ver las cosas en forma particular. Estos modelos deben contar con faces o pasos a seguir que permitirán completar todo el modelo y así representarlo. Por tanto un modelo de proceso de software es una descripción simplificada de un proceso del software que presenta una visión de ese proceso.
¿Qué son los métodos de la ingeniería de software? Enfoques estructurados para el desarrollo de software que incluyen modelos de sistemas, notaciones, reglas, sugerencias de diseño y guías de procesos.
¿Cuáles son los costos de la ingeniería de software? Los costos se identifican a los recursos tanto materiales como monetarios y recursos humanos, hasta que el sistema es terminado. A grandes rasgos, el 60% de los costos son de desarrollo, el 40% restante son de pruebas. En el caso del software personalizado, los costos de evolución a menudo exceden los de desarrollo.
¿Cuáles son los elementos (capas) de una arquitectura Cliente Servidor? La arquitectura cliente/servidor genérica tiene dos tipos de nodos en la red: clientes y servidores. Consecuentemente estas arquitecturas genéricas se refieren a veces como arquitecturas de dos niveles o dos capas. Algunas redes disponen de tres tipos de nodos:
• Clientes que interactúan con los usuarios finales. • Servidores de aplicación que procesan los datos para los clientes. • Servidores de la base de datos que almacenan los datos para los servidores de
aplicación. Ésta configuración se llama una arquitectura de tres-capas.
• Ventajas de las arquitecturas n-capas: La ventaja fundamental de una arquitectura n-capas comparado con una arquitectura de dos niveles (o una tres-capas con una de dos niveles) es que separa hacia fuera el proceso, eso ocurre para mejorar el balance la carga en los diversos servidores; es más escalable.
• Desventajas de las arquitecturas de la n-capas: 1. Pone más carga en la red, debido a una mayor cantidad de tráfico de la red. 2. Es mucho más difícil programar y probar el software que en arquitectura de
dos niveles porque tienen que comunicarse más dispositivos para terminar la transacción de un usuario.
¿Qué es CASE? (Ingeniería del Software Asistida Por Computadora), Sistemas de software que intentan proporcionar ayuda automatizada a las actividades del proceso del software. Los sistemas CASE a menudo se utilizan como apoyo al método.
INGENIERÍA DE SOFTWARE II
9 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
1. Introducción a la calidad aplicada a empresas.
Subtemas. 1.1. ¿Por qué calidad? Las organizaciones dependen de sus clientes y por lo tanto
deberían comprender las necesidades actuales y futuras de los clientes, satisfacer
los requisitos de los clientes y esforzarse en exceder las expectativas de los
clientes. Definir la calidad de un servicio resulta más subjetivo e impreciso que
definir la calidad de un producto. El producto tangible existe antes de entregarlo al
cliente y se puede inspeccionar y medir sus variables, mientras que el servicio se
produce y entrega en el mismo acto, por lo que debe prestarse con la calidad
requerida sin posibilidad de sustitución. Como la belleza, la calidad de un servicio
“depende del color del cristal con el que se mira”. Por tanto definimos que la
calidad es aquella que dice que aquel producto o servicio que nosotros adquiramos
satisfaga nuestras expectativas sobradamente. Es decir, que aquel servicio o
producto funcione tal y como nosotros queramos y para realizar aquella tarea o
servicio que nos tiene que realizar. Con todo y a pesar de esta definición el término
“Calidad” siempre será entendido de diferente manera por cada uno de nosotros,
ya que para uno de nosotros, ya que para unos la Calidad residirá en un producto y
en otros en su servicio posventa de este producto, por poner un ejemplo. Lo cierto
es que nunca llegaremos a definir exactamente lo que representa el término
Calidad a pesar de que últimamente este término se haya puesto de moda.
1.2. ¿Para qué sirve un sistema de Gestión de Calidad en una empresa? Se entiende por
gestión de calidad el conjunto de actividades coordinadas para dirigir y controlar
una organización en lo relativo a la calidad. Generalmente incluye el
establecimiento de la política de la calidad y los objetivos de la calidad, así como la
planificación, el control, el aseguramiento y la mejora de la calidad. Tomando en
cuenta lo anterior es aquella parte del sistema de gestión enfocada a dirigir y
controlar una organización en relación con la calidad. Un enfoque para desarrollar
e implementar un sistema de gestión de la calidad (o para mantener y mejorar uno
ya existente). Generalmente sirve para obtener mayor calidad en los productos,
tomando en cuenta:
1.- Determinar las necesidades y expectativas de los clientes y de otras partes
interesadas.
2. Establecer la política y objetivos de la calidad de la organización.
INGENIERÍA DE SOFTWARE II
10 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
3. Determinar procesos y responsabilidades necesarias para lograr los objetivos
de la calidad.
4. Determinar y proporcionar los recursos necesarios para lograr los objetivos
de la calidad.
5. Establecer los métodos para medir la eficacia y eficiencia de cada proceso.
6. Aplicar estas medidas para determinar la eficacia y eficiencia de cada
proceso.
7. Determinar los medios para prevenir no conformidades y eliminar sus causas.
8. Establecer y aplicar un proceso para la mejora continua del sistema de
gestión de calidad.
1.3. Las PYMEs y el reconocimiento de su calidad. La importancia de la pequeña y mediana empresa (PYMES) es un hecho reconocido en todo el mundo. Son las pequeñas y medianas empresas, legalmente establecidas con base en la estratificación establecida por la Secretaría de Economía, de común acuerdo con la Secretaría de Hacienda y Crédito Público. Parece estar de moda, no tan sólo en el mundo empresarial sino en todos los aspectos de nuestra vida diaria, el mencionado pero no totalmente entendido y menos adoptado concepto de la calidad, entendiendo éste como un alto grado de satisfacción en una situación específica, debido a lo cual han proliferado slogans además de logos referidos a la misma. Ciertamente México apenas está incursionando hacia una cultura de la calidad, por lo que sus afectos comienzan a vislumbrarse. Este rezago hace que la falta de adopción de los principios de calidad se vea reflejada en las micro y pequeñas empresas, lo que las limita al intentar aprovechar oportunidades de negocios y dejando pasar varias oportunidades de éxito. El reto de competir dentro de un mundo globalizado se debe, en parte, al avance tecnológico que modifica la demanda, las necesidades y preferencias que a gran velocidad cambian por los diferentes consumidores, por la competencia intensa, y al mismo tiempo a los reducidos ciclos de vida de los productos. Esto ocasiona la necesidad de administrar cada vez mejor integrando a la vez una cultura de calidad que incluya acciones tales como planes de mercadeo, comercialización a mediano y largo plazo, planes de manufactura, financiamientos adecuados, de sistemas operativos de vanguardia, etc. Solo con medidas de esta talla un empresa puede seguir adelante hacia el logro de sus objetivos. Cada vez son más las organizaciones que sienten la necesidad de mejorar sus operaciones en la medida de lo posible. Más ejecutivos se dan cuenta que, para vencer a la competencia, es preciso hacer de forma constante mejor las cosas. Ante esta necesidad de cambio, actualización y de superación, la empresa moderna debe buscar asesoría externa, misma que si es adecuada, puede ayudar de una manera más rápida además de económica a la empresas.
INGENIERÍA DE SOFTWARE II
11 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
Este cambio, si se guía y planea bien, puede tener como consecuencia nuevas oportunidades de crecimiento, satisfacción de las necesidades de los clientes y una mayor eficacia además de eficiencia diaria en el actuar de la empresa, aumentando con ello las utilidades y las probabilidades de salir adelante como negocio. Hoy más que nunca, en estos tiempos donde el fenómeno de la globalización se hace cada día más presente, es indispensable para nuestro País el uso óptimo de los recursos que disponemos, ya sean recursos naturales, económicos, humanos. Calidad y productividad son términos que van estrechamente ligados entre sí, pues quien se jacte de tener una empresa altamente productiva no puede negar, que para alcanzar esos niveles ha tenido que recurrir a la implantación de programas de calidad empresarial además de mejoramiento continuo, esto con la firme intención de cambiar la forma de hacer las cosas para satisfacer las demandas de los clientes y aumentar la rentabilidad de la empresa. Este hecho se ha convertido en uno de los temas más interesantes al hablar de negocios. La micro o pequeña empresa no es la excepción al momento de hablar de la importancia en la implantación de procesos orientados a la calidad, pero al tocar estos temas con algún empresario de este sector, inmediatamente surge como limitante en algunos casos y como escusa ideal en otros: el costo de la implantación del sistema, mismo que no necesariamente es elevado, no puede ser sufragado por la empresa pues, entre otras cosas, tiene la prioridad de sobrevivir. La implantación de la cultura de la calidad no es, como muchos empresarios creen y peor aún, como muchos supuestos “consultores” intentan implantar en la proliferación de procedimientos burocráticos plasmados en gruesos, además de poco útiles manuales. Tampoco es una supervisión estricta y detallista para separar el producto bueno del malo durante y al final del proceso productivo, sino que de cierta manera es algo que va más orientado a no producir un producto malo, mediante el uso de una serie de controles administrativos, así como también productivos técnicamente fundamentados. De igual manera es importante mencionar que la implantación de los procesos orientados a la calidad, no son la solución para todos los problemas de una empresa, independientemente del tamaño del negocio de se trate. La necesidad de la implantación de un sistema de aseguramiento de calidad en una empresa no debe hacerse porque lo requiera alguno de sus clientes, o al mismo tiempo sea exigido a través de un tratado o contrato, sino que debe hacerse por convicción. En un sistema orientado a la calidad, los costos de producción se reducen, por tanto se está en posibilidad de manejar sus precios en una forma más competitiva, no solo en el País, sino también de manera internacional.
1.4. ¿Cuánto puede durar un proceso de certificación, acreditación o evaluación? Entre las más comunes en la implantación de sistemas de gestión de calidad:
INGENIERÍA DE SOFTWARE II
12 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
1. Concebirlo como algo adicional a lo que venimos haciendo.
2. Pretender “correr” antes de caminar.
3. Falta de asignación de recursos apropiados.
4. Desvinculación de la estrategia de la empresa.
5. La alta gerencia sólo apoya.
6. El proceso sólo involucra a un sector.
Dependiendo del ramo al que pertenece la empresa se identifica que para el
modelo nacional tiene una duración de uno a tres años. Y esto va a depender de la
normalización o reglamentación que existe. Al terminar ese tiempo se empieza de
nuevo todo el proceso.
1.5. Calidad en el desarrollo de software. Conjunto de actividades llevadas a cabo para
construir, entregar y hacer evolucionar un producto de software, desde su concepción hasta su retiro. Spoilage: Esfuerzo dedicado al diagnóstico y eliminación de fallas que fueron introducidas durante el proceso de desarrollo, Representa de un 35% al 55% del costo total del sistema. Por lo que podemos hacer notar que es demasiado costoso mantenerlo.
• ¿Por qué incluir tanto de la etapa de mantenimiento como spoilage?
Muchas de las mejoras de mantenimiento son requerimiento que siempre
estuvieron.
• La mayoría de los casos corresponde a errores de diseño.
• Spoilage: Es el costo de errores humanos durante el proceso de desarrollo.
Errores de codificación, análisis, diseño o testeo.
• La calidad de software está dada por la ausencia de spoilage.
• Diferentes defectos tiene diferentes costos.
•
INGENIERÍA DE SOFTWARE II
13 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
1.6. Historia de la Calidad. La historia de la humanidad está directamente ligada con la
calidad desde los tiempos más remotos, el hombre al construir sus armas, elaborar
sus alimentos y fabricar su vestido observa las características del producto y
enseguida procura mejorarlo.
La práctica de la verificación de la calidad se remonta a épocas anteriores al
nacimiento de Cristo. En el año 2150 A.C., la calidad en la construcción de casas
estaba regida por el Código de Hammurabi, cuya regla # 229 establecía que “si un
constructor construye una casa y no lo hace con buena resistencia y la casa se
derrumba y mata a los ocupantes, el constructor debe ser ejecutado”. Los fenicios
también utilizaban un programa de acción correctiva para asegurar la calidad, con
el objeto de eliminar la repetición de errores. Los inspectores simplemente
cortaban la mano de la persona responsable de la calidad insatisfactoria.
En los vestigios de las antiguas culturas también se hace presente la calidad,
ejemplo de ello son las pirámides Egipcias, los frisos de los templos griegos, etc. Sin
embargo, la Calidad Total, como concepto, tuvo su origen en Japón donde ahora es
una especie de religión que todos quieren practicar.
Durante la edad media surgen mercados con base en el prestigio de la calidad de
los productos, se popularizó la costumbre de ponerles marca y con esta práctica se
desarrolló el interés de mantener una buena reputación (las sedas de damasco, la
INGENIERÍA DE SOFTWARE II
14 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
porcelana china, etc.) Dado lo artesanal del proceso, la inspección del producto
terminado es responsabilidad del productor que es el mismo artesano.
Con el advenimiento de la era industrial esta situación cambió, el taller cedió su
lugar a la fábrica de producción masiva, bien fuera de artículos terminados o bien
de piezas que iban a ser ensambladas en una etapa posterior de producción.
La era de la revolución industrial, trajo consigo el sistema de fábricas para el
trabajo en serie y la especialización del trabajo. Como consecuencia de la alta
demanda aparejada con el espíritu de mejorar la calidad de los procesos, la función
de inspección llega a formar parte vital del proceso productivo y es realizada por el
mismo operario (el objeto de la inspección simplemente señalaba los productos
que no se ajustaban a los estándares deseados.)
A fines del siglo XIX y durante las tres primeras décadas del siglo XX el objetivo es
producción. Con las aportaciones de Taylor la función de inspección se separa de la
producción; los productos se caracterizan por sus partes o componentes
intercambiables, el mercado se vuelve más exigente y todo converge a producir.
El cambio en el proceso de producción trajo consigo cambios en la organización de
la empresa. Como ya no era el caso de un operario que se dedicara a la elaboración
de un artículo, fue necesario introducir en las fábricas procedimientos específicos
para atender la calidad de los productos fabricados en forma masiva. Dichos
procedimientos han ido evolucionando, sobretodo durante los últimos tiempos.
El control de la calidad se practica desde hace muchos años en Estados Unidos y en
otros países, pero los japoneses, enfrentados a la falta de recursos naturales y
dependientes en alta grado de sus exportaciones para obtener divisas que les
permitieran comprar en el exterior lo que no podían producir internamente, se
dieron cuenta de que para sobrevivir en un mundo cada vez más agresivo
comercialmente, tenían que producir y vender mejores productos que sus
competidores internacionales como Estados Unidos, Inglaterra, Francia y Alemania.
Lo anterior los llevó a perfeccionar el concepto de calidad. Para ellos debería haber
calidad desde el diseño hasta la entrega del producto al consumidor, pasando por
todas las acciones, no sólo las que incluyen el proceso de manufactura del
producto, sino también las actividades administrativas y comerciales, en especial
las que tienen que ver con el ciclo de atención al cliente incluyendo todo servicio
posterior.
2. Normas ISO aplicadas al comercio electrónico.
2.1. Listado de estándares, métodos y guías. CMMI (Capability Maturity Model Integration) Integración de Modelos de Madurez de Capacidades. Estudia
los procesos de desarrollo de software de una organización y produce una
evaluación de la madurez de la organización según una escala de cinco
INGENIERÍA DE SOFTWARE II
15 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
niveles. Es el modelo de mejora continua de desarrollo de software mas
conocido y distribuido a nivel mundial.
Modelo I.T. MARK . Su objetivo es brindar un sello de calidad para
pequeñas y medianas empresas de Tecnologías de la Información, que
acredita su madurez y capacidad.
También tiene como objetivo mejorar la efectividad organizacional y el
éxito en el mercado mediante la mejora de sus procesos. El servicio
proporciona conocimiento sobre las capacidades técnicas y gerenciales de
la organización a través de la identificación de fortalezas y debilidades, así
como del descubrimiento áreas a mejorar de acuerdo con sus metas de
negocio
Trillium Software System. Perfilado, Calidad y Gobierno de Datos. Con
más de 1.500 clientes en todo el mundo Trillium Software es el proveedor
global líder en soluciones de Data Quality, Data Profiling y Data Governance
según los principales analistas independientes. La solución, integrada por TS
Discovery, TS Quality y TS Enrichment, proporciona una plataforma
completa para gestionar la calidad de datos empresarial, capaz de dar
soporte simultáneo a todos los procesos y aplicaciones, tanto planificados
como en tiempo real, lo que incrementa el valor de los activos de
información en cada fase del ciclo de Inteligencia de Negocio, así como en
entornos e-business, CRM, ERP y MDM. Su interfaz gráfico y cuadros de
mando permiten tanto a usuarios de negocio como de IT asegurar y
monitorizar que la información es correcta, completa y válida para los
propósitos de la organización.
Trillium Software System® proporciona una gama completa de productos
que ayudan a las empresas a crear y mantener, de forma continuada,
información de alta calidad a lo largo de todos sus sistemas empresariales.
TickIT. Además de mejorar la calidad del software, uno de los principios de
TickIT es mejorar y regular el comportamiento de auditores que trabajan en
el sector de tecnología de información a través de entrenamiento, y la
certificación subsiguiente de auditores. El registro internacional de
auditores certificados maneja el registro para los auditores de TickIT.
El Software Process Assessment (SPA) y el proyecto SPICE. tienen sus
orígenes en el creciente uso y dependencia de la Tecnología de Información
que en consecuencia dió el incremento de frustración e incumplimiento de
expectativas por parte de los desarrolladores y los usuarios de software.
Al principio de los 80´s, los militares de E.U. y del Reino Unido se
propusieron mejorar el mecanismo de selección de proveedores de
software con el objetivo de detener el creciente costo de software, reducir
riesgos en su desarrollo y mejorar la calidad de los productos de software.
INGENIERÍA DE SOFTWARE II
16 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
3. Modelos de mejora de procesos aplicados a PYMEs.
4. CMMI.
4.1. ¿Qué es CMMI? Tener disciplina, al momento de crear un software en una empresa, es todavía muy inmaduro cuando: ya que estamos acostumbrados a la desorganización y a la falta de planificación y por lo tanto a tener que resolver lo mal hecho el día anterior. En cambio una empresa madura el proceso de elaboración de software está claramente definido, todo está planeado y no deja espacio para ambigüedades. Es decir que es predecible en cuanto a la calidad, tomando en cuenta el costo y los resultados seguros que se obtienen y no olvidemos que si existe una falla se detecta ya que todo el tiempo se encuentra la empresa en una mejora continua. Un proceso de mejora continua, es un conjunto de guías y técnicas que permiten incrementar continuamente la madurez de un proceso. Modelo de procesos, es una colección estructurada de prácticas que describe las características de un proceso efectivo, ya las prácticas incluidas son aquellas que han probado ser efectivas en la práctica. Un modelo de procesos ayuda a definir prioridades, diseñar procesos estables capaces y maduros. Son importantes los modelos de procesos, porque permiten tener una idea clara para iniciar el proceso de mejora, un lenguaje común y una visión compartida. Por tanto CMMI, Es un estándar de facto basado en las mejores prácticas de cientos de proyectos de desarrollo de software. El CMMI se utiliza en la mejora de procesos como:
• Una colección de mejores prácticas.
• Un marco para organizar y priorizar actividades.
• Soporte para la coordinación de actividades multidisciplinarias que pueden
ser necesarias para construir un producto de manera exitosa.
• Una forma de enfatizar el alineamiento de los objetivos de mejora de
procesos con los objetivos de negocio de la organización.
4.2. Clasificación del CMMI
ESTRUCTURA DEL MODELO.
Por medio de dos tipos de representaciones es como existe el modelo: Escalonada o por pasos y Continua. Ambas representaciones proveen esencialmente el mismo contenido y
componentes del modelo, pero se organizan de diferente manera.
INGENIERÍA DE SOFTWARE II
17 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
COMPONENTES DEL MODELO. Objetivo genérico. Asociados a un nivel de capacidad establecen lo que una
organización debe alcanzar en ese nivel de capacidad.
Objetivo específico. Se aplican a única área de proceso y localizan las
particularidades que describen qué se debe implementar para satisfacer el
propósito del área de proceso.
COMPONENTES ESPERADOS. Práctica genérica. Se aplica a cualquier área de proceso porque puede mejorar el
funcionamiento y el control de cualquier proceso.
Práctica específica. Es una actividad que se considera importante en la realización
del objetivo específico al cual esta asociado.
COMPONENTES INFORMATIVOS.
• Propósito. Describe el propósito del área de proceso.
• Notas introductorias. Describe los principales conceptos que aborda el área
de proceso.
• Áreas de proceso relacionadas. Esta sección provee referencias a áreas de
proceso relacionadas y una visión general de sus relaciones.
• Productos de trabajo típicos. Ejemplos de productos resultantes de las
prácticas específicas.
• Sub-prácticas. Descripción detallada que sirve como guía para la
interpretación de una práctica genérica o específica.
• Ampliaciones de disciplina. Información relevante de un disciplina
particular relacionada con una práctica específica.
• Elaboraciones de prácticas genéricas. Es una guía de cómo la práctica
genérica debe aplicarse al área de proceso.
INGENIERÍA DE SOFTWARE II
18 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
¿Qué es IBM Rational? IBM Rational Software es una suite de soluciones de software
diseñadas para administrar el ciclo de vida de desarrollo de aplicaciones. Permite tomar el
control del ciclo completo de desarrollo, aportando gobernabilidad, mientras se reducen
costos y aumenta la productividad. No importa si el desarrollo de las aplicaciones se hace
internamente, por terceros o empaquetadas.
INGENIERÍA DE SOFTWARE II
19 PROFESOR. MSC. JOSÉ ANTONIO ROSALES BARRALES ALUMNO: ARTURO GONZÁLEZ PRECIADO
Ensayo de Importancia de los requerimientos relacionados con la Seguridad.
Por Donald Firesmith, Senior Member of the Technical Staff Acquisition Support Program Generalmente se piensa que los requisitos al momento de aplicarlos, sin embargo no es esto cierto. Los requerimientos por lo general no especifica adecuadamente la seguridad y los problemas relacionados con la seguridad que el sistema debe prevenir. De acuerdo a Nancy Levenson, reconocida experta en seguridad de software, hasta el 90 por ciento de todos los problemas relacionados con la seguridad, son provocados porque en los requerimientos no fueron contemplados o fueron insuficientes. Por ejemplo los documentos relacionados con los requerimientos generales no se especifica lo que el sistema debe hacer en base:
• Los activos valiosos son perjudicados.
• Los accidentes y los ataques se producen.
• Las vulnerabilidades del sistema interno existen.
• Personas externas abusan explotando estas vulnerabilidades.
Por lo tanto al conformar muy bien los requerimientos es de gran posibilidad de que la seguridad también sea parte en el desarrollo del software, y por tanto será mucho más seguro que en esta materia no se generen problemas que pueden llegar a costar mucho tiempo, dinero y esfuerzo, y por tanto el software no sea de calidad.