You are on page 1of 26

TEMA: EL SOFTWARE Y LA INGENIERÍA DE SOFTWARE.

Docente:
Ing. Mónica Elizabeth Gómez
Rodríguez Bryan Salazar.
Vaca Xavier
NRC: 3896
CAPITULO 2
MODELOS DEL
PROCESO.
• El software de computadora es un proceso
reiterativo de aprendizaje social, y el resultado es
la unión de conocimiento recabado, depurado y
organizado a medida que se realiza el proceso.
• ¿qué es exactamente un proceso del software?
• una estructura para las actividades, acciones y
tareas que se requieren a fin de construir software
de alta calidad.
Modelo General de Proceso
• En el capitulo anterior se definió un proceso como la colección de
actividades de trabajo, acciones y tareas que se realizan cuando va a
crearse algún producto terminado.
• Cada una de las actividades se encuentra dentro de una estructura
que define su relación tanto con el proceso con entre si.
• Como podemos ver en esta figura se
representa el proceso del software
de manera esquemática en la figura
se muestra que cada actividad
estructural está formada por un
conjunto de acciones de ingeniería
de software
DEFINICIÓN DE ACTIVIDAD
ESTRUCTURAL
En el capitulo anterior se describieron 5 actividades estructurales las cuales son:
(Comunicación, Planeación, Modelado, Construcción y Despliegue) un equipo
de software necesita de mucha información para poder ejecutar de una manera
apropiada cualquiera de ellas como parte del proceso de software.
PATRONES DEL PROCESO
Un patrón de proceso describe un problema
relacionado con el proceso que se encuentra
durante el trabajo de ingeniería de software,
identifica el ambiente en el que surge el
problema y sugiere una o más soluciones para
el mismo.

un método consistente para describir soluciones


del problema en el contexto del proceso del
software. Al combinar patrones, un equipo de
software resuelve problemas y construye el
proceso que mejor satisfaga las
necesidades de un proyecto
MODELOS DE PROCESO PRESCRIPTIVO
Modelo de la cascada:
• El modelo de la cascada, a veces llamado ciclo de vida clásico, sugiere un
enfoque sistemático y secuencia para el desarrollo del software, que
comienza con la especificación de los requerimientos por parte del
cliente y avanza a través de planeación, modelado, construcción y
despliegue, para concluir con el apoyo del software terminado.
MODELOS DE PROCESO INCREMENTAL
El modelo incremental aplica secuencias
lineales en forma escalonada a medida
que avanza el calendario de actividades.
Cada secuencia lineal produce
“incrementos” de software susceptibles
de entregarse, de manera parecidaa los
incrementos producidos en un flujo de
proceso evolutivo.
MODELOS DE PROCESO EVOLUTIVO
Los modelos evolutivos son iterativos. Se
caracterizan por la manera en la que permiten
desarrollar versiones cada vez más completas
del software. En los párrafos que siguen se
presentan dos modelos comunes de proceso
evolutivo.

Prototipos
El paradigma de hacer prototipos comienza con
comunicación. Usted se reúne con otros participantes
para definir los objetivos generales del software,
identifica cualesquiera requerimientos que conozca y
detecta las áreas en las que es imprescindible una
mayor definición.
MODELOS DE PROCESO EVOLUTIVO
EL MODELO ESPIRAL

Es un modelo evolutivo del proceso del


software y se acopla con la naturaleza
iterativa de hacer prototipos con los
aspectos controlados y sistémicos del
modelo de cascada. Tiene el potencial
para hacer un desarrollo rápido de
versiones cada vez más completas.
Modelos Concurrentes

• permite que un equipo de software


represente elementos iterativos y
concurrentes de cualquiera de los
modelos de proceso descritos en este
capítulo.
2.4 MODELOS DE PROCESO ESPECIALIZADO

2.4.1 Desarrollo basado en componentes

• Los componentes comerciales de software


general desarrollados por vendedores que
los ofrecen como productos, brindan una
funcionalidad que se persigue con interfaces
bien definidas que permiten que el
componente se integre en el software que se
va a construir.

• El modelo de desarrollo basado en


componentes construye aplicaciones a partir
de fragmentos de software prefabricados.
ACTIVIDADES DE MODELADO Y CONSTRUCCIÓN

Comienzan con la identificación de candidatos de


componentes
01
Se investigan y evalúan, para el tipo de aplicación de que
se trate, productos disponibles basados en componentes.
02
Se consideran los aspectos de integración de los
componentes.
03
Se diseña una arquitectura del software para que reciba
los componentes
04

Se integran los componentes en la arquitectura


2.4.2 EL MODELO DE MÉTODOS FORMALES

Los métodos formales permiten


especificar, desarrollar y
Agrupa actividades que llevan a
verificar un sistema basado en
la especificación matemática
computadora por medio del
formal del software de cómputo.
empleo de una notación
matemática rigurosa.
Métodos formales promete un software libre
de defectos. Sin embargo, se han expresado
preocupaciones acerca de su aplicabilidad en
un ambiente de negocios.

El desarrollo de modelos formales consume


mucho tiempo y es caro.

Debido a que pocos desarrolladores de


software tienen la formación necesaria para
aplicar métodos formales, se requiere mucha
capacitación.
• El enfoque de los métodos formales ha ganado
partidarios entre los desarrolladores que deben
construir software de primera calidad en Es difícil utilizar los modelos como mecanismo
seguridad (por ejemplo, control electrónico de de comunicación para clientes sin
aeronaves y equipos médicos). complejidad técnica.
2.4.3 DESARROLLO DE SOFTWARE ORIENTADO A
ASPECTOS

