Você está na página 1de 22

Instituto tecnolgico de

Campeche
Ingeniera en Sistemas Computacionales
MS5
Integrantes: Cetina Romero ngel Daniel
Ferrer Gutirrez Sergio Alberto
Villamonte Ocheita Carlos Eduardo
09/09/16

Fundamentos de ingeniera de
software
Diferentes fases de la ingeniera de software:
proceso y modelos de proceso.

09/09/16

El trabajo que se asocia a la ingeniera del software se puede


dividir en tres fases genricas, con independencia del rea de
aplicacin, tamao o complejidad del proyecto.

09/09/16

La fase de definicin se centra sobre el qu. Es decir,

durante la definicin, el que desarrolla el software intenta


identificar qu informacin ha de ser procesada, qu funcin
y rendimiento se desea, qu comportamiento del sistema,
qu interfaces van a ser establecidas, qu restricciones de
diseo existen, y qu criterios de validacin se necesitan para
definir un sistema correcto.

09/09/16

La fase de desarrollo se centra en el cmo. Es decir, durante


el desarrollo un ingeniero del software intenta definir cmo
han de disearse las estructuras de datos, cmo ha de
implementarse la funcin dentro de una arquitectura de
software, cmo han de implementarse los detalles
procedimentales, cmo han de caracterizarse interfaces,
cmo ha de traducirse el diseo en un lenguaje de
programacin (o lenguaje no procedimental) y cmo ha de
realizarse la prueba.

09/09/16

La fase de mantenimiento se centra en el cambio que va asociado a

la correccin de errores, a las adaptaciones requeridas a medida que


evoluciona el entorno del software y a cambios debidos a las mejoras
producidas por los requisitos cambiantes del cliente. Durante la fase
de mantenimiento se encuentran cuatro tipos de cambios:

Correccin
Adaptacin
Mejora
Prevencin

09/09/16

Modelos y Ciclos de Vida del


Desarrollo de Software
La ingeniera de software dispone de varios modelos, paradigmas

y filosofas de desarrollo, estos los conocemos principalmente


como modelos o ciclos de vida del desarrollo de software, esto
incluye el proceso que se sigue para construir, entregar y hacer
evolucionar el software, desde la concepcin de una idea hasta la
entrega y el retiro del sistema y representa todas las actividades y
artefactos (productos intermedios) necesarios para desarrollar una
aplicacin, entre ellos se puede citar:

09/09/16

Modelo en cascada o clsico


En ingeniera de software el modelo en cascada se basa en

un enfoque metodolgico que ordena rigurosamente las


etapas del ciclo de vida del software, esto sugiere una
aproximacin sistemtica secuencial hacia el proceso de
desarrollo del software, que se inicia con la especificacin de
requisitos del cliente y contina con la planificacin, el
modelado, la construccin y el despliegue para culminar en el
soporte del software terminado.

09/09/16

Modelo de prototipos
En ingeniera de software, el modelo de prototipos pertenece a los modelos

de desarrollo evolutivo. Este permite que todo el sistema, o algunos de sus


partes, se construyan rpidamente para comprender con facilidad y aclarar
ciertos aspectos en los que se aseguren que el desarrollador, el usuario, el
cliente estn de acuerdo en lo que se necesita as como tambin la solucin
que se propone para dicha necesidad y de esta manera minimizar el riesgo
y la incertidumbre en el desarrollo, este modelo se encarga del desarrollo de
diseos para que estos sean analizados y prescindir de ellos a medida que
se adhieran nuevas especificaciones, es ideal para medir el alcance del
producto, pero no se asegura su uso real.

09/09/16

Modelo en espiral
El modelo en espiral, que Barry Boehm propuso originalmente en 1986, es

un modelo de proceso de software evolutivo que conjuga la naturaleza


iterativa de la construccin de prototipos con los aspectos controlados y
sistemticos del modelo en cascada, es decir, cuando se aplica este modelo,
el software se desarrolla en una serie de entregas evolutivas (ciclos o
iteraciones), cada una de estas entregando prototipos ms completas que el
anterior, todo esto en funcin del anlisis de riesgo y las necesidades del
cliente. Aunque el modelo espiral representa ventajas por sobre el desarrollo
lineal, el clculo de los riesgos puede ser muy complicado y por lo cual su
uso en el mbito real es muy escaso.

09/09/16

Modelo de desarrollo por etapas


Es un modelo en el que el software se muestra al cliente en etapas

refinadas sucesivamente. Con esta metodologa se desarrollan las


capacidades ms importantes reduciendo el tiempo necesario para la
construccin de un producto; el modelo de entrega por etapas es til para
el desarrollo de la herramienta debido a que su uso se recomienda para
problemas que pueden ser tratados descomponindolos en problemas
ms pequeos y se caracteriza principalmente en que las especificaciones
no son conocidas en detalle al inicio del proyecto y por tanto se van
desarrollando simultneamente con las diferentes versiones del cdigo.

