You are on page 1of 46

Curso: Ingeniera de Software II

Clase 1: Introduccin al curso de IS-II


Profesor: Ing. Luis Eduardo Santos Salazar

Introduccin

El DRAE (Diccionario de la Real Academia de la lengua Espaola) define:

Ingeniera: estudio y aplicacin, por especialistas, de las diversas ramas de la tecnologa. Ingeniero: persona que aplica los conocimientos de una o varias ramas de la ciencia para resolver cierto tipo de necesidad de la gente, mediante el diseo, construccin u operacin de algn tipo de artefacto.

Introduccin

Por tanto, aplicar a la enseanza de la Informtica y de la IS una perspectiva de ingeniera significa, principalmente, inculcar en los estudiantes y futuros profesionales, que el objetivo de su profesin es disear, construir y hacer que funcionen cierto tipo de sistemas que sirven para resolver problemas de la gente. El foco de atencin debera estar en esto ltimo, que es la razn de ser de cualquier ingeniera: resolver problemas de la gente.

Introduccin

A diferencia de otras ramas de la ingeniera, los ingenieros de software se dedican a sistemas discretos e inmateriales mientras que los dems ingenieros trabajan con sistemas continuos (casi siempre) y de naturaleza material. stos no tienen, para bien o para mal, unas leyes de la naturaleza en qu basarse, manifestadas en forma de conocimiento cientfico (fsica, qumica, etc.). Por ello, muchos ingenieros de software mueren de xito, al confundirse sus xitos con sus fracasos.

Introduccin

Una persona a cargo de un proyecto industrial que debe producir 600 u en un da (en base a la especificacin de productividad de la mquina) podr justificar una produccin de 300 u si la mitad del tiempo la mquina estuvo parada. En cambio, a un informtico a cargo del desarrollo de un software, no le ser tan sencillo justificar la produccin de 300 lneas de cdigo en un tiempo para el cual se estimaron 600. Y es que, los desarrolladores no son mquinas, son personas, que producen ideas y no cosas.

Introduccin

Ello se complica cuando el informtico no cuenta con un enfoque ingenieril. Por suerte, para ello existe la ingeniera de software. As, la Ingeniera de Software (IS), es un tipo especial de ingeniera, la cual se encuadra, dentro del campo de conocimientos llamado informtica. La IEEE la define como la aplicacin de un enfoque sistemtico, disciplinado y cuantificable al desarrollo, operacin, y mantenimiento del software; es decir, la aplicacin de los principios y hbitos de la ingeniera de software.

Introduccin

La IS (Ingeniera de software) divide su cuerpo de conocimientos en dos grandes grupos:


1.

Los relacionados al ciclo de desarrollo (cinco reas)


1. 2. 3.

4.
5.

Requisitos Diseo Construccin Pruebas Mantenimiento

2.

Los que trascienden al ciclo de perspectiva de ingeniera (cinco reas)


1. 2. 3. 4. 5.

desarrollo

Gestin de la Configuracin del Software Gestin de IS Proceso de IS Herramientas y Mtodos de IS Calidad del Software

Introduccin

Por lo general, los cursos de Ingeniera de software que se dictan en las universidades e institutos tcnicos le dan un gran peso al ciclo del desarrollo, es decir, a las cinco primeras reas de conocimiento de la IS, descuidando aquellas relacionadas con la perspectiva de ingeniera. En tal sentido, el curso de Ingeniera de Software II pretende restablecer el balance necesario que permita dotar a los estudiantes de un nivel adecuado de profundizacin en todas las reas de conocimiento de la IS, haciendo hincapi en las cinco reas restantes (relacionadas con la perspectiva de ingeniera), que les permita a stos mejorar sus capacidades y habilidades profesionales, en beneficio de sus propios intereses y los de la sociedad en general.

Introduccin

