You are on page 1of 9

UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA

“FEDERICO BRITO FIGUEROA”


LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233

PROCESO DE DESARROLLO DE SOFTWARE

1.- Definición

El proceso de ingeniería de software se define como "un conjunto de


etapas parcialmente ordenadas con la intención de logra un objetivo, en este
caso, la obtención de un producto de software de calidad" [Jacobson 1998].

El proceso de desarrollo de software "es aquel en que las


necesidades del usuario son traducidas en requerimientos de software, estos
requerimientos transformados en diseño y el diseño implementado en código,
el código es probado, documentado y certificado para su uso operativo".
Concretamente "define quién está haciendo qué, cuándo hacerlo y cómo
alcanzar un cierto objetivo" [Jacobson 1998].

 Conjunto estructurado de actividades requeridas para desarrollar o


evolucionar un sistema de software.

Algunas actividades genéricas en todos los procesos de software son:


Especificación: qué debe hacer el software y cuáles son sus
especificaciones de desarrollo (requerimientos y restricciones del
sistema).
Diseño: producción del modelo del sistema de software
Desarrollo: construcción del sistema de software
Validación: verificar que el software cumple con lo solicitado por el
cliente (especificaciones requeridas)
Evolución: cambiar/adaptar el software a las nuevas demandas
Instalación: entregar el sistema al usuario y asegurar su
operacionalidad
Mantenimiento: reparar fallos en el sistema cuando sea
descubiertos
.
 Las actividades varían dependiendo de la organización y del tipo de
sistema a desarrollarse.
 Debe estar explícitamente modelado si va a ser bien administrado.

2.- Visión general del proceso/etapas de ISw

Con independencia del área de aplicación, tamaño o complejidad del proyecto,


cualquier sistema se encontrará al menos en una de las siguientes fases
genéricas:

Ø Definición ~ Análisis (del sistema, del sw.)


Ø desarrollo ~ Diseño, codificación, prueba
Ø mantenimiento.

PROF. ING. OMAR ROSALES Página 1


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233

 Fase de definición/Análisis

 Se centra en el QUÉ
¿Qué debe hacer el sistema?
 Información que ha de manejar el sistema
 Necesidades de rendimiento
 Restricciones de diseño
 Interfaces del sistema con los usuarios y con otros sistemas
 Criterios de validación
 Se elaboran los documentos de requisitos del Sistema (SyRS) y del
software (SRS).

 Fase de Desarrollo

Se centra en el CÓMO
¿Cómo construir el sistema?
 Se diseñan e implementan las estructuras de los datos y los programas
 Cómo se caracterizan las interfaces,
 Cómo realizar el paso de traducción del diseño al lenguaje de
programación,
 Cómo ha de realizarse la prueba,
Se escriben y documentan los programas, y se prueba el software construido.

 Fase de Mantenimiento

 Comienza una vez construido el sistema, cuando se empieza a utilizar.


 Se centra en los cambio asociados a:
o La corrección de errores
o Adaptaciones requeridas por la evolución del entorno
o Mejoras producidas por los requerimientos del cliente
 El software es sometido a reparaciones y modificaciones cada vez que
se detecta un fallo o se necesita cubrir una nueva necesidad de los
usuarios.
 En esta fase recae el mayor porcentaje del coste de un sistema.

3.- Elementos de la ingeniería del software

Tres elementos claves:


 Métodos
 Herramientas
 Procedimientos

 Los Métodos: Indican cómo construir técnicamente el software. Abarcan


una gran cantidad de tareas:

 Indican “como” construir el software

PROF. ING. OMAR ROSALES Página 2


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233


 Abarcan un amplio espectro:
o Planificación y estimación de proyectos
o Análisis de los requisitos del sistema y del software
o Diseño de estructuras de datos
o Arquitectura de programas y procedimientos algorítmicos
o Codificación, prueba y mantenimiento

 Las herramientas proporcionan un soporte automático o


semiautomático para la aplicación de los procedimientos y los métodos.

 Suministran un soporte automático para los métodos


 Existen herramientas para soportar cada uno de los métodos
mencionados anteriormente
 Un entorno con integración de diferentes herramientas. Se
