Академический Документы
Профессиональный Документы
Культура Документы
(1993) La aplicacin mecanismos sistemticos, disciplinados, y cuantificables para el desarrollo, operacin y mantencin de software; esto es la aplicacin de la ingeniera al software. Establecimiento y uso de principios con caracteres de ingeniera apropiados para obtener, eficientemente, software confiable, que opere eficaz y eficientemente en mquinas reales La aplicacin del arte del desarrollo software junto con las ciencias matemticas y computadores para disear, construir, y mantener programas computacionales eficientes y econmicos que logran sus objetivos.
Ing.Jose Meja Viteri Ing.Software II
Es una ciencia rigurosa con fuertes fundamentos matemticos? Es una campo tcnico bien desarrollado con mucho de disciplina de ingeniera? O est realmente en un estado primitivo...
A lo ms una serie de mejores prcticas, desarrolladores de software construyen software y si stos funcionan entonces nosotros estudiamos como ellos lo hicieron. Si stos funcionan por un largo tiempo entonces estudiamos sus procesos de software an ms Ing.Jose Meja Viteri cuidadosamente. Ing.Software II
Puede hacerlo una sola persona Requiere: Modelado mnimo Proceso simple Herramientas simples
Construida eficientemente y en un tiempo razonable por un equipo Requiere: Modelado Proceso bien definido Herramientas ms sofisticadas Ing.Jose Meja Viteri
Ing.Software II
Construccin de un rascacielos
Claves en Desarrollo de SI
Notacin
(UML)
Herramientas
(Ej: Rational Rose)
(Metodologas Ej: ITIL, Extreme Programming, RUP: Rational Unified Ing.Jose Meja Viteri Process) Ing.Software II
Proceso
envo
Proceso de Negocios
Sistema Computacional
Ing.Jose Meja Viteri Ing.Software II
Mltiples Sistemas
Componentes Reutilizados
Proximidad de los conceptos de modelado respecto de las entidades del mundo real
Mejora la captura y validacin de requisitos Acerca el espacio del problema y el espacio de la solucin
Problemas en OO
...Los conceptos bsicos de la OO se conocen desde hace dos dcadas, pero su aceptacin todava no est tan extendida como los beneficios que esta tecnologa puede sugerir
Problemas en OO
Un objeto contiene datos y operaciones que operan sobre los datos, pero ... Podemos distinguir dos tipos de objetos degenerados:
Un objeto sin datos (que sera lo mismo que una biblioteca de funciones) Un objeto sin operaciones, con slo operaciones del tipo crear, recuperar, actualizar y borrar (que se correspondera con las estructuras de datos tradicionales)
Proceso de Desarrollo de SW
Se da en un contexto y dependiendo el texto o investigador destaca ms o menos etapas. El ms completo que he visto incluye:
Investigacin Desarrollo Lanzamiento Soporte
Sueo
Tiempo
de Software No existe un proceso de software universal. Las caractersticas de cada proyecto (equipo de desarrollo, recursos, etc.) exigen que el proceso sea configurable
Ing.Jose Meja Viteri Ing.Software II
Paradigmas / enfoques para enfrentar el desarrollo del proyecto de software (Cascada, Interativo incremental) Tiempo y Costos Aspectos tecnolgicos Gestin de Proyectos
Ing.Jose Meja Viteri Ing.Software II
Etapas /de un proyecto deen un proyecto de Etapas Hitos escenciales rqueridos Software
desarrollo de software:
Confeccin de Propuesta
Estimacin de esfuerzos y planificacin del proyecto. Uso
de tcnicas (COCOMO) y estadisticas de proyectos similares al que se dessarrollar, entrevistas a personas con experiencia en proyectos similares al que se desarrollar Definicin del alcance del proyecto Costos
anlisis dinmico Ing.Jose Meja Viteri Modelos Conceptuales anlisis esttico Ing.Software II Diseo preliminar de interfaces (web, GUI, comandos,
Construccin / Codificacin
Entendimiento real del diseo ( solucin) a programar Programacin eficiente y optima del cdigo fuente Comentar en forma entendible y razonable el cdigo
fuente Construccin de programa de TEST Prueba unitaria del desarrollador mediante un programa de TEST
Capacitacin a Usuarios
Confeccin de Manuales de Usuario Reuniones con usuario final
Puesta en Produccin
Confeccin de plan de puesta en produccin
Las Metodologas pueden ser la ayuda que necesitamos, si podemos usarlas correctamente !!
Ing.Jose Meja Viteri Ing.Software II
Procesos, Metodologas
Las metodologas imponen un proceso disciplinado sobre el desarrollo de software con el fin de hacerlo ms predecible y eficiente.
XP (Programacin Extrema) La familia Cristal de Cockburn Cdigo Abierto ASD (Desarrollo de Software Adaptable) FFD (Desarrollo Manejado por Rasgos) DSDM (Mtodo de desarrollo de sistema dinmico) RUP (Rational Unified Process)
Yo no conozco todas, pero vale la pena conocer al menos una. Aquellas en rojo son la ms populares.
Ing.Jose Meja Viteri Ing.Software II
Metodologas en rea TI
Ms detalles
Construccin/Pruebas
Implementacin y Test Unitarios Integracin y test del sistema Operacin y mantencin
Tiempo
Iteracin 1
R A&D C P R
Iteracin 2
A&D C P
Iteracin 3
R A&D C P
Tiempo
Concepcin
Elaboracin
Construccin
Transicin
A& D
A& D
A& D
A& D
Construccin
Pruebas
Distribucin
D
Iteracin Preliminar Iteracin 1
D
Iteracin 2
D
Iteracin n
D
Iteracin n+1
Tiempo
Concepcin
Elaboracin
Construccin
Transicin
Tiempo
Hito Objetivos, visin Hito Arquitectura Hito Capacidad Operacional Liberacin Producto
Desarrolle Iterativamente
Use Arquitectura de Componentes
Modele Visualmente
Verifique Calidad
Objectory Process
1987-1995
UML
Primarios
De Apoyo
Entorno
Ing.Jose Meja Viteri Ing.Software II
Artefactos Es el Resultado parcial o final que es producido y usado durante el proyecto. Son las entradas y salidas de las actividades Un artefacto puede ser un documento, un modelo o un elemento de modelo Conjuntos de Artefactos
Business Modeling Set Requirements Set Analysis & Design Set Implementation Set Test Set Deployment Set Project Management Set Configuration & Change Management Set Environment Set Ing.Jose Meja Viteri Ing.Software II
Proceso Dirigido por los Casos de Uso Proceso Iterativo e Incremental Proceso Centrado en la Arquitectura
Requisitos
Anlisis & Diseo
Implementacin
Pruebas
Realizacin de Anlisis
trace
Pruebas Funcionales
X
Caso de Prueba
[The Unified Software Development Process. I. Jacobson, G. Booch and J. Rumbaugh. Addison-Wesley, 1999]
Las actividades se encadenan en una minicascada con un alcance limitado por los objetivos de la iteracin
Anlisis Diseo Codific. n veces Pruebas e Integracin
Ing.Jose Meja Viteri Ing.Software II
Planificar la iteracin (estudio de riesgos) Anlisis de los Casos de Uso y escenarios Diseo de opciones arquitectnicas Codificacin y pruebas. La integracin del nuevo cdigo con el hecho en iteraciones anteriores se hace gradualmente durante la construccin Evaluacin de la entrega de ejecutable (evaluacin del prototipo en funcin de las pruebas y de los criterios definidos) Preparacin de la entrega (documentacin e Ing.Jose instalacin del prototipo)Meja Viteri
Ing.Software II
La arquitectura de un sistema es la organizacin o estructura de sus partes ms relevantes Un arquitectura ejecutable es una implementacin parcial del sistema, construida para demostrar algunas funciones y propiedades RUP establece refinamientos sucesivos de una arquitectura ejecutable, construida como un prototipo evolutivo
Elaboration Construction
Inception
Transition
Cada ciclo est compuesto por fases y cada una de estas fases est compuesta por un nmero de iteraciones
Las fases son: Inicio o Estudio de oportunidad Elaboracin Construccin Ing.Jose Meja Viteri Transicin Ing.Software II
Construccin
El producto se desarrolla a travs de iteraciones donde cada iteracin involucra tareas de anlisis, diseo e implementacin Las fases de estudio y anlisis slo dieron una arquitectura bsica que es aqu refinada de manera incremental conforme se construye (se permiten cambios en la estructura) Gran parte del trabajo es programacin y pruebas Se documenta tanto el sistema construido como el manejo del mismo Ing.Jose producto Esta fase proporciona unMeja Viteri construido junto Ing.Software II con la documentacin
Transicin
Se libera el producto y se entrega al usuario para un uso real Se incluyen tareas de marketing, empaquetado atractivo, instalacin, configuracin, entrenamiento, soporte, mantenimiento, etc. Los manuales de usuario se completan y refinan con la informacin anterior Estas tareas se realizan tambin en iteraciones
15%
Requisitos
10%
15% 30% 15%
Diseo
Implementacin
Pruebas
P r e lim in a ry I te r a tio n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. # n+ 1 ite r. #n+2 it e r. #m ite r. #m +1
Diseo
Implementacin
Pruebas
P r e lim in a ry I te r a tio n ( s ) ite r. #1 ite r. #2 ite r. #n ite r. # n+ 1 ite r. #n+2 it e r. #m ite r. #m +1
Esfuerzo: Duracin:
5% 10%
10% 10%
El tiempo es independiente del contexto. Ahorrar una semana la comienzo de un proyecto es tan bueno como ahorrarla al final. Una semana es una semana. Es mucho ms fcil ahorrar tiempo al inicio del proyecto (cuando los entregables son menos claros). Conclusin: Pronto hay que tener claro el proyecto del ramo.
Ing.Jose Meja Viteri Ing.Software II
Es una solucin a un problema general de diseo. Tiene la forma de un conjunto de clases que interactan. Las clases requieren personalizacin al caso especfico (partes en blanco)
Vista
Controlador
Modelo