1. UNIVERSIDAD DE ORIENTE
NÚCLEO MONAGAS
PROGRAMA DE INGENIERÍA DE SISTEMAS
ANÁLISIS Y DISEÑO DE STMAS DE INFORMACIÓN
SECCIÓN 02
Gukovsky, Daniel C.I.: 20597297
Marcano, Estefani C.I.: 20646564
Palencia, Roberto C.I.: 20648368
Rodríguez, Mario C.I.: 19875930
Bastardo, Miguel C.I: 23684096
Ingeniería de software
2. Reglas
• Se les agradece colocar los equipos telefónicos en
silencio o en su defecto apagarlos.
• No interrumpir a los ponentes mientras están en el
proceso de la exposición.
• Se agradece mantener una postura adecuada en la sala
y no hacer ruido durante la exposición.
• Indicar al final de la exposición las inquietudes que se
puedan presentar en algunos de los puntos a tratar.
3. Ingeniería de software
Es una disciplina formada
por un conjunto de métodos,
herramientas y técnicas que
se utilizan en el desarrollo de
los programas
informáticos (software).
Por lo tanto, incluye el
análisis previo de la
situación, el diseño del
proyecto, el desarrollo del
software, las pruebas
necesarias para confirmar su
correcto funcionamiento y la
implementación del sistema.
Puntos de vista general
Estefani Marcano
4. Ciclo de vida de la ingeniería de
software
El ciclo de vida es el conjunto de fases por las que pasa el
sistema que se está desarrollando desde que nace la idea inicial hasta
que el software es retirado o remplazado (muere). También se denomina
a veces paradigma. La ingeniería de software requiere llevar a cabo
numerosas tareas, dentro de etapas como las siguientes:
Estefani Marcano
5. Definición
“Es la aplicación de un
enfoque sistemático,
disciplinado y cuantificable al
desarrollo, operación y
mantenimiento del software,
es decir la aplicación de la
ingeniería al software.”
Ingeniería de software
Estefani Marcano
Roger Pressman
7. Seguimiento y control de proyecto de software
Gestión de riesgo
Aseguramiento de la calidad del software
Revisiones técnicas formales
Actividades secundarias
Gestión de la configuración del software
Gestión de la reutilización
Estefani Marcano
Roger Pressman
8. Fases o etapas del proyecto
Etapa I: Análisis de los requisitos del software
Entregable: Información acerca de las funciones, su contenido, y la elaboración del software.
Etapa II: Diseño
Entregable: Los diseños con que se va a proceder a plasmar los datos del software.
Etapa III: Generación de Código
Entregable: La base del código del software.
Etapa IV: Pruebas
Entregable: Reporte de errores en el código base del software.
Etapa V: Mantenimiento
Entregable: Documentación que dará al software el mantenimiento y la modificación
apropiada al mismo
Estefani Marcano
Roger Pressman
9. Modelo de la ingeniería del software
Modelo Prescriptivos
Son aquellos que prescriben un conjunto
de elementos de proceso, es decir dan a
relucir los conjuntos de elementos que lo
contempla , así como también las
acciones de la ingeniería de software,
tareas, productos del trabajo, calidad, y
mecanismos de control del cambio de
cada proyecto. No necesariamente los
modelos prescriptivos son estáticos
Roberto Palencia
Roger Pressman
10. Modelo de la ingeniería del software
Modelo en Cascada
También conocido como ciclo de vida clásico del proyecto,
no es mas que aquel que sugiere un enfoque sistemático y
secuencial hacia el desarrollo de software que inicia con la
especificación de requerimientos del cliente y que continua
con la planeación, el modelado, la construcción y el
despliegue.
Representación gráfica del modelo
Roberto Palencia
Roger Pressman
11. Modelos de Procesos Incrementales
Son aquellos que van en la búsqueda de la realización de un
proceso lineal a la hora del desarrollo de la ingeniería de
software, este contempla dentro de el dos sub-modelos los
cuales son:
Modelo Incremental
Modelo DRA
Modelo de la ingeniería del software
Roberto Palencia
Roger Pressman
13. Modelo de la ingeniería del software
Modelos de Procesos Evolutivos
Es aquel que plantea el diseño de un software cuyo proceso ha sido
diseñado de manera explicita para incluir un producto que evolucione con
el tiempo y sea resistente a la variabilidad
Modelo en
Espiral
Construcción
de Prototipos
Modelo de
Desarrollo
Concurrente
Roberto Palencia
Roger Pressman
14. Modelo de Desarrollo Concurrente
Modelo en Espiral
Construcción de Prototipos
Roberto Palencia
Roger Pressman
15. Modelo de la ingeniería del software
Modelos Especializados de Procesos
Son aquellos que adoptan muchas características de uno o mas de los
modelos convencionales presentados en la exposición. Sin embargo, los
modelos especializados tienden a aplicarse cuando se ha elegido un
enfoque de ingeniería del software definido de una manera muy estrecha.
Modelo de Método
Formales
Desarrollo Basado
en Componentes
Desarrollo de
Software Orientado a
Aspectos
Roberto Palencia
Roger Pressman
16. Personas y roles que actúan
Los ingenieros de
software y sus jefes
adoptan el proceso a
sus necesidades y
después lo siguen.
Además la gente que
ha solicitado el
software (clientes),
tienen una función que
desempeñar en el
proceso de definirlo
construirlo y probarlo.
Gerentes,
presidentes,
jefes y en
general altos
directivos
Ingenieros de
Software
Clientes
Roberto Palencia
Roger Pressman
17. Definición
Según Blanchard
“Es una aplicación efectiva
de esfuerzos científicos y de
ingeniería para transformar
una necesidad operativa en
una configuración definida de
un sistema mediante el
proceso iterativo de análisis
de requisitos, la selección del
concepto y asignación,
síntesis, solución del
compromiso y optimización
del diseño, prueba y
evaluación.”
Ingeniería de software
Miguel Bastardo
Gonzalo León
18. Su estructura de arriba-abajo que ve el sistema como un todo.
Una orientación del ciclo de vida que considera todas las fases
desde el diseño conceptual hasta la retirada del sistema.
Un enfoque interdisciplinar (en equipo) que incluya todas las
disciplinas adecuadas de diseño de forma oportuna y concurrente.
La necesaria integración para asegurar que todos los objetivos del
sistema se hayan cumplido de forma efectiva y eficaz.
Está orientada al proceso e incluye las provisiones esenciales de
realimentación y control.
Características
Miguel Bastardo
Gonzalo León
19. Fases o etapas del proyecto
Etapa I: Definición de requisitos
Entregable: Documento de requisito del usuario y Documento de requisito de software
Etapa II: Diseño
Entregable: Documento de diseño arquitectónico y Documento de diseño detallado
Etapa III: Implementación
Entregable: Manual de usuario, código fuente y las pruebas realizadas
Etapa IV: Transferencia del producto
Entregable: Entrega del producto y el documento historia del proyecto
Etapa V: Evolución
Entregable: La posibilidad de recibir un mantenimiento correctivo, perfectivo o evolutivo
Miguel Bastardo
Gonzalo León
20. Modelo de la ingeniería del software
Modelo en
cascada
Denominado
modelo
convencional, respo
nde a la secuencia
de pasos de
desarrollo de un
producto empleada
desde el comienzo
del desarrollo de
software para la
mayor parte de los
sistemas de
software.
Representación gráfica del modelo
Miguel Bastardo
Gonzalo León
21. Modelo de
síntesis
automatizada
Es aquel basado
en el empleo de
tecnología de
software que
permite generar
automáticamente la
implementación a
partir de la
especificación
detallada de los
requisitos de
software de
sistema. Este es el
modelo que
subyace bajo la
utilización de
métodos formales
Modelo de la ingeniería del software
Representación gráfica del modelo
Miguel Bastardo
Gonzalo León
22. Modelo de la ingeniería del software
Modelo
incremental
El modelo obtiene
el código como
resultado de un
proceso de
refinamiento a partir
de las
especificaciones y
diseño.
Existe otro enfoque
posible en el que al
usuario se le van
exponiendo
productos
intermedios
denominados
prototipos que le
acercan al sistema
final.
Existen dos tipos básicos de uso del prototipo.
Modelo basado en prototipos desechables:
Aborda el problema de la inestabilidad de los
requisitos generando un prototipo lo antes posible
que sirva de base al mejor conocimiento de los
requisitos del usuario. Es conocido como el
prototipado rápido y podría tratarse
independientemente del modelo incremental.
Modelo basado en prototipado incremental: Se
basa en la generación de varios modelos parciales
ejecutables del sistema antes de proceder a la
implementación, con el fin de evaluar sus
características y poder obtener al final el sistema
implementado.
Un prototipo: puede definirse como un modelo
parcial ejecutable de un sistema de software..
Miguel Bastardo
Gonzalo León
24. Modelo de la ingeniería del software
Modelo en V
En este modelo se
asocia una fase de
prueba a cada una
de las fases del ciclo
estableciendo
métodos de gestión
para la validación de
cada una de ellas. El
modelo en V implica
que las pruebas no
se consideran parte
de la
implementación sino
de forma separada
relacionadas con
cada una de la fase
del desarrollo.
Representación gráfica del modelo
Miguel Bastardo
Gonzalo León
25. Modelo de la ingeniería del software
Modelo en espiral
Consiste en pasar
por una serie de
ciclos en los que
tanto el
conocimiento del
sistema a realizar
como el propio
sistema van
avanzando hasta
obtener el producto
final. En la última
espiral se prosigue
con el desarrollo
convencional al
haberse eliminado
las incertidumbres
en las espirales
anteriores.
Representación gráfica del modelo
Miguel Bastardo
Gonzalo León
26. Personas y roles que actúan
Entre
otros
Clientes
Program
adores
Diseñado
res de
software
Analistas
de
sistemas
Profesional con solidas
bases metodológicas en el
desarrollo de software a
pequeña y gran escala,
cumpliendo como rol:
administrador de
proyecto, líder de
proyecto y arquitecto de
software.
Además pueden definir
alcances, costos, tiempo,
recursos y factibilidad del
proyecto, también
proponer soluciones de
software, globales o
parciales que permiten el
control del proceso.
Miguel Bastardo
Gonzalo León
27. Definición
“Es una disciplina que
comprende todos los
aspectos de la producción
del software, esta comprende
las formas prácticas para
desarrollar y entregar un
software útil.”
Ingeniería de software
Ian Sommerville
Daniel Gukoysky
28. Características
Estos trabajan bajo restricciones financieras u organizacionales por lo
tanto buscan encontrar soluciones tomando en cuenta dichas
restricciones.
Se requiere un enfoque sistémico y organizado en su trabajo, ya que
es la forma más efectiva de producir software de alta calidad.
Es necesario un enfoque más informal y creativo de desarrollo ya que
podría ser más efectivo.
Requieren una mezcla de técnicas de software y de diseño grafico.
Lo atributos esenciales de los productos son la mantenibilidad,
confiabilidad, eficiencia y aceptabilidad.
Utilización de las herramientas CASE que no son mas que sistemas de
software que están diseñados para ayudar a las actividades rutinarias
del proceso de software.
Ian Sommerville
Daniel Gukoysky
29. Fases o etapas del proyecto
Etapa I: Requerimientos del software
Entregable: Los requerimientos del usuario y del sistema.
Etapa II: Diseño
Entregable: Los diseños son la descripción de la estructura del software, los datos , la interfaz del sistema y
los algoritmos utilizados.
Etapa III: Implementación
Entregable: Prueba de código, para establecer la existencia de defectos y depurar.
Etapa IV: Verificación y validación del software
Entregable: Revisiones de los requerimientos y continua con las revisiones del diseño e
inspecciones de código hasta la prueba del producto.
Ian Sommerville
Daniel Gukoysky
30. Servicios
proporcionados por
el sistema y sus
restricciones
operativos.
Requerimientos
de usuario.
Requerimientos
del sistema.
Daniel Gukovsky
Requerimientos del software
Ian Sommerville
31. Estudio de
viabilidad
Obtención y
análisis de
requerimientos
Especificación
de
requerimientos
Validación de
requerimientos
Fases fundamentales:
Requerimientos del software
Daniel Gukovsky
Ian Sommerville
33. Proceso
creativo, donde este
se aborda de forma
particular.
No hay una forma
mala o buena de
diseñar el
software
Diseño del software
Es el proceso de
convertir una
especificación del
sistema en un
sistema
ejecutable.
Daniel Gukovsky
Ian Sommerville
35. Diseño del software
Arquitectos del
sistema
Hace uso de todas
sus habilidades
técnicas con el fin de
establecer una
solución técnica.
Debe ser capaz de
comunicar el diseño, y
las decisiones que lo
llevaron al mismo al
equipo de desarrollo
Desarrolladores
Desarrollo de
actividades
relacionadas al diseño
del software.
Diseño del software
Daniel Gukovsky
Ian Sommerville
36. La implementación
del sistema se
sigue de forma
natural del proceso
de diseño
Los
programadores
llevan a cabo
algunas pruebas
del código que
han desarrollado
Implementación del software
Se establecen la
existencia de
defectos y se
depura para
corregir los
mismos.
Daniel Gukovsky
Ian Sommerville
37. Se sigue al pie el
diseño.
A medida que se
programa se
localizan los errores.
Se diseña la
reparación del error.
Se depuran dichos
errores.
Se vuelve a probar el
programa.
Actividades especificas:
Implementación del software
Daniel Gukovsky
Ian Sommerville
38. Implementación del
software
Arquitectos del sistema
Termina de completar las
partes faltantes del diseño
de la arquitectura y corregir
las decisiones previas que
hayan resultado ser
equivocadas.
Juega un papel de mentor y
muchas veces debe explicar
cuestiones del diseño del
sistema al equipo de
desarrollo.
Su nivel técnico y
conocimiento del dominio
del problema le da una
ventaja para identificar
problemas .
Programadores
Se encargan del desarrollo
del software siguiendo las
especificaciones hechas
por el arquitecto del
sistema.
Implementación del software
Daniel Gukovsky
Ian Sommerville
39. Nombre dado a los
procesos de
análisis y pruebas,
estas tienen lugar
en cada etapa del
software.
Comienza con
revisiones de los
requerimientos, conti
nua con las
revisiones del diseño
e inspecciones de
código hasta la
prueba del producto.
Verificación y validación del
software
Se utiliza para
mostrar que el
sistema se ajusta a su
especificación y que
cumple las
expectativas del
usuario que lo
comprara.
Daniel Gukovsky
Ian Sommerville
40. Actividades especificas:
La prueba de
componentes
Prueba del
sistema
Pruebas de
validación
Prueba de
aceptación
Verificación y validación del
software
Daniel Gukovsky
Ian Sommerville
42. Modelo de la ingeniería del software
Modelos de proceso de software
Es una representación
abstracta de un proceso del software. Cada modelo de proceso representa un
proceso desde una perspectiva particular, y así proporciona sólo información
parcial sobre ese proceso.
Desarrollo
evolutivo
Modelo en
Cascada
Ingeniería de
software basada en
componentes
Ian Sommerville
Daniel Gukoysky
44. Modelo de la ingeniería del software
Modelos Iterativos
La esencia de los procesos iterativos es que la especificación se
desarrolla junto con el software.
Sin embargo, esto crea conflictos con el modelo de obtención de
muchas organizaciones
donde la especificación completa del sistema es parte del contrato de
desarrollo del mismo.
Modelo
Espiral
Modelo
Incremental
Ian Sommerville
Daniel Gukoysky
46. Caso Práctico
Caso práctico Basado en la Tesis de
Br: Giovanni Javier Villahermosa Rodríguez.
Metodología de Ing de Software Somerville
SISTEMA DE INFORMACIÓN COMO APOYO A LA OPERATIVIDAD DE LA
PLATAFORMA TECNOLÓGICA PARA LA DIRECCIÓN GENERAL DE
CIENCIA Y TECNOLOGÍA, ADSCRITA A LA GOBERNACIÓN DEL
ESTADO MONAGAS
:
Técnicas, Métodos y
Metodologías que se
Aplicaron
Modelo Incremental
Metodología
Estructurada
Base de Datos
Metodologías Ágiles
: :
Técnicas de Recolección de
Datos
Entrevista no estructurada
Recopilación documental a
través de la Web
Cuaderno de anotación y
computador
Historias de Usuario (fichas)
Herramientas de
Desarrollo del Sistema
PHP
PHPM y Admin
Appserver
Adobe Dreamweaver
Mario Rodríguez
47. Requisitos del software
Mario Rodríguez
:
Actividades
Se identificaron los clientes y sus necesidades.
Se procedió a estudiar como se maneja la información dentro de la
institución .
Se procedió identificar las tecnologías con que se cuenta la institución .
Se analizo el funcionamiento de cada una de los departamentos y la
información que manejan.
Se realizaron las historias de usuarios y se priorizaron cada una de estas.
Se diseño el plan de trabajo para satisfacer los requerimientos del usuario.
: :
Actores
Requerimientos
del usuario
-Administradores
clientes.
-Usuarios finales
del sistema.
-Ingenieros
clientes.
-Administradores
contratistas
-Arquitectos del
sistema.
Requerimientos del sistema:
-Usuarios finales del sistema.
-Ingenieros clientes.
-Arquitectos del sistema
Requerimientos del sistema:
-Usuarios finales del sistema.
-Ingenieros clientes.
-Arquitectos del sistema
Actores
Requerimientos del
sistema
-Usuarios finales del
sistema.
-Ingenieros clientes.
-Arquitectos del
sistema
ENTREGABLE :
informe con los requerimientos del usuario y del sistema.
ENTREGABLE :
informe con los requerimientos del usuario y del sistema.
Entregable
Informe con los
requerimientos del
usuario y del
sistema.
48. Diseño del software
Mario Rodríguez
Arquitectura del Sistema
El sistema a desarrollar posee características que lo identifican como
un sistema cliente/servidor por lo que a continuación se presenta un
grafico que muestra la arquitectura de estos sistemas:
Web Browser- Explorador
(Firefox)
Servidor web (Apache)
Windows/Linux
Servidor
Base Datos
(MySQ)
Lenguaje Interprete (PHP)
: :Actores
Arquitectos del
sistema.
Actores :
Arquitectos del sistemA
Actores :
Arquitectos del sistemA
Entregable
Los diseños son la descripción
de la estructura del software,
los datos , la interfaz del
sistema y los algoritmos
utilizados.
49. Implementación
Mario Rodríguez
:
Actividades
-Se sigue al pie el
diseño.
-A medida que se
programa se
localizan los errores.
-Se diseña la
reparación del error
-Se depuran dichos
errores.
-Se vuelve a probar el
programa.
Actores.
Arquitectos del sistema.
Actores.
Arquitectos del sistema.
Actores
Arquitectos de
sistemas
Actores.
Arquitectos del sistema.
Entregable:
El código final después de la depuración del sistema
Entregable:
El código final después de la depuración del sistema
Entregable
El código final
después de la
depuración del
sistema
50. Verificación y validación de software
Mario Rodríguez
Actividades
La prueba de componentes: se probo de manera individual los componentes para
asegurarse que funcionan correctamente.
Prueba del sistema: Los componentes se integran para verificar el sistema.
Pruebas de validación: Se demostró que el software es el que el cliente quiere,
que satisface sus requerimientos. Como parte de la prueba de validación,
mediante pruebas estadísticas para probar el rendimiento y la fiabilidad de los
programas, y para probar como trabaja en ciertas condiciones operacionales.
Prueba de aceptación: En esta fase se dieron las pruebas finales que dieron a
lugar la aceptación del proyecto y el sistema.
Actores
-Autor o propietario
-Inspector
-Lector
-Secretario
-Presidente o moderador
-Moderador jefe
Entregable
Informe con revisiones de los
requerimientos y continua con las
revisiones del diseño e inspecciones
de código hasta la prueba del
producto.