Universidad Tecnológica del Norte



Descargar 24,75 Kb.
Fecha de conversión01.08.2017
Tamaño24,75 Kb.
  • Calidad en Software:
  • Proceso de Ingeniería de Software
  • Dr. Cuauhtémoc Lemus Olalde
  • Centro de Investigación
  • en Matemáticas A. C.
  • (CIMAT)
  • Febrero, 2003
  • Universidad
  • Tecnológica
  • del Norte
  • de Guanajuato
  • Cuarta Expo
  • Informática

Calidad

  • Conjunto de cualidades (etimología similar) de una persona ó cosa
    • Lo que hace que una persona o cosa sea lo que es
    • Propiedad, carácter
    • Atributo, don, virtud, modalidad
  • Superioridad, excelencia de alguna cosa
  • Importancia
  • Calificación
    • Calidad de vida
    • Calidad de la educación
    • Calidad del servicio
  • Educación de los hijos

Que se esta haciendo en Calidad del Software?

  • Adopción de modelos y estándares
    • CMM
    • SPICE
    • ISO 9001, etc.
  • Mejoramiento de procesos de software a través de técnicas y métodos estadísticos
    • PSP (Personal Software Process)
    • TSP (Team Software Process)
    • Seis Sigma Software
  • Desarrollo de Software (Calidad del Producto)
    • Arquitectura de Software
    • Líneas de Productos

Perspectiva General

  • La Ingeniería de Software es una disciplina que estudia metodologías y enfoques de desarrollo de sistemas a gran escala.
  • Integrar a IS metodologías de organización y administración para formar una ambiente de IS basada en procesos.

Historia

  • En sus inicios IS se enfocó a aspectos técnicos:
    • metodologías de programación,
    • lenguajes de programación,
    • modelos de desarrollo de software
    • herramientas
  • En la industria el rol importante paso de los programadores a líderes de proyecto y administradores empresariales

Historia

  • Los programadores requieren de tecnologías de programación.
  • Los administradores y requieren de metodologías y estrategias.
  • Los líderes de proyecto requieren de metodologías de calidad (aseguramiento de la calidad)
  • Aspectos actuales de IS:
    • Metodología e Infraestructura de Desarrollo
    • Organización
    • Administración

Historia

  • Las actuales metodologías de IS son inadecuadas.
  • Se requiere de un proceso de Ingeniería de Software.
  • Un proceso de IS incluye:
    • Prácticas empíricas de Desarrollo (Métodos, Modelos, Enfoques, Etapas)
    • Modelo Abstracto de las actividades de desarrollo.
    • Metodologías de Ingeniería para el desarrollo, organización y administración de sistemas a gran escala.

Modelos de Procesos de IS

  • CMM (Capability Maturity Model)
  • ISO 9001
  • BOOTSTRAP
  • ISO/IEC 15504 (SPICE – Software Process Improvemente ?)
  • Modelo vs. Ciclo de Vida
    • El modelo consiste de fases o etapas y esta orientado al desarrollo de software, y el modelo consiste de procesos cubriendo todas las practicas en un proyecto de software (organización, administración y desarrollo)

Modelos de Procesos de IS

  • Esfuerzos de investigación (Humprey 95, Kugler & Rementeria 95, Pfleeger 98) indican un cambio de enfoque:
    • En lugar de controlar la calidad en el producto final de software, se optimizará el proceso del cual se produce el software.
  • Actualmente el desarrollo de aplicaciones de software son proyectos de software (un solo sistema), pero el proceso podría definirse, estabilizarse, reutilizarse y estandarizarse.

Definición IS (1969)

  • Ingeniería de Software
    • Establecimiento y uso de principios de ingeniería para obtener software económico que es confiable y funciona eficientemente (Naur & Randell 69)
  • Características
    • Complejidad y diversidad
    • Dificultad en establecer y estabilizar los requerimientos
    • Software es cambiante (maleable)
    • Abstracción e intangibilidad de los productos de software
    • Requisito de variar conocimiento del dominio del problema
    • Diseño no-determinístico y con soluciones múltiples
    • Uso de varios lenguajes y polimorfismo en la implementación
    • Dependencia en las interacciones entre software, hardware y el usuario

