Post on 08-Nov-2015
description
Anlisis y diseo de Sistemas
Prof. Giancarlo Escobedo Valdivia
INGENIERA DE SOFTWARE
El trmino Ingeniera se define como un conjunto de conocimientos y tcnicas que permiten aplicar el saber
cientfico a la utilizacin de la materia y de las fuentes de energa. Su aplicacin permite la utilizacin racional
de los materiales y de los recursos naturales mediante invenciones, construcciones y otras realizaciones
provechosas para el hombre.
Qu es software de computadora?
El software es un elemento lgico del sistema que se desarrolla, no se estropea y en la mayora de
casos se construye a medida. El software se define tambin como el producto que abarca programas
que se ejecutan dentro de una computadora de cualquier tamao y arquitectura, documentos que
comprenden formularios e impresos y datos que combinan nmeros y texto, y tambin incluyen
representaciones de informacin de audio, video e imgenes.
Qu es la ingeniera de software?
La Ingeniera del Software es una disciplina o rea de la informtica o ciencias de la computacin, que
ofrece mtodos y tcnicas para desarrollar y mantener software de calidad que resuelven problemas
de todo tipo.
Esta disciplina trata con reas muy diversas de la informtica y de las ciencias de la computacin, tales
como construccin de sistemas operativos, compiladores o desarrollo de aplicaciones en Intranet /
Internet. Aborda todas las fases del ciclo de vida de desarrollo de cualquier tipo de sistemas de
informacin y es aplicable a una infinidad de reas tales como: negocios, investigacin cientfica,
medicina, produccin, logstica, banca y finanzas, derecho, etc.
El proceso del software
Es el marco de trabajo de las tareas, que se requieren para construir software de alta calidad. Un
proceso de software, define el enfoque que se toma cuando el software es tratado por la ingeniera.
La ingeniera de software es una tecnologa multicapa como se muestra a continuacin:
Anlisis y diseo de Sistemas
Prof. Giancarlo Escobedo Valdivia
Cualquier enfoque de ingeniera debe apoyarse sobre un compromiso de organizacin de calidad. El
fundamento de la ingeniera del software es la capa de proceso. Los mtodos de la ingeniera del
software indican cmo construir tcnicamente el software. Las herramientas de la ingeniera del
software Proporcionan un enfoque automtico o semi-automtico para el proceso y para los mtodos,
Ej.: CASE.
Las fases genricas de un proceso de software
Las fases genricas del proceso del software son tres:
La fase de definicin
La fase de desarrollo
La fase de mantenimiento
La fase de definicin
Se centra sobre el qu. El que desarrolla el software intenta identificar qu informacin ha de ser
procesada, que funcin y rendimiento se desea, qu comportamiento del sistema, qu inter-fases van
a ser establecidas, qu restricciones de diseo existen y qu criterios de validacin se necesitan para
definir un sistema correcto. Por tanto, han de identificarse los requisitos clave del sistema. Tendrn
lugar tres tareas clave:
La ingeniera de sistemas o de informacin
La planificacin de proyectos de software
Anlisis de requisitos
La fase de desarrollo
Se centra en el cmo. Durante el desarrollo, se 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 proced mentales, cmo han de caracterizarse interfaces, cmo ha de
traducirse el diseo en un lenguaje de programacin y cmo han de realzarse las pruebas. Las tres
tareas especficas tcnicas que tendrn lugar son:
El diseo del software
La generacin de cdigo
Las pruebas de software
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
Entre las actividades tpicas de esta categora se incluyen:
Seguimiento y control del proyecto de software
Anlisis y diseo de Sistemas
Prof. Giancarlo Escobedo Valdivia
Revisiones tcnicas formales que garanticen de calidad del software
Gestin de configuracin del software
Preparacin y produccin de documentos
Gestin de reutilizacin y de riesgos
Modelos de proceso de software
Para resolver los problemas reales de una industria, se debe incorporar una estrategia de desarrollo,
que acompae al proceso, a los mtodos, las herramientas y las fases genricas tratadas en los puntos
anteriores. Esta estrategia a menudo se llama Modelo de Proceso o Paradigma de Ingeniera del
Software. Se seleccionar un modelo de proceso para la ingeniera del software segn la naturaleza
del proyecto y de la aplicacin.
A continuacin se presentan los modelos de procesos para la ingeniera del software:
El Modelo Lineal Secuencial
El Modelo de Construccin de Prototipos
El Modelo DRA
Modelos Evolutivos de Proceso del Software:
o El modelo incremental
o El modelo espiral
o El modelo de desarrollo concurrente
Desarrollo basado en componentes
MODELO LINEAL
MODELO PROTOTIPO
Anlisis y diseo de Sistemas
Prof. Giancarlo Escobedo Valdivia
MODELO INCREMENTAL
Metodologa de desarrollo de software
Es una estrategia de desarrollo que, resuelve problemas reales de la industria del software, explicando
cmo hay que obtener los distintos productos. La Metodologa de desarrollo de software puede seguir
uno o varios modelos de proceso de software. Las metodologas se clasifican en:
Convencionales
Estructurales
Orientadas a Objetos
giles.
Metodologas de Desarrollo de Software Orientadas a Objetos
No es sorprendente que se proponga una visin orientada a objetos para la creacin de software de
computadora, una abstraccin que modela el mundo de forma tal que nos ayuda a entenderlo y
administrarlo mejor.
Entre las metodologas destacan:
- BoochOOD.
- Rumbaugh OMT.
- Catalysis.
- CBDIe.
- Objectory Process 3.8, 4.0,4.1.
- Proceso Unificado 1999.
- Rational Unified Process 5.1, 5.1.1.
Metodologas giles
Las metodologas giles forman parte del movimiento de desarrollo gil de software. Se basan en la
adaptabilidad de cualquier cambio como medio para aumentar las posibilidades de xito de un
proyecto.
Una metodologa gil es la que tiene como principios que:
Los individuos y. sus interacciones son ms importantes que los procesos y las herramientas.
El software que funciona es ms importante que la documentacin exhaustiva.
La colaboracin con el cliente en lugar de la negociacin de contratos.
Anlisis y diseo de Sistemas
Prof. Giancarlo Escobedo Valdivia
La respuesta delante del cambio en lugar de seguir un plan cerrado.
Se puede decir que, este movimiento empez a existir a partir de febrero de 2001, cuando
se reunieron los representantes de cada una de estas metodologas y terminaron poniendo
en comn sus ideas en una declaracin conjunta.
Entre las metodologas giles destacan:
Extreme Programming (XP)
Mtodo del Desarrollo Dinmico de Sistemas (DSDM)
Desarrollo conducido por Caractersticas (FDD)
ICONIX