denomina un sistema CASE (Ingenieria del Software Asistida por
Ordenador

 Los procedimientos Un procedimiento software se puede caracterizar


por un conjunto de actividades que se pueden aplicar en el desarrollo de
cualquier proyecto software así como la forma de abarcarlas durante el
desarrollo del mismo

 “Pegamento” que junta los métodos y las herramientas


 Definen:
o La secuencia en la que se aplican los métodos
o Las entregas (documentos, informes, etc..) requeridas
o Los controles: ayudan a asegurar la calidad y coordinar los
cambios
o Directrices: ayudan a los gestores del software a evaluar el
progreso

* Herramientas CASE (Computer-Aided Software Engineering) Conjunto de


herramientas para soportar las tareas de Ingeniería del software y diseñadas
de manera que la información generada por una de ellas sirva de entrada a
otras

PROF. ING. OMAR ROSALES Página 3


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233

4.- PASOS EN EL DESARROLLO DE SOFTWARE

PROF. ING. OMAR ROSALES Página 4


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233

6.- METODOLOGIA DE DESARROLLO DE SOFTWARE

Las Metodologías: Es un conjunto coherente de métodos y técnicas


que cubren más de una etapa del ciclo de vida de un software.

Una Metodología de desarrollo de software es un marco de trabajo


usado para estructurar, planificar y controlar el proceso de desarrollo en
sistemas de información.

Define artefactos, roles y actividades involucrados, junto con prácticas y


técnicas recomendadas

Existen diferentes metodologías, que se encuentran clasificadas en dos grupos:

 Metodologías Estructuradas
 Metodología Orientada a Objeto

Según filosofía de desarrollo

Metodología tradicionales o Pesada:


 Metodología RUP (Rational Unified Process)

Metodologías Agiles:
 Adaptive Software Development (ASD)
 Lean Software Development (LSD),
 Programación Extrema (XP)
 Scrum.

PROF. ING. OMAR ROSALES Página 5


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233


Cada metodología de desarrollo de software tiene más o menos su propio
enfoque para el desarrollo de software. Estos enfoques son los llamados
“Modelos de Desarrollo de Software”.

7.- Modelos de Desarrollo de Software

Es la representación formal o simplificada del proceso de software.

Los paradigmas o modelos de desarrollo de Software son estrategias de


desarrollo para organizar las diversas etapas y actividades del ciclo de vida del
software

Describe las transiciones entre las etapas, especificando qué actividades


desarrollar en cada momento.

Selección de un modelo o paradigma específico depende de: la


naturaleza del proyecto y/o aplicación, los métodos, las herramientas a utilizar,
los controles y entregas que se requieren.

 Principales Modelos

 Modelo En Cascada
 Modelo En Espiral
 Modelo Evolutivo O De Prototipo
 Modelo Incremental
 Basado En Componentes O De Reutilización
 Modelo En V

PROF. ING. OMAR ROSALES Página 6


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233

8.- Ciclo de vida del software

El término ciclo de vida del software describe el desarrollo de software, desde


la fase inicial hasta la fase final. El propósito de este programa es definir las
distintas fases intermedias que se requieren para validar el desarrollo de la
aplicación, es decir, para garantizar que el software cumpla los requisitos para
la aplicación y verificación de los procedimientos de desarrollo: se asegura de
que los métodos utilizados son apropiados.

Estos programas se originan en el hecho de que es muy costoso rectificar los


errores que se detectan tarde dentro de la fase de implementación. El ciclo de
vida permite que los errores se detecten lo antes posible y por lo tanto, permite
a los desarrolladores concentrarse en la calidad del software, en los plazos de
implementación y en los costos asociados.

El ciclo de vida básico de un software consta de los siguientes procedimientos:

Definición de objetivos: definir el resultado del proyecto y su papel en


la estrategia global.
Análisis de los requisitos y su viabilidad: recopilar, examinar y
formular los requisitos del cliente y examinar cualquier restricción que se
pueda aplicar.
Diseño general: requisitos generales de la arquitectura de la aplicación.
Diseño en detalle: definición precisa de cada subconjunto de la
aplicación.
Programación (programación e implementación): es la implementación
de un lenguaje de programación para crear las funciones definidas
durante la etapa de diseño.
Prueba de unidad: prueba individual de cada subconjunto de la
aplicación para garantizar que se implementaron de acuerdo con las
especificaciones.
Integración: para garantizar que los diferentes módulos se integren con
la aplicación. Éste es el propósito de la prueba de integración que está
cuidadosamente documentada.
Prueba beta (o validación), para garantizar que el software cumple con
las especificaciones originales.
Documentación: sirve para documentar información necesaria para los
usuarios del software y para desarrollos futuros.
Implementación
Mantenimiento: para todos los procedimientos correctivos
(mantenimiento correctivo) y las actualizaciones secundarias del
software (mantenimiento continuo).

PROF. ING. OMAR ROSALES Página 7


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233

OTRA CLASIFICACIÓN

- ANÁLISIS: En esta etapa se debe entender y comprender de forma detallada


cual es la problemática a resolver, verificando el entorno en el cual se
encuentra dicho problema, de tal manera que se obtenga la información
necesaria y suficiente para afrontar su respectiva solución. Esta etapa es
conocida como la del QUÉ se va a solucionar.

- DISEÑO: Una vez que se tiene la suficiente información del problema a


solucionar, es importante determinar la estrategia que se va a utilizar para
resolver el problema. Esta etapa es conocida bajo el CÓMO se va a solucionar.

- IMPLEMENTACIÓN: partiendo del análisis y diseño de la solución, en esta


etapa se procede a desarrollar el correspondiente programa que solucione el
problema mediante el uso de una herramienta computacional determinada.

- PRUEBAS: Los errores humanos dentro de la programación de los


computadores son muchos y aumentan considerablemente con la complejidad
del problema. Cuando se termina de escribir un programa de computador, es
necesario realizar las debidas pruebas que garanticen el correcto
funcionamiento de dicho programa bajo el mayor número de situaciones
posibles a las que se pueda enfrentar.

- DOCUMENTACIÓN: Es la guía o comunicación escrita en sus diferentes


formas, ya sea en enunciados, procedimientos, dibujos o diagramas que se
hace sobre el desarrollo de un programa. La importancia de la documentación
radica en que a menudo un programa escrito por una persona, es modificado
por otra. Por ello la documentación sirve para ayudar a comprender o usar un
programa o para facilitar futuras modificaciones (mantenimiento).

La documentación se compone de tres partes:

a. Documentación Interna: Son los comentarios o mensajes que se añaden al


código fuente para hacer más claro el entendimiento de los procesos que lo
conforman, incluyendo las precondiciones y las poscondiciones de cada
función.

b. Documentación Externa: Se define en un documento escrito con los


siguientes puntos:

Descripción del Problema

Datos del Autor

Algoritmo (diagrama de flujo o Pseudocódigo)

PROF. ING. OMAR ROSALES Página 8


UNIVERSIDAD POLITECNICA TERRITORIAL DEL ESTADO ARAGUA
“FEDERICO BRITO FIGUEROA”
LA VICTORIA, ESTADO ARAGUA
DEPARTAMENTO DE INFORMÁTICA

INGENIERIA DE SOFTWARE I – PIIS233


Diccionario de Datos

Código Fuente (programa)

c. Manual de Usuario: Describe paso a paso la manera como funciona el


programa, con el fin de que el usuario lo pueda manejar para que obtenga el
resultado deseado.

- MANTENIMIENTO: una vez instalado un programa y puesto en marcha para


realizar la solución del problema previamente planteado o satisfacer una
determinada necesidad, es importante mantener una estructura de
actualización, verificación y validación que permitan a dicho programa ser útil y
mantenerse actualizado según las necesidades o requerimientos planteados
durante su vida útil. Para realizar un adecuado mantenimiento, es necesario
contar con una buena documentación del mismo.

El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida


de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre
el cliente y el equipo de desarrolladores.

INGENIERÍA DE SISTEMAS: En esta etapa el analista luego de un minucioso


y detallado estudio de los sistemas de una organización, detecta un problema o
una necesidad, que para su solución y/o satisfacción, es necesario realizar un
desarrollo de software.

PROF. ING. OMAR ROSALES Página 9

You might also like