Definición IS (1991)

  • Ingeniería de Software es la ciencia y arte de especificar, diseñar, implementar y evolucionar, en forma económica, a tiempo y elegante, programas, documentación, y procedimientos operativos para que las computadores puedan ser útiles (McDermid 91)
  • IS-69: es un método para el desarrollo de software
  • IS-91: una ciencia y arte de programación.

Definición (1998)

  • Ingeniería de Software es una disciplina que adopta enfoques tales como
    • Metodologías
    • Procesos
    • Herramientas
    • Estándares
    • Métodos de Organización
    • Métodos de Administración
    • Sistemas de aseguramiento de calidad
  • Para desarrollar software a gran escala con una alta productividad, bajo costo, calidad controlada, y agendas de desarrollo mensurables.

Comparando Definiciones de IS

  • Def.
  • Naturaleza
  • Significado
  • Objetivo
  • Atributos
  • 1969
  • Un método
  • Principios genéricos de IS
  • Software
  • 1991
  • Ciencia y arte
  • Ciclo de vida:
  • Especificación
  • Diseño
  • Implementación
  • Evolución
  • Programas y documentos
  • Económico
  • Oportuno
  • Elegante
  • 1998
  • Una disciplina de Ingeniería
  • Enfoques:
  • Metodologías
  • Procesos
  • Herramientas
  • Estándares
  • Organización
  • Administración
  • Calidad
  • Software a gran escala

Productos de Software vs. Productos Físicos

  • La revolución industrial se oriento a la producción en masa a través de maquinaria y procesos estándares y componentes (Marshall 38)
  • El desarrollo de sistemas de software es una revolución que transforma el procesamiento de información y partes de un producto físico en software.

Metodologías de Programación

  • Principios
      • Abstracción
      • Esconder Información
      • Descomposición Funcional (50s)
      • Modularización
      • Reutilización
      • Programación Estructurada (70s)
      • Abstract Data Types (74)
      • Lenguajes Orientados a Objetos (80s)
      • Component Base Programming (COTS – Components of the Shelf)

Modelos de Desarrollo de Software

  • El modelo intenta proveer un conjunto de guías para el diseño e implementación del sistema.
    • Modelo de Cascada (Royce 70)
    • Prototipos (Curtis y colegas 87)
    • Espiral (Boehm 88)
    • V (GMOD 92)
    • Evolucionario (Lehman 85, Gilb 88, Gustavsson 89)
    • Incremental (Mills y colegas 80)

Automatización de IS

  • Aplicación de inteligencia artificial y técnicas de basadas en el conocimiento.
  • Categorías de Herramientas:
    • CASE (Computer Aided Software Engineering)
    • Unified Modeling Language
      • Facilitan la automatización de las etapas de diseño y generación de código.
  • Problemas Principales
    • Adquisición y especificación de requerimientos
    • Representación del conocimiento de una aplicación
    • Pruebas de corrección de una implementación

Clasificación de Herramientas de IS

  • Categoría
  • Subcategoría
  • Comentarios
  • Análisis de Sistemas
  • Desarrollo de Software
  • Análisis y Especificación de Requerimientos
  • Análisis de Requerimientos, Representación del conocimiento de un dominio, especificación, etc.
  • Programación
  • Compiladores, Debuggers, generadores de código, sistemas de reutilización, ambientes de programación, etc.
  • Prueba
  • Modular, Integración, sistema, aceptación, prototipos, objetos, interfase, etc.
  • Mantenimiento
  • Reverse Engineering, Re-ingeniería, librería de reutilización, análisis estático y dinámico, etc.
  • CASE
  • UML, ClearCase, Analystsw Toolkit, Automate+, BachmanSet, Excelerator, IEW, LBMS, Maestro, Oracle CASE, Select, System Architect, Top CASE, Unis SCCS, Yourdon ADT, Rational, etc.