Respecto del papel social que debe jugar el ingeniero informtico, Dahlboom y Mathiassen han identificado tres posturas diferentes que podr o tendr que adoptar un informtico durante su ejercicio profesional: El ingeniero de desarrollo, que es aquel que construye artefactos software o hardware, El personal de soporte, que es quien ayuda a los dems a usar aquellos artefactos que otros desarrollaron, y El consultor, que ayuda a cambiar las cosas con el uso de lo que fue desarrollado antes.

Introduccin

En tal sentido, el ingeniero informtico debe estar preparado para asumir cualquiera postura. As, es importante destacar la necesidad de desarrollar en los estudiantes capacidades que les permitan ello, de tal manera que stos se encuentren preparados para, desde una perspectiva ingenieril, gestionar los procesos que se les encomienden, en base a los conocimientos adquiridos y criterios desarrollados respecto a cada una de las disciplinas que integran el campo de la informtica. Siendo la ingeniera de software una de ellas (conjuntamente con la Ciencia de la Computacin, Ingeniera de Computadores, Sistemas de Informacin y Tecnologas de la Informacin), es necesario primero identificar aquellos procesos que se relacionan con el ciclo de vida del software.

Procesos del Ciclo de Vida Software Normas ISO

Uno de los principales problemas a resolver de los departamentos de sistemas de informacin es definir un marco de referencia comn que pueda ser empleado por todas las personas que participan en el desarrollo de los sistemas, y en el que se definan los procesos y las actividades o tareas a desarrollar. A lo largo de la historia se han propuesto diferentes paradigmas o ciclo de vida para el software. As, las organizaciones y organismos internacionales han venido proponiendo normas en relacin a dicho ciclo de vida.

Procesos del Ciclo de Vida Software Normas ISO

Los principales estndares relacionados con los ciclos de vida propuestos por las normas ISO son: ISO 12207, que entiende por modelo de ciclo de vida un marco de referencia que contiene los procesos, actividades y las tareas involucradas en el desarrollo, la explotacin y el mantenimiento de un producto software, abarcando la vida del sistema desde la definicin de los requisitos hasta la finalizacin de su uso.

Procesos del Ciclo de Vida Software Normas ISO

Los principales estndares(continuacin): ISO 15288, el cual define el ciclo de vida de los sistemas como la evolucin en el tiempo de un sistema de inters desde su concepcin hasta su retirada, destacando que un modelo de ciclo de vida es un marco de procesos y actividades relativas al ciclo de vida que acta tambin como una referencia comn para la comunicacin y para el entendimiento

ISO 12207 - Procesos

ISO 12207: las actividades que se pueden realizar durante el ciclo de vida del software se agrupan en procesos principales, procesos de soporte y procesos generales (de la organizacin), as como un proceso que permite adaptar los procesos del estndar a cada caso concreto. Hay que destacar que la norma no fomenta o especifica ningn modelo concreto de ciclo de vida, gestin del software o mtodo de ingeniera, ni prescribe cmo realizar ninguna de las actividades.

ISO 12207 - Procesos


PROCESOS PRINCIPALES
ADQUISCIN SUMINISTRO DESARROLLO EXPLOTACIN MANTENIMIENTO

PROCESOS DE SOPORTE
DOCUMENTACIN GEST. DE LA CONFIGURACIN ASEGURAMIENTO DE CALIDAD VERIFICACIN VALIDACIN REVISIN CONJUNTA

PROCESOS ORGANIZACIONALES
GESTIN INFRAESTRUCTURA MEJORA RECURSOS HUMANOS GESTIN DE ACTIVOS GEST. PROG. REUTILIZACIN INGENIERA DE DOMINIO

AUDITORA GEST. RESOLUC. PROBLEMAS USABILIDAD EVALUACIN DE PRODUCTO GEST. PETICIONES DE CAMBIO

PROCESO DE ADAPTACIN

ISO 12207 Procesos Principales

Procesos Principales: son aquellos que son tiles a las personas que inician o realizan el desarrollo, la explotacin o el mantenimiento del software durante su ciclo de vida. Los procesos principales son: procesos de adquisicin, procesos de suministro, procesos de desarrollo, procesos de explotacin y procesos de mantenimiento. A continuacin se explican cada uno de ellos.

