Documente Academic
Documente Profesional
Documente Cultură
Objetivos
Adquirir los conocimientos de la ingeniera del software en
general, y ms especficamente en el anlisis y diseo de
software orientado a objetos.
Proporcionar al estudiante un conjunto de tcnicas,
principios y heursticas de ingeniera del software que le
permitan abordar de forma sistemtica el proceso de
construccin de software, en particular desde el paradigma
de desarrollo orientado a objetos.
Inculcar la necesidad de realizar de forma disciplinada el
proceso de desarrollo de software, usando tcnicas,
mtodos y herramientas de ingeniera del software.
Agenda
Ingeniera de Software
Metodologa de desarrollo
Qu es un proceso de software?
Proceso de desarrollo de software
Fabrica de software
Ingeniera de Software
- Definicin
La Ingeniera del Software es la disciplina de ingeniera encargada de todos
los aspectos relacionados con la produccin de software desde sus etapas
ms tempranas de la especificacin del sistema, hasta el mantenimiento del
sistema tras su puesta en marcha
Ingeniera del Software Ian Sommerville
Ingeniera de Software
Principales actividades:
En un proceso pueden distinguirse actividades
resolver problemas.
o pasos para
Actividades tcnicas:
1.
2.
3.
4.
5.
Ingeniera de Software
Principales actividades:
Actividades gerenciales:
1. Planificacin, control y seguimiento del proceso
2. Gerencia de producto
3. Evaluacin de productos y procesos
4. Gestin de riesgos
Ingeniera de Software
Principios:
Producir lo que cliente necesita:
Captura de Requisitos; Se debe dedicar
esfuerzo en la captura de las necesidades
del cliente.
Uso de Prototipos; Involucrar al cliente en el
proceso de desarrollo
Respetar los plazos acordados con el
cliente. Quedar satisfecho
Ingeniera de Software
Principios:
Determinar el problema antes de escribir
especificaciones:
Elegir la solucin que mejor se adapte a las
necesidades del cliente
Analizar todas las posibles soluciones.
Costes, esfuerzo, etc.
No dar soluciones precipitadas. Explorar
todas las alternativas
Ingeniera de Software
Principios:
Evaluar las alternativas de diseo:
Una vez establecidos los requisitos, qu
arquitecturas o algoritmos elegir?
Segn por
tendremos:
el
diseo
que
optemos
Ingeniera de Software
Principios:
La tcnica es ms importante que las herramientas:
Antes de seguir una herramienta, se debe comprender y
seguir una tcnica apropiada
Ingeniera de Software
Principios:
El personal es la clave del xito:
Personal capacitado
herramientas.
en
el
uso
de
las
Ingeniera de Software
Principios:
Todo el diseo
documentado:
del
software
debe
de
estar
Metodologa de desarrollo
Definicin:
Es un conjunto de mtodos, tcnicas, herramientas y
un soporte documental que ayuda a desarrollar
software. Es decir, una metodologa establece un
camino para desarrollar software de manera
sistemtica, proporcionando un estndar de trabajo a
la organizacin.
Actividades:
Especificacin
Desarrollo
Validacin
Mantenimiento
Metodologa de desarrollo
Objetivos:
Mejorar el proceso de desarrollo.
Dotar a la empresa de un estndar de trabajo.
Conseguir definir requisitos de forma acertada.
Qu es un mtodo ?
Un mtodo especifica en qu fases, etapas
y actividades se debe descomponer el
proceso de desarrollo de un proyecto.
Se especifica:
Qu se debe hacer.
Qu es una tcnica?
Es la explicacin clara y prctica de
CMO se debe llevar a cabo una tarea
concreta.
Dar forma al mtodo especificado para una
tarea.
Qu es una herramienta?
Todo aquello que funciona en un ordenador y
proporciona a la metodologa un soporte
automtico o semiautomtico.
Las herramientas CASE (Computer Aided
Software Engineering):
Por ejemplo:
Un diagramador (Smartdraw)
Procesador de texto (Word)
Editor grfico (Visio)
Metodologa de desarrollo
Ventajas:
A nivel de la gestin de proyectos:
Facilita la planificacin y el seguimiento del
proyecto
Metodologa de desarrollo
Ventajas:
Para los
software:
Ingenieros
de
desarrollo
de
requisitos
Qu es un proceso de software?
Conjunto repetitivo de actividades interrelacionadas
que se realizan sistemticamente, mediante las cuales
una entrada se convierte en una salida o resultado,
que da valor a los procesos de la organizacin.
Un proceso est
compuesto por actividades.
Proceso
Tarea 1
Actividad 1
Actividad n
Tarea X
Tarea 1
Proceso de software
Caractersticas:
Repetibilidad de resultados. Al conseguir
que la calidad del resultado sea
consecuencia del proceso, logra la
homogeneidad de los resultados.
Escalabilidad. Es una consecuencia de la
repetibilidad. No slo un equipo consigue
resultados homogneos en todos los
proyectos, sino que los obtienen todos los
equipos.
Proceso de software
Caractersticas:
Mejora continua. Al aplicar procesos que trabajan
sobre los propios procesos de produccin,
midiendo y analizando los resultados se obtienen
los criterios de gestin necesarios para aplicar
medidas que mejoran de forma continua la
eficiencia y calidad de los procesos base, y por
tanto de los resultados.
know-how propio, consiguiendo finalmente una
empresa que sabe hacer, porque su modelo de
procesos termina conteniendo un activo valioso de
la organizacin: la clave para hacer las cosas bien,
con eficiencia y de forma homognea.
http://www.iso.org/iso/home.htm
Modelo en Lineal
2.
Modelo en Cascada
3.
Modelo de Prototipo
4.
Modelo en V
5.
Modelo en Espiral
6.
1. Modelo en lineal:
Se refiere al desarrollo del ciclo de vida de un
sistema horizontal.
2. Modelo en Cascada:
El proceso de desarrollo se considera como la sucesin de
etapas que generan productos intermedios
Existen diferentes etapas de desarrollo, la salida de la primera
etapa fluye hacia la segunda etapa y esta salida fluye hacia
la tercera y as sucesivamente.
Este modelo es
apropiado solo cuando
los requisitos se
comprende muy bien.
3. Modelo de Prototipo
Permite la construccin rpida del sistema (o parte de ste).
Usuario y desarrollador tienen una visin comn.
Se reduce el riesgo y la incerteza del desarrollo.
4. Modelo en V
El ngulo es la codificacin.
5. Modelo Espiral
El proceso se representa ms como una espiral que como
una secuencia de actividades con vuelta hacia atrs.
Cada vuelta en la espiral representa una fase del proceso y
determina las actividades a realizar.
5. Modelo Espiral
Representacin detallada:
releases:
empresas importantes en el
fbricas de software que son
una empresa para sus propios
adquirida por GE Capital, y
Fbrica de software
Una fbrica de software es una
empresa de la industria del software
cuya misin es el desarrollo de
software para sus clientes de acuerdo
a los requerimientos especficos que
aquel le solicita.
Una fbrica de software tiene como su
principal fuente de ingreso, la venta de
proyectos de desarrollo de software,
como as tambin la venta de horas
hombre de desarrollo de software.
Generalmente la propiedad intelectual
de
las
aplicaciones
informticas
desarrolladas le pertenecen al cliente.
Fbrica de software
Se trata de aplicar los procesos de industrializacin
a la generacin de programas, para que estos
puedan ser producidos bajo estndares que
permitan mantener un nivel de calidad aceptable.
Se trata de normar el proceso de diseo, desarrollo,
pruebas y documentacin.
Esto trae como consecuencia que el proceso se
pueda entonces supervisar de manera adecuada,
evitando la sensacin de caja negra que a veces
rodea a los proyectos de TI, y a la vez permite
encargar el proyecto, o parte del mismo, a otras
unidades de TI o inclusive a empresas externas.
3.
4.
de
calidad
productividad.
Se
Programas de Carrera.
Es necesario definir un
procedimiento que administre el crecimiento del personal.
2.
3.
4.
Qu no es fabrica de software?
Fsw beneficios:
1.
2.
3.
4.
5.
6.
Fsw aplicaciones:
Fsw modelos:
Existen 4 enfoques sobre las fbricas de software que resulta interesante revisar:
Dichos enfoques
agruparse en:
pueden
1.
Orientados
a
infraestructura (I y II)
la
2.
Orientados al desarrollo
de
procesos
ptimos
basados en la experiencia
(III y IV)
(III) aprendizaje
Resumen
En esta sesin hemos aprendido:
La ingeniera del software en general,
Conceptos de Software Factory
tomas.chuquillanqui@usil.pe
tchuquillanqui@yahoo.com