Enfoques de IS

  • Enfoque
  • Descripción
  • Técnica
  • Organización
  • Administración
  • Programación
  • H
  • L
  • L
  • Modelos de
  • Desarrollo
  • Cascada
  • Espiral
  • Prototipos
  • H
  • M
  • L
  • Automatizar IS
  • CASE
  • UML
  • H
  • L
  • L
  • Métodos Formales
  • CSP
  • SDL
  • Z
  • Clean Room
  • H
  • L
  • L
  • Procesos de IS
  • CMM
  • Trillium
  • BOOTSTRAP
  • ISO/IEC 15504
  • H
  • H
  • H

Comentarios

  • Las áreas de organización y administración no han recibido mucha atención en cada uno de los enfoques.
  • Los procesos de IS consideran infraestructuras
    • Sistemáticas
    • Organizacionales
    • Administrativas
  • El software es cada vez más complejo, de gran tamaño, y de mejor calidad

El Proceso de IS

  • Un proceso se describe como un conjunto de actividades que transforman una entrada para crear una salida.
  • El proceso de IS transforma requerimientos parea crear un producto de software.
  • Proceso de Software
    • Método de Administración de Software ( Gilb 88, Humphrey 89)
    • Enfoque de aseguramiento de calidad (Evans & Marciniak 87, ISO 91)
    • Técnicas de desarrollo de software (Curtis 87, Fayad 97)

El Proceso de IS

  • Nueva disciplina de Proceso de Ingeniería de Software
    • Desarrollo de CMM
    • ISO 9000
  • Proceso de IS
    • Fundamentos
    • Modelo
    • Establecimiento
    • Evaluación
    • Mejoramiento
    • Estandarización
  • … de procesos de software

Definición de Proceso de IS

  • Conjunto de prácticas secuenciales que son funcionalmente coherentes y reutilizables en la organización, implementación y administración de la ingeniería de software.

Historia Proceso de IS

  • Ingeniería de Software & Ciencia de la Administración
    • 60s:Ingeniería de Procesos y principios de administración en Ciencia de la Administración (Simon 60, Schein 61, Ellis & FRed 62, Juran 62, Anthony 65, Richardson 66, Hall 67)
    • 70s & 80s: Establecimiento de Ciencia de la Administración de acuerdo a la tabla de de Fundamentos Administrativos.

Historia Proceso de IS

  • Conformidad de la calidad a los requisitos y a las especificaciones (Crosby 79, Juran 80, Deming 82)
    • Círculo de Deming (Plan-Do-Check-Act PDCA) propuesto en Ciencia de la Administración: Modelación y Análisis de Procesos de Software.
  • Proyecto ISO TC176 para desarrollar un estándar internacional de sistemas de calidad (ISO 9000 91,93,94) aplicable ingeniería e implementado en IS (IS0 9001 89,94)

Historia Proceso de IS

  • 70s: Crisis de Software (Naur & Randell 69, Baker 72, Brooks 75, Hoare 75)
  • 80s: Proceso de Software se reconoce como un arma de la Ingeniería de Software (Basili 80, Aron 83, Agresti 86, Evans 87, Boehm 81,86,87, Gilb 88, Humphrey 87, 88, 89)
  • Desarrollo del Modelo CMM (Humphrey 87, Paulk 93)
  • 80s: Otros Modelos:
    • IEEE Software Engineering Standard (IEEE 83)
    • British Standard BS 5750 (BSI 87)

Métodos y Procesos de IS Actuales

  • TickIT
  • ISO 9001 (1)
  • CMM (2)
  • BOOTSTRAP
  • ISO/IEC 12207
  • ISO/IEC TR 15504 (SPICE) (3)
  • BSI
  • Trillium

Taxonomía y Dominios en los Modelos Actuales

  • Nivel
  • CMM
  • Bootstrap
  • SPICE
  • ISO 9001
  • SEPRM
  • Sistema
  • CMM
  • Bootstrap
  • SPICE
  • ISO 9001
  • SEPRM
  • Sub-sistema
  • -
  • Areas de Proceso [3]
  • -
  • Sub-sistemas [3]
  • Sub-sistemas [3]
  • Categoría
  • Niveles [5]
  • Categorías [9]
  • Categorías
  • (PCs)
  • [5]
  • -
  • Categorías {12]
  • Proceso
  • Areas Prácticas (KPAs) [18]
  • Procesos [32]
  • Procesos (PRs) [35]
  • Tópicos Principales de Areas (MTAs) [20]
  • Procesos [51]
  • Práctica
  • Prácticas (KPs) [150]
  • Atributos de Calidad (QSAs) [201]
  • Prácticas Base (BPs) [201]
  • Aspectos de Admon. (MIs)
  • [177]
  • Actividades de Procesos (BPAs) [444]