ISO 12207 Procesos Principales


PROCESOS PRINCIPALES
ADQUISCIN SUMINISTRO DESARROLLO EXPLOTACIN MANTENIMIENTO

ISO 12207 Procesos Principales

Procesos Principales:

Proceso de Adquisicin: el propsito de este proceso es obtener el producto o servicio que satisface la necesidad expresada por el cliente. Este proceso consta de cuatro subprocesos: preparacin de la adquisicin, seleccin de proveedor, supervisin del proveedor y aceptacin del cliente. Proceso de Suministro: el propsito de este proceso es proporcionar un producto o servicio al cliente, que satisfaga los requisitos acordados. Proceso de Desarrollo: el propsito de este proceso es transformar un conjunto de requisitos en un producto o sistema basado en software que satisface las necesidades planteadas por el cliente. Debido al inters que tiene el Proceso de Desarrollo, se resume a continuacin sus principales subprocesos.

ISO 12207 Procesos Principales

Procesos Principales:

Proceso de Desarrollo (continuacin):


Elicitacin de requisitos, cuyo objetivo es recopilar, procesar y seguir la traza de las necesidades del cliente a lo largo del ciclo de vida del producto, o servicio, as como establecer una lnea de configuracin (lnea de base o baseline) que sirva como base para definir los productos de trabajo necesarios. Anlisis de Requisitos del Sistema, cuyo objetivo es transformar los requisitos definidos por los participantes o implicados, en un conjunto de requisitos tcnicos del sistema deseado, que guiarn el diseo del sistema.

ISO 12207 Procesos Principales

Procesos Principales:

Proceso de Desarrollo (continuacin):


Diseo Arquitectnico del Sistema, cuyo objetivo es identificar qu requisitos del sistema deben ser ubicados en los elementos del mismo. Anlisis de los requisitos del software, cuyo objetivo es establecer los requisitos de los elementos de software del sistema. Diseo del software, cuyo objetivo es proporcionar un diseo para el software que implemente los requisitos, y pueda ser verificado respecto a los mismos. Construccin del software, cuyo objetivo es producir unidades de software ejecutable que reflejen apropiadamente el diseo del software.

ISO 12207 Procesos Principales

Procesos Principales:

Proceso de Desarrollo (continuacin):


Integracin del software, cuyo objetivo es combinar las unidades de software produciendo elementos de software integrados, consistentes con el diseo software, que demuestra que se satisfacen los requisitos funcionales y no funcionales sobre una plataforma equivalente o completa. Prueba del software, cuyo objetivo es confirmar que el software integrado satisface los requisitos definidos. Integracin del sistema, cuyo objetivo es integrar los elementos del sistema (incluyendo operaciones manuales, hardware y otros sistemas) para producir un sistema completo que satisfaga las expectativas de los clientes, es decir, los requisitos y el diseo del sistema.

ISO 12207 Procesos Principales

Procesos Principales:

Proceso de Desarrollo (continuacin):


Prueba del sistema, cuyo objetivo es asegurar que la implementacin de todos los requisitos del sistemas se prueba para la conformidad y que el sistema est listo para entregar. Instalacin del software, cuyo objetivo es instalar el producto software que satisface los requisitos acordados en el entorno objetivo.

Proceso de operacin, que consiste en la operacin del producto software en su entorno final y proporcionar soporte a los clientes del mismo. Consta de dos subprocesos: uso operacional, y soporte a cliente.

ISO 12207 Procesos Principales

Procesos Principales:

Proceso de mantenimiento, que consiste en la modificacin de un sistema o producto software despus de la entrega para corregir los fallos, mejorar el rendimiento u otros atributos, o adaptarlo a un entorno modificado. Esta modificacin o la retirada de los productos existentes debe hacerse preservando la integridad de las operaciones organizacionales.

ISO 12207 Procesos Principales