Aún no madura un
Cuando las El desarrollo de software
Estas características proceso distinto
Constructores de preocupaciones afectan orientado a aspectos
localizadas del software orientado a aspectos. Sin
software complejo múltiples funciones, (DSOA), proporciona un
se modelan como embargo, es probable
implementan de manera características e proceso y enfoque
componentes y luego se que un proceso así
invariable características, información del sistema, metodológico para
construyen dentro del adopte características
funciones y contenido de es frecuente que se les definir, especificar,
contexto de una tanto de los modelos de
información localizados. llame preocupaciones diseñar y construir
arquitectura de sistemas. proceso evolutivo como
globales. aspectos
concurrente.
2.5 EL PROCESO UNIFICADO
• El proceso unificado es un intento por obtener los mejores rasgos y
características de los modelos tradicionales del proceso del software, pero en
forma que implemente muchos de los mejores principios del desarrollo ágil de
software.

Hace énfasis en la importancia Sugiere un flujo del proceso


Reconoce la importancia de la de la arquitectura del software iterativo e incremental, lo que
comunicación con el cliente y y “ayuda a que el arquitecto se da la sensación evolutiva que
los métodos directos para centre en las metas correctas, resulta esencial en el
describir su punto de vista tales como que sea desarrollo moderno del
respecto de un sistema comprensible, permita cambios software.
futuros y la reutilización
2.5.2 FASES DEL PROCESO
UNIFICADO
2.6 MODELOS DEL PROCESO PERSONAL Y DEL
EQUIPO
• El mejor proceso del software es el que está cerca de las personas que harán el trabajo. Si un
modelo del proceso del software se ha desarrollado en un nivel corporativo u organizacional,
será eficaz sólo si acepta una adaptación significativa para que cubra las necesidades del
equipo de proyecto que en realidad hace el trabajo de ingeniería de software.
2.6.1 PROCESO PERSONAL DEL
SOFTWARE (PPS)
Post mórtem. Se
determina la eficacia
del proceso por
Desarrollo. Se mejora medio de medidas y
y revisa el diseño del mediciones obtenidas
componente. El con métodos
Revisión del diseño de código se genera, estadísticos
alto nivel. Se aplican revisa, compila y
métodos de prueba
Diseño de alto nivel. verificación formal
Se desarrollan las para descubrir
especificaciones errores en el diseño
Planeación. Esta externas para cada
actividad aísla los componente que se va
requerimientos y a construir y se crea el
El proceso personal desarrolla las diseño de
del software (PPS) estimaciones tanto del componentes
pone el énfasis en la tamaño como de los
Todo desarrollador medición personal recursos
utiliza algún proceso tanto del producto del
para elaborar trabajo que se genera
software de cómputo. como de su calidad
2.6.2 PROCESO DEL EQUIPO DE
SOFTWARE (PES)
Mostrar a los
gerentes cómo
dirigir y motivar a
sus equipos y
cómo ayudarlos a
mantener un
rendimiento
máximo.

Formar equipos
autodirigidos
que planeen y
den seguimiento
a su trabajo

Objetivo de éste es construir


un equipo “autodirigido”
para el proyecto, que se
organice para producir
software de alta calidad
2.7 TECNOLOGÍA DEL PROCESO

El modelo, que
Herramientas de normalmente se
Permiten que una
tecnología del proceso que representa como una red,
organización de software Una vez creado un proceso
ayudan a las analizar su se analiza para determinar
construya un modelo aceptable, se emplean
proceso actual, organizar el flujo de trabajo normal y
automatizado de la otras herramientas de
las tareas de trabajo, se examinan estructuras
estructura del proceso, tecnología para asignar,
controlar y vigilar el alternativas del proceso
conjuntos de tareas y vigilar y controlar
avance, y administrar la que podrían llevar a
actividades sombrilla
calidad técnica. disminuir el tiempo o costo
del desarrollo.
2.8 PRODUCTO Y PROCESO
Como La dualidad de
profesional producto y proceso
La gente obtiene creativo del es un elemento
Si el proceso es tanta (o más) software, usted importante para
Es peligrosa la
deficiente, no cabe satisfacción del también debe hacer que personas
dependencia
duda de que el creativas se
producto final
excesiva del proceso creativo obtener tanta involucren
proceso. como del satisfacción del
sufrirá conforme la
producto final. proceso como ingeniería de
del producto software
final evoluciona.
CONCLUSIONES
• Se puede concluir que actualmente la ingeniería de software presente un
gran reto en el proceso, debido a que a diferencia del harware no se
desgasta, sino sufre cambios a largo plazo, lo que provoca un deterioro
significativo del software elaborado.

• También se concluyo El software es un elemento clave en la evolución de


sistemas y productos basados en computadoras, y una de las tecnologías
más importantes en todo el mundo.
RECOMENDACIONES
• Se recomienda emplear la ingeniería de software durante el desarrollo y
construcción de los diferentes sistemas tecnológicos creados por los
programadores profesionales e ingenieros en el área de desarrollo.

• Se recomienda explorar las áreas que aun carecen de aplicaciones web, para
aplicar los conocimientos, así como las funciones de cómputo y contenido para el
usuario final, integrando bases de datos corporativas y aplicaciones de negocios,
según sea la necesidad.
BIBLIOGRAFÍA

• Pressman, S., (2010) Ingeniería de Software. México DF, México: Mc Graw Hill.

You might also like