Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Procesos Del Software
Procesos Del Software
DE SISTEMAS DE INFORMACIÓN
FASE IDENTIFICACIÓN
PROCESOS
deL SOFTWARE
pROCESO DEL SOFTWARE - mODELOS
Procesos del software comerciales o metodologías de desarrollo
ACTIVIDAD DE PROYECTO
1. Determinar las especificaciones
funcionales del Sistema de
Información.
ACTIVIDAD DE APRENDIZAJE
2. Diseñar los mapas de procesos de
las áreas involucradas en el sistema
de información a desarrollar.
De clase mundial
MODELOS
Modelo de procesos en Cascada
Fase identificación
CON- PROCESOS DEL SOFTWARE COMERCIALES
O METODOLOGÍAS DE DESARROLLO 16
TENIDO 4
PROCESO
DEL SOFTWARE
18
Glosario
Referencias
ADSI
ADSI - Análisis y desarrollo de sistemas de información - SENA, DE CLASE MUNDIAL ADSI - Fase 1 identificación - Procesos del Software
]
Análisis y desarrollo de sistemas de información
Fase identificación
ceso
Aunque existen muchos procesos diferentes de softwa-
re algunas actividades fundamentales son comunes para
[
pro-
que cumple su especifi- necesidades cambiantes Codificación), Implementación, Pruebas y
cación. del cliente. Evolución. Etapas que concuerdan con las
La existencia de un proceso de sof- etapas genéricas de un proceso de softwa-
tware no es garantía que el software re planteadas por (Sommerville, 2005).
será entregado a tiempo, que satisfa-
ga al cliente y cumpla con sus expec- La conclusión es que todos los procesos
tativas. Para el aseguramiento de la del software involucran un ciclo de vida,
calidad en los procesos del software así como el ciclo de vida del ser humano
se trabaja a la par estándares de ca- es nacer, crecer, reproducirse y morir; los
lidad. Los ISO 9000 y 9001 son nor- software poseen también su ciclo de vida.
mas genéricas que actualmente se “Ciclo de vida del SW es el marco de refe-
aplican a cualquier organización que rencia que contiene los procesos, activida-
5
4
]
Modelos
Análisis y desarrollo de sistemas de información
Fase identificación
modelo del proceso seleccionado, el equipo de desarrollo debe elegir terfaces requeridas. re, y en las funciones externas, reali-
[
de manera tradicional un marco de trabajo genérico para el proceso, zando pruebas que aseguren que la
el cual puede incluir las etapas propuestas anteriormente, seguir el Diseño: el diseño del software se en- entrada definida produce los resulta-
ciclo de vida o definir un marco basado en: comunicación, planeación, foca en cuatro atributos distintos del dos que realmente se requieren.
modelado, construcción y desarrollo. Note que siguen siendo las mis- programa: la estructura de los datos,
mas etapas solo que varían su nombre. la arquitectura del software, el detalle Operación y mantenimiento: el sof-
procedimental y la caracterización de tware sufrirá cambios después de
del
la interfaz. El proceso de diseño tradu- que se entrega al cliente. Los cam-
ce los requisitos en una representación bios ocurrirán debido a que hayan
del software con la calidad requerida encontrado errores, a que el softwa-
Modelo de cascada antes de que comience la codificación. re deba adaptarse a cambios del en-
torno externo (sistema operativo o
Es el más conocido, está basado en el ciclo de vida tradicional del sof- Codificación: el diseño debe tradu- dispositivos periféricos), o debido a
tware, el paradigma del ciclo de vida abarca las siguientes actividades: cirse en una forma legible para la ma- que el cliente requiera ampliaciones
quina. El paso de codificación realiza funcionales o del rendimiento.
Figura 1.
Requerimientos
Modelo en cascada
Desventajas:
mo-
Diseño • Los proyectos reales raramente siguen el flujo secuencial que
propone el modelo, siempre hay iteraciones y se crean pro-
blemas en la aplicación del paradigma.
Codificación y Test
Unitario • Normalmente, es difícil para el cliente establecer explícitamen-
te al principio todos los requisitos. El ciclo de vida clásico lo
requiere y tiene dificultades en acomodar posibles incertidum-
7
6
]
Análisis y desarrollo de sistemas de información
Modelos de proceso
incrementales
En muchas situaciones los requisitos iniciales del sof-
tware están bien definidos en forma razonable, pero el
enfoque global del esfuerzo de desarrollo excluye un
proceso puramente lineal. Además, quizá haya una ne-
Fase identificación
cesidad imperiosa de proporcionar de manera rápida
[
•Los clientes pueden utilizar los incrementos iniciales como prototipos Sin embargo, existen algunos proble-
Definir esbozo Asignar requerimientos Diseñar la arquitectura y obtener experiencia sobre los requerimientos de los incrementos mas en el desarrollo incremental. Los
de requerimientos a los incrementos del sistema posteriores del sistema. incrementos deben ser relativamente
pequeños (no más de 20.000 líneas
• Existe un bajo riesgo de un fallo total del proyecto. Aunque se pueden en- de código) y cada uno debe entre-
9
8
]
Figura 3.
Modelo DRA
Equipo #n
Análisis y desarrollo de sistemas de información
Modelado
modelado del negocio
modelado de los datos
modelado del proceso
Construcción
reutilización de
Equipo #2 componentes
Comunicación generación
Modelado de código
modelado del negocio automático
modelado de los datos pruebas
modelado del proceso
Fase identificación
Planeación
Construcción
[
Construcción
reutilización de
componentes
generación automática
Desarrollo Rápido Modelo de proceso del desarrollo del software lineal secuencial que enfati-
za un ciclo de desarrollo extremadamente corto. Es una adaptación a “Alta
de código
pruebas
Ventajas de este modelo: En (Pressman, 2005) se establecen al- • No todos los tipos de aplicacio- • Enfatiza el desarrollo de compo-
gunas desventajas para este modelo: nes son apropiados para DRA. nentes de programas reutiliza-
• Permite el desarrollo de • Permite integrar diferen- Si un sistema no se puede dividir bles. La reutilización es la piedra
productos en periodos tes recursos humanos. • Para proyectos grandes aunque en módulos adecuadamente, la angular de las tecnologías de ob-
cortos de tiempo. por escalas, el DRA requiere re- construcción de los componen- jetos, y se encuentra en el mode-
11
10
]
Análisis y desarrollo de sistemas de información
Modelos
Fase identificación
de procesos evolutivos
[
Plan rápido
Comunicación
El software, como todos los sistemas complejos, evoluciona con el tiempo. Los modelos Modelado
de proceso evolutivos de se basan en la idea de desarrollar una implementación inicial, Diseño rápido
exponiéndola a los comentarios del usuario y refinándola a través de las diferentes versio-
nes hasta que se desarrolla un sistema adecuado.
13
12
]
Análisis y desarrollo de sistemas de información
Modelo en espiral
Propuesto originalmente por Boehm, es un modelo de proceso de software
evolutivo que conjuga la naturaleza iterativa de construcción de prototipos
con los aspectos controlados y sistemáticos del modelo lineal secuencial.
Proporciona el potencial para el desarrollo rápido de versiones incrementa-
les del software. Cuando se aplica el modelo en espiral, el software se desa-
rrolla en una serie de entregas evolutivas. Durante las primeras iteraciones,
la entrega tal vez sea un documento del modelo o un prototipo. Durante las
últimas iteraciones se producen versiones cada vez más completas del siste- Modelos
ma desarrollado. Un proceso en espiral se divide en un conjunto de activida-
des del marco de trabajo que define el equipo de ingeniería del software. La Orientados
Fase identificación
figura 6 plantea una serie de etapas que como se indicó deben ser definidas
por el equipo de desarrollo. (Pressman, 2005) a la Reutilización
[
15
14
Análisis y desarrollo de sistemas de información
ciales
[
Fase identificación
producto software, usualmente estos
procesos involucran aseguramiento de
la calidad. La interacción con el cliente es
planificada y acordada previamente. De-
nominados también procesos pesados o
no ágiles. Ejemplos de estos procesos se
tienen: Proceso Unificado de Desarrollo
(RUP), Métrica 3, MSF entre otros.
comer-
Procesos del software
comerciales o metodologías
de desarrollo
Actualmente la decisión de cual proceso de produc- •Procesos ágiles: procesos cuya caracte-
ción de software emplear para desarrollo está deter- rística es la gran interacción que tienen
17
16
]
Análisis y desarrollo de sistemas de información
GLOSARIO
[
Arquitectura de software: [Bass et al., Feature Driven Development (FDD): OO (Orientación por Objetos): En- •Pressman, R. (2005). Ingeniería del software, un enfoque práctico (sexta edición ed.).
Fase identificación
1998]: La arquitectura de un programa Metodología ágil de desarrollo. No foque para el desarrollo de sistemas McGraw-Hill.
o sistema de computación es la es- requiere un modelo específico de de software que representa el domi-
tructura o estructuras del sistema, que proceso y se complementa con otras nio de aplicación de forma natural
están compuestas de componentes metodologías. Enfatiza cuestiones y directa basándose en los objetos
software, de las propiedades visibles de calidad y define claramente en- que se implican en dicho dominio.
de esos componentes, y las relacio-
nes entre ellos.
tregas tangibles y formas de evalua-
ción del progreso. FDD consiste en
cinco procesos secuenciales durante
Emplea diversos métodos para repre-
sentar de forma abstracta los objetos,
referencias
Ciclo de vida del software: El con- los que se diseña y construye el sis- definiendo su estructura, comporta-
junto de procesos sistemáticos que tema: Desarrollo del modelo general miento, agrupaciones, estados, etc.
tienen lugar durante la existencia del – Construcción de la lista de rasgos
producto, desde su concepción ini- – Planeamiento por rasgo – Diseño Las estrategias de orientación por •Sommerville, I. (2005). Ingeniería del software (sexta edición ed.).
cial hasta que la organización decide por rasgo – Construcción por rasgo. objetos han desarrollado metodolo- madrid: Pearson Educación.
no continuar manteniéndolo. gías tanto para requisitos, como para
Metodologías ágiles: Estrategias de análisis, diseño y programación.
Extreme Programming (XP): Meto- desarrollo de software que promue-
dología heterodoxa de programación. ven prácticas que son adaptativas Rational Unified Process (RUP): Pro-
Es la más popular de las denomina- en vez de predictivas; centradas en ceso de Ingeniería del Software que
das metodologías ágiles. Surgida a las personas o los equipos, iterati- proporciona un enfoque disciplinado
partir de la metodología de trabajo vas, orientadas hacia la funcionali- para asignar tareas y responsabilida-
empleada Kent Beck, Wark Cunnin- dad y la entrega, de comunicación des en las organizaciones de desarro-
gham y Martin Fowler en el desa- intensiva y que requieren implica- llo de software. Se trata de un proceso Glosario de Ingeniería del Software. Recuperado de:
rrollo del proyecto C3 para Chrysler. ción directa de cliente. integrado en un producto, desarro-
Extreme Programming (XP) se funda llado y mantenido por Racional Sof-
en cuatro valores: comunicación, Microsoft Solutions Framework tware, e integrado en su conjunto de
simplicidad, feedback y coraje. (MSF): Marco para desarrollo de siste- herramientas de desarrollo. Se en-
19
18
LÍDER DEL PROGRAMA ADSI ASESORÍA PEDAGÓGICA ILUSTRACIÓN PORTADA
Vanessa Cristina Miranda Cano Claudia Herrera Cifuentes Saúl Suaza
vanessa24@misena.edu.co pipelore@yahoo.com ssuaza@gmail.com