Procesos de Soporte: Estos procesos sirven de apoyo al resto y se aplican en cualquier punto del ciclo de vida.
PROCESOS DE SOPORTE
DOCUMENTACIN GEST. DE LA CONFIGURACIN ASEGURAMIENTO DE CALIDAD VERIFICACIN VALIDACIN REVISIN CONJUNTA AUDITORA GEST. RESOLUC. PROBLEMAS USABILIDAD EVALUACIN DE PRODUCTO GEST. PETICIONES DE CAMBIO

ISO 12207 Procesos de Soporte

Procesos de soporte:

Proceso de documentacin: este proceso sirve para documentar (registrar y mantener) la informacin producida por un proceso del ciclo de vida. Proceso de gestin de la configuracin: este proceso sirve para establecer y mantener la integridad de todos los productos de trabajo de un proceso o proyecto y hacerlos disponibles para las partes involucradas. Proceso de aseguramiento de la calidad: este proceso asegura que los productos de trabajo y los procesos cumplen las previsiones y planes predefinidos. En la diapositiva siguiente se reflejan los resultados de este proceso segn el estndar ISO 12207.

ISO 12207 Procesos de Soporte


Resultados del Proceso de Aseguramiento de la Calidad segn ISO 12207

Se desarrolla una estrategia para llevar a cabo el aseguramiento de la calidad. Se produce y mantiene evidencia del aseguramiento de la calidad. Se identifican y registran los problemas y/o no conformidades con los requisitos acordados. Se verifica el cumplimiento por parte de los productos, procesos y actividades de los estndares, procedimientos y requisitos aplicables

ISO 12207 Procesos de Soporte

Procesos de soporte:

Proceso de verificacin: este proceso sirve para confirmar que todos los productos de trabajo y/o servicios software de un proceso o proyecto reflejan de forma apropiada los requisitos especificados. Proceso de validacin: este proceso sirve para confirmar que se cumplen los requisitos para el uso pretendido del producto de trabajo software. Proceso de revisin conjunta: sirve para mantener un constante entendimiento comn entre las diferentes partes involucradas sobre el progreso respecto de los objetivos del acuerdo y lo que debe hacerse para ayudar a asegurar el desarrollo de un producto que las satisfaga. Debe darse a nivel de gestin y a nivel tcnico, a lo largo de la vida del proyecto.

ISO 12207 Procesos de Soporte

Procesos de soporte:

Proceso de auditora: permite determinar la conformidad de los productos y procesos seleccionados con los requisitos, planes y acuerdos, respecto a la normas, de forma independiente. Proceso de gestin de la resolucin de problemas: este proceso permite asegurar que todos los problemas descubiertos se identifican, analizan, gestionan y controlan hasta su resolucin. Proceso de usabilidad: permite asegurar que se consideren los intereses y necesidades de los involucrados (en base a sus capacidades y limitaciones), mejorando as las condiciones del trabajo humano y reduciendo el rechazo del usuario al sistema, con el consiguiente incremento de la productividad y la calidad de trabajo.

ISO 12207 Procesos de Soporte

Procesos de soporte:

Proceso de evaluacin de productos: este proceso permite asegurar, mediante evaluaciones y mediciones sistemticas, que un producto satisface las necesidades implcitas y explcitas de sus usuarios. Proceso de gestin de las peticiones de cambio: el propsito de este proceso es asegurar que las peticiones de cambio son gestionadas, sometidas a seguimiento y controladas.

ISO 12207 Procesos Organizacionales

Procesos Organizacionales: se emplean, fuera del mbito de proyectos y contratos especficos, para establecer, implementar y mejorar la organizacin, a fin de optimizar su efectividad.
PROCESOS ORGANIZACIONALES
GESTIN INFRAESTRUCTURA MEJORA RECURSOS HUMANOS GESTIN DE ACTIVOS GEST. PROG. REUTILIZACIN INGENIERA DE DOMINIO

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de gestin: este proceso persigue organizar, monitorizar y controlar el inicio y el desempeo de cualquier proceso para conseguir los objetivos de negocio de la organizacin. Este proceso sirve para asegurar la aplicacin consistente de prcticas para la organizacin y los proyectos. Estas prcticas son inherentes a la gestin de una organizacin pero deben concebirse para ser instanciadas para cada uno de los proyectos. Debido al inters que tiene este proceso para la gestin de la calidad, se resumen en las siguientes diapositivas sus principales subprocesos.

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de gestin (continuacin):