Modelo de Calidad ISO 9126

  • Característica
  • Atributo
  • Funcionalidad
  • Conveniente, exactitud, interoperabilidad, seguridad
  • Confiabilidad
  • Maduro, tolerancia a fallas, recuperabilidad
  • Utilidad
  • Eficiencia
  • Comportamiento en el tiempo, Comportamiento de los recursos
  • Fácil de Mantener
  • Portabilidad
  • Fácil de adaptarse, instalarse, adecuarse, reemplazarse.

Modelo Genérico del Desarrollo de Software

  • Clientes
  • Procesos de
  • Desarrollo
  • Procesos de
  • Administración
  • Desarrolladores
  • Administradores
  • Proceso de Organización

Implementación del Modelo Genérico

  • Proceso de
  • Organización
  • Modelo de
  • Referencia
  • Proceso
  • Derivado
  • del
  • Modelo
  • de
  • Referencia
  • Proceso de
  • Administración
  • Proceso de
  • Desarrollo
  • Proyecto 1
  • Proceso
  • Derivado
  • del
  • Modelo
  • de
  • Referencia
  • Proceso de
  • Administración
  • Proceso de
  • Desarrollo
  • Proyecto n
  • organización
  • proceso

IngSoft@CIMAT

  • Proyecto ProCIS (Promoviendo Calidad en la Industria del Software)
    • Cultura de Calidad: Universidades e Industria (PSP, TSP)
    • Investigación
      • Arquitecturas de Software (Líneas de Productos)
      • Proceso de IS (CMMi, SPICE, PSP, TSP, Seis-Sigma Software)
    • Maestría en Ingeniería de Software (MIS)

Literatura

  • Yingxu Wang, Software Engineering Processes: Principles and Applications, Boca Raton, CRC Press 2000.
  • Paulk, M. C., y colegas, “CMM Versus SPICE Architectures”, Software Process Newsletters, Spring 1994, pp. 7-11.
  • Paulk, M. C., “How ISO 9001 Compares with the CMM”, IEEE Software, January 1995, pp. 74-83.
  • Jarvinen, J., “On Comparing Process Assessment Results: BOOTSTRAP and CMM”, Software Quality Management, pp. 247-262, 1994.
  • Kugler, H. J., y colegas, “From the Software Process to Software Quality: BOOTSTRAP and ISO 9000”, Proceedings of the First Asia-Pacific Software Engineering Conference, Tokyo, Japan, IEEE Computer Society Press, pp. 174-182.1994.
  • Kitson , D. H., “” Relating the SPICE Framework and SEI Approach to Software Process Assessment” Proceedings of International Conference on Software Quality Management (SQM’96), MEP Press, London 1996, pp. 37-49.
  • Hoare, C. A. R., Communicating Sequential Processes, Prentice-Hall International, Englewood Cliffs, NJ., 1985.
  • Milner, R., Communicating and Concurrency, Prentice-Hall, Englewood Cliffs, NJ., 1989.
  • Humphrey, W. S., A Discipline for Software Engineering, SEI Series in Software Engineering, Addison-Wesley, Reading, MA., 1995.
  • Pressman, R. S., Software Engineering: A Practitioner’s Approach (3rd ed.), MacGraw-Hill International Editions, New York 1992.
  • Fondo Mixto de Fomento a la Investigación Científica y Tecnológica CONACYT-Gobierno del Estado de Guanajuato Programa para el desarrollo de la Industria de Software http://www.conacyt.mx/fondos/guanajuato/guanajuato2002-01.html
  • Preguntas?
  • Dr. Cuauhtémoc Lemus Olalde
  • clemola@cimat.mx
  • www.cimat.mx/ingsoft
  • Febrero, 2003


La base de datos está protegida por derechos de autor ©absta.info 2016
enviar mensaje

    Página principal