09/09/16

En este modelo pueden distinguirse las siguientes fases:

Especificacin conceptual.
Anlisis de requisitos.
Diseo inicial.
Diseo detallado (codificacin, depuracin, prueba y liberacin).

09/09/16

Modelo Incremental o Iterativo


Desarrollo iterativo y creciente (o incremental) es un proceso
de desarrollo de software, creado en respuesta a las
debilidades del modelo tradicional de cascada, es decir, este
modelo aplica secuencias lineales como el modelo en
cascada, pero de una manera iterativa o escalada segn
como avance el proceso de desarrollo y con cada una de
estas secuencias lineales se producen incrementos (mejoras)
del software

09/09/16

Modelo estructurado
Este modelo utiliza las tcnicas del diseo estructurado o de

la programacin estructurada para su desarrollo, tambin se


utiliza en la creacin de los algoritmos del programa. Este
formato facilita la comprensin de la estructura de datos y su
control. Entre las principales caractersticas de este modelo
se encuentran las siguientes:

09/09/16

Generalmente se puede diferenciar de una manera ms clara los

procesos y las estructuras de datos.


Existen mtodos que se enfocan principalmente en ciertos datos.
La abstraccin del programa es de un nivel mucho mayor.
Los procesos y estructuras de datos son representados
jerrquicamente

09/09/16

Modelo orientado a objetos


Estos modelos tienen sus races en la programacin orientada a

objetos y como consecuencia de ella gira entorno al concepto de


clase, tambin lo hacen el anlisis de requisitos y el diseo. Esto
adems de introducir nuevas tcnicas, tambin aprovecha las
tcnicas y conceptos del desarrollo estructurado, como diagramas
de estado y transiciones. El modelo orientado a objetos tiene dos
caractersticas principales, las cuales ha favorecido su expansin:

Permite la reutilizacin de software en un grado significativo.


Su simplicidad facilita el desarrollo de herramientas informticas de ayuda

al desarrollo, el cual es fcilmente implementada en una notacin orientada


a objetos llamado UML.
09/09/16

Modelo RAD (rapid application


development)
El RAD (rapid application development: desarrollo rpido de

aplicaciones), es un modelo de proceso de software


incremental, desarrollado inicialmente por James Maslow en
1980, que resalta principalmente un ciclo corto de desarrollo.

09/09/16

Esta es una metodologa que posibilita la construccin de


sistemas computacionales que combinen tcnicas y utilidades
CASE (Computer Aided Software Engineering), la construccin
de prototipos centrados en el usuario y el seguimiento lineal y
sistemtico de objetivos, incrementando la rapidez con la que
se producen los sistemas mediante la utilizacin de un enfoque
de desarrollo basado en componentes.

09/09/16

Modelo de desarrollo concurrente


El modelo de desarrollo concurrente es un modelo de tipo de
red donde todas las personas actan simultneamente o al
mismo tiempo. Este tipo de modelo se puede representar a
manera de esquema como una serie de actividades tcnicas
importantes, tareas y estados asociados a ellas.

09/09/16

El modelo de proceso concurrente define una serie de


acontecimientos que dispararan transiciones de estado a
estado para cada una de las actividades de la ingeniera del
software. Por ejemplo, durante las primeras etapas del diseo,
no se contempla una inconsistencia del modelo de anlisis.
Esto genera la correccin del modelo de anlisis de sucesos,
que disparara la actividad de anlisis del estado hecho al
estado cambios en espera. Este modelo de desarrollo se utiliza
a menudo como el paradigma de desarrollo de aplicaciones
cliente/servidor

09/09/16

Un sistema cliente/servidor se compone de un conjunto de


componentes funcionales. Cuando se aplica a cliente/servidor,
el modelo de proceso concurrente define actividades en dos
dimensiones: una divisin de sistemas y una divisin de
componentes. Los aspectos del nivel de sistemas se afrontan
mediante dos actividades: diseo y realizacin.

09/09/16

Proceso unificado del desarrollo de


software
El proceso unificado es un proceso de software genrico que puede

ser utilizado para una gran cantidad de tipos de sistemas de software,


para diferentes reas de aplicacin, diferentes tipos de organizaciones,
diferentes niveles de competencia y diferentes tamaos de proyectos.
Provee un enfoque disciplinado en la asignacin de tareas y
responsabilidades dentro de una organizacin de desarrollo. Su meta
es asegurar la produccin de software de muy alta calidad que
satisfaga las necesidades de los usuarios finales, dentro de un
calendario y presupuesto predecible.
09/09/16

Você também pode gostar