Alineamiento organizacional, cuyo objetivo es asegurar que los procesos software necesarios (para la organizacin) para proporcionar productos y servicios software sean consistentes con los objetivos del negocio. Gestin organizacional, cuyo objetivo es establecer y llevar a cabo las prcticas de gestin del software que sean consistentes con los objetivos de negocio de la organizacin, durante la realizacin de los procesos necesarios para proporcionar productos y servicios software.

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de gestin (continuacin):


Gestin de Proyectos, cuyo objetivo es identificar, establecer, coordinar y monitorizar las actividades, tareas y recursos necesarios para que un proyecto produzca un producto y/o servicio en el contexto de los requisitos y restricciones del proyecto. Gestin de calidad, cuyo objetivo es conseguir la satisfaccin de los clientes, monitorizando la calidad de los productos y servicios, a nivel organizacional y de proyecto, con el fin de asegurar que stos satisfagan los requisitos de los clientes. En la siguiente diapositiva se reflejan los resultados de este proceso, segn el etndar ISO 12207.

ISO 12207 Procesos Organizacionales


Resultados del Proceso de Gestin de Calidad segn ISO 12207

Se establecen objetivos de calidad basados en requisitos de calidad implcitos y explcitos definidos por el cliente. Se desarrolla una estrategia global para conseguir los objetivos definidos. Se establece un sistema de gestin de calidad para implementar dicha estrategia. Se realiza y se confirma el desempeo de las actividades de control y aseguramiento de la calidad identificadas. Se monitoriza el desempeo real respecto a los objetivos de calidad. Se toman las acciones oportunas cuando no se logran los objetivos de calidad.

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de gestin (continuacin):


Gestin de riesgos, cuyo objetivo es identificar, gestionar, analizar y controlar los riesgos de forma continua, tanto para a nivel organizacional como de proyecto. Medicin, cuyo objetivo es recopilar y analizar datos relacionados con los procesos implementados en la organizacin, as como de sus proyectos y sus productos desarrollados, para apoyar la gestin efectiva de los procesos y demostrar de forma objetiva la calidad de los productos.

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de infraestructura: permite mantener una infraestructura fiable y estable necesaria para soportar el desempeo de los otros procesos. sta puede incluir hardware, software, mtodos, herramientas, tcnicas, estndares y facilidades para el desarrollo, operacin y mantenimiento. Proceso de recursos humanos: Este proceso sirve para proporcionar a la organizacin los recursos humanos adecuados y mantener su competencia consistente con las necesidades de la empresa. Este proceso incluye tres subprocesos: Gestin de Recursos Humanos, Formacin y Gestin del Conocimiento.

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de mejora: este proceso sirve para mejorar de forma continua la eficacia y eficiencia a travs de los procesos utilizados y mantenidos de forma alineada con las necesidades de negocio. Las fuentes de informacin que pueden proporcionar las entradas para el cambio son: resultados de valoracin de procesos, auditoras, informes de satisfaccin del cliente, eficacia/eficiencia organizacional, coste de la calidad. El estado actual de los procesos podra determinarse mediante el proceso de valoracin. Se compone de tres subprocesos: establecimiento de procesos, valoracin de procesos, y mejora de procesos.

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de gestin de activos: Este proceso sirve para gestionar la vida de los activos reutilizables desde su concepcin hasta su retirada. Proceso de gestin del programa de reutilizacin: este proceso sirve para planificar, establecer, gestionar, controlar y monitorizar el programa de reutilizacin de una organizacin y explotar de forma sistemtica las oportunidades de reutilizacin. Las partes afectadas podran incluir a los administradores del programa de medicin, gestores de activos, ingenieros de dominio, desarrolladores, encargados de operacin y encargados de mantenimiento.

