Está en la página 1de 34

2NM41 – Equipo 6 😎

a) García Valero Iván


Hernández Moreno Arturo (b
c) Huerta Cruz Mario Alberto
Miguel Ángel García Chávez (d
e) Tapia Vázquez Aolani
Montiel García Josué Baruc (f

19 de Agosto del 2021


Fundamentos de Ingeniería del Software
Fundamentos de Ingeniería del Software
Instituto Politécnico Nacional

El cambio es inevitable en todos los


grandes proyectos de software.

Los requerimientos del sistema, varían


conforme la empresa procura que el
sistema responda a presiones externas y se
modifican las prioridades administrativas.

A medida que se ponen a disposición


nuevas tecnologías, también surgen nuevas
posibilidades de diseño e implementación,
cualquier modelo del proceso de software,
es esencial que se ajuste a los cambios a
desarrollar.
Instituto Politécnico Nacional

Definición de Valoración de Propuestas del Modificación de


requerimientos sistemas cambio al sistema sistemas
del sistema existentes

Nuevo sistema
Sistemas
Existentes

El cambio se agrega a los costos del desarrollo de software debido a que por lo general significa que el
trabajo ya terminado debe volver a realizarse, se le conoce como rehacer, es necesario rediseñar el sistema
para entregar los nuevos requerimientos, cambiar cualquier programa que se haya desarrollado y volver a
probar el sistema.
Existen dos enfoques relacionados que se usan para reducir los costos
del rehacer.
Instituto Politécnico Nacional

Evitar el cambio

En donde nosotros desarrollamos un sistema prototipo para demostrarle a


los clientes algunas características clave del sistema, ellos podrán
experimentar con el prototipo y refinar sus requerimientos , antes de
comprometerse con mayores costos de producción de software.

Tolerancia al cambio

Donde el proceso se diseña de modo que los cambios se ajusten en un costo


relativamente bajo. Por lo general, esto comprende algunas formas
de desarrollo incremental.
En esta sección se estudian dos formas de enfrentar el cambio y los
requerimientos cambiantes del sistema.
Instituto Politécnico Nacional

Prototipo del sistema

Se desarrolla una versión del sistema o una parte del mismo para comprobar
los requerimientos del cliente y la factibilidad de algunas decisiones de
diseño.

Entrega incremental

Los incrementos del sistema se entregan al cliente para su comentario y


experimentación. Esto apoya al hecho de evitar el cambio como a tolerar el
cambio, también, evita el compromiso prematuro con los requerimientos para
todo el sistema y permite la incorporación de cambios en incrementos
mayores a costos relativamente bajos.
Instituto Politécnico Nacional

Establecimiento de Definición de la Desarrollo del Evaluación del


objetivos del funcionalidad del prototipo prototipo
prototipo prototipo

Plan de creación del Bosquejo de


Prototipo ejecutable Reporte de evaluación
prototipo definición
Fundamentos de Ingeniería del Software
Instituto Politécnico Nacional

Un prototipo es una versión inicial


de un sistema de software que se
usa para demostrar conceptos ,
tratar opciones de diseños y
encontrar mas sobre
el problema y sus posibles
soluciones y se puedan controlar
sus costos y los interesados en el
sistema experimenten por
anticipado con el
prototipo durante el proceso de
creación.
Instituto Politécnico Nacional

> Proceso de desarrollo de software

En el proceso de ingeniería de requerimientos, un


1 prototipo ayuda con la selección y validación de
requerimientos del sistema.

En el proceso de diseño de sistemas un prototipo sirve


2 para buscar soluciones especificas de software y apoyar el
diseño de interfaces del usuario.
Instituto Politécnico Nacional

Los prototipos del sistema permiten a los usuarios ver que tan bien el sistema apoya su trabajo. Pueden
obtener nuevas ideas para requerimientos y descubrir áreas de fortalezas y debilidades en el software.

Mientras se elabora el sistema para la realización de experimentos de diseño, un prototipo del mismo
sirve para comprobar la factibilidad de un diseño propuesto.

La creación de prototipos es una parte esencial del proceso de diseño de interfaz del usuario. Debido a
la dinámica natural de las interfaces de usuario, las descripciones textuales y los diagramas no son
suficientemente buenos para expresar los requerimientos de la interfaz del usuario.
Instituto Politécnico Nacional

> Modelo del proceso para desarrollo de prototipos.

Establecimiento de Definición de la Desarrollo del Evaluación del


objetivos del funcionalidad del prototipo prototipo
prototipo prototipo

Plan de creación del Bosquejo de


Prototipo ejecutable Reporte de evaluación
prototipo definición
Instituto Politécnico Nacional

Quizá el prototipo no se
utilice necesariamente en
la misma forma que el
sistema final. Si el prototipo es lento, los
evaluadores podrían
El revisor del prototipo tal ajustar su forma de
vez no sea un usuario trabajar y evitar aquellas
típico del sistema. características del sistema
con tiempo de respuesta
También, podría resultar lentos.
insuficiente el tiempo de
capacitación durante la
evaluación del prototipo.
No es aconsejable
No es aconsejable.
• Puede ser imposible corregir el prototipo para cubrir requerimientos
no funcionales, como
Puede ser imposible
los requerimientos de rendimiento, seguridad,
El cambio
rápido durante el Probablemente los
robustez
corregir y fiabilidad,
el prototipo ignorados
desarrollo significa
durante el desarrollo del prototipo.
cambios realizados Por lo general, durante
para cubrir
• El cambio
requerimientos
claramente que el durante el desarrollo
no rapido durante el desarrollo significa claramente que el
prototipo no esta de prototipos
el desarrollo de
prototipos se hacen
funcionales, como los
prototipo no esta
requerimientos de
documentado.
documentado. La única La unica especificacion
degradaran la de diseño es los
mas flexibles
especificación de estructura del sistema, estándares de calidad
de codigo
rendimiento, seguridad,del prototipo. Esto no
diseño es de código del
es muy bueno para
y este ultimo será difícil
el de la organización.
robustez y fiabilidad,
mantenimiento de
ignorados durante el
largoEsto
prototipo. plazo.
no es y costoso de mantener.
muy bueno para el
• prototipo.
desarrollo del
Probablemente los cambios de
mantenimiento realizados durante el desarrollo de
largo plazo.
prototipos degradaran la estructura del sistema, y este ultimo sera
dificil y costoso de mantener.
• Por lo general, durante el desarrollo de prototipos se hacen mas
flexibles los estandares de calidad de la organizacion.
Fundamentos de Ingeniería del Software
Instituto Politécnico Nacional

Es un proceso de software dirigido por el riesgo.

Se representa como un espiral.

Cada ciclo del espiral representa una fase del


proceso del software.

Combina el evitar el cambio con la tolerancia al


cambio.
Se definen objetivos específicos para dicha fase del
proyecto.
En cada uno de los riesgos
Se identifican restricciones en el proceso y el producto identificados se realiza un análisis
minuciosos y se dan acciones par
Instituto Politécnico Nacional

y se traza un plan de gestión detallado.


reducir el riesgo.
Se identifican riesgos del proyecto y se pueden
planearse estrategias según los riegos.

El proyecto se revisa y se toma la decisión sobre


si hay que continuar con otro ciclo del espiral.
Después de evaluar los riesgo se elige
Si se opta por seguir, se trazan planes para la
un modelo de desarrollo para el sistema.
siguiente fase del proyecto.
> Ciclos del espiral
Instituto Politécnico Nacional

El ciclo del espiral comienza por la elaboración de


objetivos.

Se numeran formas alternativas de alcanzar dichos


objetivos y lidiar con las restricciones de cada uno.

Cada alternativa se valora contra objetivo y se identifican


las fuentes de riesgo.

Se resuelven los riesgos mediante actividades de


recopilación de información .

Una vez valorados los riesgos se realiza cierto desarrollo


seguida de una actividad de planeación para la siguiente
fase del proyecto.
Fundamentos de Ingeniería del Software
Instituto Politécnico Nacional

Es un enfoque al desarrollo
La asignación de servicios
de software donde algunos
por incrementos depende
de los incrementos
de la prioridad del servicio
diseñados se entregan al
esto quiere decir que donde
cliente y se implementan
haya una prioridad mas alta
para usarse en un entorno
se implementaran y
operacional.
entregaran primero.

Una vez identificados los


En este proceso los
incrementos del sistema, se
clientes identifican los
definen de los servicios que
servicios que proporciona
se van a entregar en el
el sistema para saber
primer incremento y se
cuales son los mas
desarrolla dicho
importantes y cuales los
incremento.
menos importantes.
Instituto Politécnico Nacional

Cuando se completa y entrega el


Durante este desarrollo se puede primer incremento, los clientes lo
tener un análisis de requerimientos ponen en servicio y el sistema les
para incrementos posteriores aun ayuda a clarificar sus
cuando se rechacen cambios de requerimientos para posteriores
requerimientos para el incremento incrementos de dicho sistema, esto
actual. con el fin de que con cada
incremento entregado se mejore la
funcionalidad del sistema.
Ventajas de la entrega incremental

Los clientes pueden Puesto que primero se


usar los primeros El proceso mantiene los entregan los servicios
incrementos como Los clientes deben beneficios del de mayor prioridad y
prototipos y adquirir esperar hasta la desarrollo incremental luego se integran los
experiencia que informe entrega completa del en cuanto a que debe incrementos, los
sobre sus sistema, antes de ganar ser relativamente servicios de sistema
requerimientos para valor del mismo. sencillo incorporar mas importantes
posteriores incrementos cambios en el sistema reciben mayores
del sistema. pruebas.
La mayoría de sistemas requieren de una serie de recursos que se utilizan par
Instituto Politécnico Nacional

diferentes partes del sistema. Esto debido a que los requerimientos no están definidos
hasta que se implementa un incremento.

Su desarrollo iterativo resulta complicado cuando se diseña un sistema de reemplazo.

La escancia de los procesos iterativos es la especificación que se desarrolla en


conjunto con el software, en el enfoque incremental no hay especificación completa
del sistema, si no hasta que se define el incremento final.
Fundamentos de Ingeniería del Software
Instituto Politécnico Nacional

El proceso Unificado Racional (RUP


por las siglas Rational Unified
Process) es un ejemplo de un modelo
de proceso moderno que se derivó
del trabajo sobre el UML y el proceso
asociado del desarrollo del software
unificado. Aquí se incluye una
descripción pues es un buen ejemplo
de un proceso hibrido.

El RUP reconoce que modelos de


proceso convencionales presentan
una sola visión del proceso. En
contraste, el RUP por lo general se
describe desde 3 varias perspectivas:

Dinámica
Estática
Práctica
Instituto Politécnico Nacional

La mayoría de las descripciones del RUP


buscan combinar las perspectivas estática y
dinámica en un solo diagrama.
El RUP es un modelo en fases que identifica
cuatro fases discretas en el proceso de
software. Sin embargo, a diferencia del modelo
en cascada, donde las fases se igualan con
actividades del proceso, estas son:
1. Concepción: establece un caso empresarial
para el sistema.
2. Elaboración: consiste en desarrollar la
comprensión del problema de dominio.
3. Construcción: incluye el diseño,
programación, y pruebas del sistema.
4. Transición: la fase final del RUP se interesa
por el cambio del sistema desde la
comunidad de desarrollo hacia la
comunidad de usuarios, y por ponerlo a
funcionar en un ambiente real.
Instituto Politécnico Nacional

Flujo de trabajo Descripción


Modelación del negocio Se modelan los procesos de negocios utilizando
casos de uso de la empresa
Requerimientos Se identifican los actores que interactúan con
el sistema
Análisis y diseño Se crea y documenta un modelo de diseño
Implementacion Se implementan y esctructuran los
componentes del sistema
Pruebas Complementan a la implementacion
Despliege Se crea la liberación de un producto
Instituto Politécnico Nacional

Buenas prácticas de ingeniería del Software

1. Desarrollo de software de manera iterativa.

2. Gestión de requerimientos.

3. Usar arquitecturas basadas en componentes.

4. Software modelado visualmente.

5. Verificar la calidad de software.


Equipo 6

También podría gustarte