Tarea 1

19
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

Transcript of Tarea 1

Page 1: 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

Page 2: Tarea 1

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

Page 3: Tarea 1

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.

Page 4: Tarea 1

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.

Page 5: Tarea 1

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

Page 6: Tarea 1

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.

Page 7: Tarea 1

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.

Page 8: Tarea 1

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.

Page 9: Tarea 1

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.

Page 10: Tarea 1

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.

Page 11: Tarea 1

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:

Page 12: Tarea 1

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.

Page 13: Tarea 1

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

Page 14: Tarea 1

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

Page 15: Tarea 1

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.

Page 16: Tarea 1

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.

Page 17: Tarea 1

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.

Page 18: Tarea 1

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.

Page 19: Tarea 1

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.