ISO 12207 Procesos Organizacionales

Procesos organizacionales:

Proceso de ingeniera de dominio: este proceso sirve para desarrollar y mantener modelos de dominio, arquitecturas de dominio y activos para el dominio.

ISO 12207 Procesos de Adaptacin

Procesos de adaptacin: Este proceso sirve para realizar la adaptacin bsica de la norma ISO 12207 a las necesidades concretas de los proyectos de software de la organizacin. Las variaciones en las polticas y procedimientos de la organizacin, los mtodos y estrategias de adquisicin, el tamao y complejidad de los proyectos, los requisitos del sistema y los mtodos de desarrollo, entre otros, influencian la forma de adquirir, desarrollar, explotar o mantener un sistema.

ISO 15288 - Procesos

ISO 15288: las actividades que se pueden realizar durante el ciclo de vida del software constan de procesos de acuerdo, procesos empresariales, procesos de proyecto y procesos tcnicos, as como de un proceso (de adecuacin) que permite adaptar los procesos del estndar a cada caso concreto.
PROCESOS DE ACUERDO PROCESOS DE PROYECTO PROCESOS EMPRESARIALES PROCESOS TCNICOS

PROCESO DE ADECUACIN

ISO 15288 - Procesos

Procesos empresariales, que incluyen:


Gestin del entorno empresarial, cuyo objetivo es definir y mantener las polticas y procedimientos que sean necesarios para las actividades de la organizacin, Gestin de los procesos del ciclo de vida de sistemas, cuyo objetivo es asegurar que se encuentren disponibles (para ser utilizados por la organizacin) procesos efectivos del ciclo de vida del sistema, Gestin de recursos, cuyo objetivo consiste en proporcionar recursos a los proyectos,

ISO 15288 - Procesos

Procesos empresariales (continuacin):


Gestin de la inversin, cuyo objetivo es iniciar y mantener suficientes y adecuados proyectos con el fin de conseguir los objetivos de la organizacin, Gestin de la calidad, cuyo objetivo es asegurar que los productos, servicios e implementaciones de los procesos del ciclo de vida cumplan los objetivos de calidad de la empresa y logren la satisfaccin del cliente. En la siguiente diapositiva se resumen las actividades que presenta este proceso.

ISO 15288 - Procesos


Actividades del Proceso de Gestin de Calidad segn ISO 15288

Establecer polticas, estndares y procedimientos de gestin de calidad. Establecer objetivos de gestin de la calidad de la organizacin basados en la estrategia empresarial para la satisfaccin del cliente. Definir las responsabilidades y autoridades para implementar la gestin de la calidad. Evaluar e informar sobre la satisfaccin del cliente. Llevar a cabo revisiones peridicas de planes de calidad de proyectos. Monitorizar el estado de las mejoras de calidad de los productos y servicios.

ISO 15288 - Procesos


Procesos de acuerdo: que incluyen los procesos de adquisicin y suministro. Procesos de proyecto, que sirven para establecer y hacer evolucionar planes de proyecto, valorar los logros actuales y el progreso respecto a los planes, y controlar la ejecucin del proyecto hasta su trmino. Dentro de este apartado encontramos los procesos de planificacin de proyectos, evaluacin de proyectos, toma de decisiones, gestin de riesgos, gestin de configuracin y gestin de informacin.

ISO 15288 - Procesos


Procesos tcnicos, los cuales incluyen el proceso de definicin de requisitos de las partes implicadas en el producto, anlisis de requisitos, diseo arquitectnico, implementacin, integracin, verificacin, transicin, validacin, explotacin (u operacin), mantenimiento, y retirada. Procesos de adaptacin, el cual sirve para realizar la adaptacin bsica de la norma ISO 15288 a las necesidades concretas de los proyectos de software de la organizacin.

You might also like