Professional Documents
Culture Documents
Importancia
La ingeniera de software es muy importante ya que con ella se puede analizar, disear,
programar y aplicar un software de manera correcta y organizada, cumpliendo con todas
las especificaciones del cliente y el usuario final.
PROCESO
El proceso es un dilogo en el que se rene el conocimiento y se incluye en el software.
El proceso proporciona una interaccin entre los usuarios y los diseadores, entre los
usuarios y las herramientas de desarrollo, y entre los diseadores y las herramientas de
desarrollo [tecnologa]. Es un proceso interactivo donde la herramienta de desarrollo se
usa como medio de comunicacin, con cada iteracin del dilogo se obtiene mayor
conocimiento de las personas involucradas.
Cuando se trabaja para construir un producto o un sistema, es importante seguir una serie
de pasos predecibles, un mapa de carreteras que le ayude a obtener el resultado
oportuno de calidad. El mapa de carreteras a seguir es llamado proceso del software.
Lo construyen los ingenieros del software y sus gestores adaptan el proceso a sus
necesidades y entonces lo siguen. Adems las personas que han solicitado el software
tienen un papel a desempear en el proceso del software. Es importante porque
proporciona estabilidad, control y organizacin a una actividad que puede, si no se
controla, volverse catica.
Los pasos son a un nivel detallado, el proceso que adoptemos depende del software que
estamos construyendo. Un proceso puede ser apropiado para crear software de
un sistema de aviacin, mientras que un proceso diferente por completo puede ser
adecuado para la creacin de un sitio web.
A pesar de que existen similitudes entre el desarrollo del software y la manufactura del
hardware, las dos actividades serian diferentes en lo fundamental. En ambas la alta
calidad se alcanza por medio del buen diseo, la fase de manufactura del hardware puede
incluir problemas de calidad existentes en el software.
El software no se desgasta.
El software es inmune a los males ambientales que desgasten el hardware. Por lo tanto la
curva de tasas de fallas para el software debera tener la forma de la curva idealizada.
Los defectos sin descubrir causan tasas de fallas altas en las primeras etapas de vida de
un programa. Sin embargo, los errores se corrigen y la curva se aplana: el software no se
desgasta, pero si se deteriora.
PRODUCTO
La expresin ingeniera de producto se refiere al proceso de diseo y desarrollo de un
equipo, sistema o aparato de forma tal que se obtiene un elemento apto para su
comercializacin mediante algn proceso de fabricacin. Por lo general la ingeniera de
producto comprende actividades relacionadas con optimizar el costo de produccin, su
facilidad de fabricacin, su calidad, funcionalidad, confiabilidad y otras caractersticas
importantes para el usuario. Por lo general se busca obtener un producto con estas
caractersticas de manera que el producto resulte ms atractivo y competitivo en
el segmento del mercado que tiene por objetivo. De esta forma se aumentan las
posibilidades de xito del negocio que posee el fabricante de dicho producto.
Caractersticas
Rapidez: Se refiere a la agilidad y rapidez del proceso para ser capaz de entregar un
producto final a partir de las especificaciones.
Fase de definicin: Esta fase se concentra principalmente en que tiene que ser
completado por el proceso de software.
Desventajas:
En la vida real, un proyecto rara vez sigue una secuencia lineal, esto crea una mala
implementacin del modelo, lo cual hace que lo lleve al fracaso.
El proceso de creacin del software tarda mucho tiempo ya que debe pasar por el
proceso de prueba y hasta que el software no est completo no se opera. Esto es la
base para que funcione bien.
Cualquier error de diseo detectado en la etapa de prueba conduce necesariamente al
rediseo y nueva programacin del cdigo afectado, aumentando los costos del
desarrollo.
Ventajas:
Desventajas:
Debido a que el usuario ve que el prototipo funciona piensa que este es el producto
terminado y no entienden que recin se va a desarrollar el software.
El desarrollador puede caer en la tentacin de ampliar el prototipo para construir
el sistema final sin tener en cuenta los compromisos de calidad y mantenimiento que
tiene con el cliente
Ventajas:
Desventajas:
1. Plan operativo Etapa donde se define el problema a resolver, las metas del proyecto,
las metas de calidad y se identifica cualquier restriccin aplicable al proyecto.
2. Especificacin de requisitos Permite entregar una visin de alto nivel sobre el
proyecto, poniendo nfasis en la descripcin del problema desde el punto de vista de los
clientes y desarrolladores. Tambin se considera la posibilidad de una planificacin de los
recursos sobre una escala de tiempos.
3. Especificacin funcional Especifica la informacin sobre la cual el software a
desarrollar trabajar.
4. Diseo Permite describir como el sistema va a satisfacer los requisitos. Esta etapa a
menudo tiene diferentes niveles de detalle. Los niveles ms altos de detalle generalmente
describen los componentes o mdulos que formarn el software a ser producido. Los
niveles ms bajos, describen, con mucho detalle, cada mdulo que contendr el sistema.
5. Implementacin Aqu es donde el software a ser desarrollado se codifica.
Dependiendo del tamao del proyecto, la programacin puede ser distribuida entre
distintos programadores o grupos de programadores. Cada uno se concentrar en la
construccin y prueba de una parte del software, a menudo un subsistema. Las pruebas,
en general, tiene por objetivo asegurar que todas las funciones estn correctamente
implementadas dentro del sistema.
6. Integracin Es la fase donde todos los subsistemas codificados independientemente
se juntan. Cada seccin es enlazada con otra y, entonces, probada. Este proceso se
repite hasta que se han agregado todos los mdulos y el sistema se prueba como un
todo.
7. Validacin y verificacin Una vez que el sistema ha sido integrado, comienza esta
etapa. Es donde es probado para verificar que el sistema es consistente con la definicin
de requisitos y la especificacin funcional. Por otro lado, la verificacin consiste en una
serie de actividades que aseguran que el software implementa correctamente una funcin
especfica. Al finalizar esta etapa, el sistema ya puede ser instalado en ambiente de
explotacin.
8. Mantenimiento El mantenimiento ocurre cuando existe algn problema dentro de un
sistema existente, e involucrara la correccin de errores que no fueron descubiertos en
las fases de prueba, mejoras en la implementacin de las unidades del sistema y cambios
para que responda a los nuevos requisitos. Las mantenciones se puede clasificar en:
correctiva, adaptativa, perfectiva y preventiva.
Desarrollo iterativo y creciente: Es un proceso de desarrollo de software, creado en
respuesta a las debilidades del modelo tradicional de cascada. La idea principal detrs de
mejoramiento iterativo es desarrollar un sistema de programas de manera incremental,
permitindole al desarrollador sacar ventaja de lo que se ha aprendido a lo largo del
desarrollo anterior, incrementando, versiones entregables del sistema. El aprendizaje
viene de dos vertientes: el desarrollo del sistema, y su uso (mientras sea posible). Los
pasos claves en el proceso son comenzar con una implementacin simple de los
requerimientos del sistema, e iterativamente mejorar la secuencia evolutiva de versiones
hasta que el sistema completo est implementado. En cada iteracin, se realizan cambios
en el diseo y se agregan nuevas funcionalidades y capacidades al sistema. El proceso
consiste en:
Etapa de inicializacin:
Se crea una versin del sistema. La meta de esta etapa es crear un producto con el que el
usuario pueda interactuar, y por ende retroalimentar el proceso. Debe ofrecer una muestra
de los aspectos claves del problema y proveer una solucin lo suficientemente simple
para ser comprendida e implementada fcilmente. Para guiar el proceso de iteracin se
crea una lista de control de proyecto, que contiene un historial de todas las tareas que
necesitan ser realizadas. Incluye cosas como nuevas funcionalidades para ser
implementadas, y reas de rediseo de la solucin ya existente. Esta lista de control se
revisa peridica y constantemente como resultado de la fase de anlisis.
Etapa de iteracin:
Esta etapa involucra el rediseo e implementacin de una tarea de la lista de control de
proyecto, y el anlisis de la versin ms reciente del sistema. La meta del diseo e
implementacin de cualquier iteracin es ser simple, directa y modular, para poder
soportar el rediseo de la etapa o como una tarea aadida a la lista de control de
proyecto. El cdigo puede, en ciertos casos, representar la mayor fuente de
documentacin del sistema. El anlisis de una iteracin se basa en la retroalimentacin
del usuario y en el anlisis de las funcionalidades disponibles del programa. Involucra el
anlisis de la estructura, modularidad, usabilidad, confiabilidad, eficiencia y eficacia
(alcanzar las metas). La lista de control del proyecto se modifica bajo la luz de los
resultados del anlisis.
Desventajas:
Requiere de un cliente involucrado durante todo el curso del proyecto. Hay clientes
que simplemente no estarn dispuestos a invertir el tiempo necesario.
Infunde responsabilidad en el equipo de desarrollo al trabajar directamente con el
cliente, requiriendo de profesionales sobre el promedio.
Sufre fuertes penalizaciones en proyectos en los cuales los requerimientos estn
previamente definidos, o para proyectos "todo/nada" en los cuales se requiere que se
completen en un 100% el producto para ser implementado (por ejemplo,
licitaciones)otro punto muy importante es asegurarnos de que el trabajo se pueda
cumplir tomando en cuenta los costos que podamos usar en nuestros propios recursos
Modelo DRA: (Desarrollo Rpido de Aplicaciones), Modelo de proceso del desarrollo del
software lineal secuencial que enfatiza un ciclo de desarrollo extremadamente corto. Es
una adaptacin a Alta velocidad en el que se logra el desarrollo rpido utilizando un
enfoque de construccin basado en componentes. Si se comprenden bien los requisitos y
se limita el mbito del proyecto, el proceso DRA permite al equipo de desarrollo crear un
sistema completamente funcional dentro de periodos cortos de tiempo.
Es muy rpido.
Permite trabajar en l a varias personas a la vez
Para proyectos grandes aunque por escalas, el DRA requiere recursos humanos
suficientes como para crear el nmero correcto de equipos DRA.
Requiere clientes y desarrolladores comprometidos en las rpidas actividades
necesarias para completar un sistema en un marco de tiempo abreviado. Si no hay
compromiso, por ninguna de las partes constituyentes, los proyectos DRA
fracasaran.
No todos los tipos de aplicaciones son apropiados para DRA. Si un sistema no se
puede modular adecuadamente. La construccin de los componentes necesarios
para DRA ser problemtico. Si est en juego el alto rendimiento, y se va a
conseguir el rendimiento convirtiendo interfaces en componentes de sistema, el
enfoque DRA puede que no funcione.
No es adecuado cuando los riesgos tcnicos son altos. Esto ocurre cuando una
nueva aplicacin hace uso de tecnologas nuevas, o cuando el nuevo software
requiere un alto grado de interoperabilidad con programas de computadora ya
existentes.
Enfatiza el desarrollo de componentes de programas reutilizables. La reutilizacin
es la piedra angular de las tecnologas de objetos, y se encuentra en el modelo de
proceso de ensamblaje.
Esto genera la correccin del modelo de anlisis de sucesos, que disparar la actividad
de anlisis del estado hecho al estado cambios en espera. Es un modelo de tipo de red
donde todas las personas actan simultneamente o al mismo tiempo.
Ventajas
Excelente para proyectos en los que se conforman grupos de trabajo independientes.
Proporciona una imagen exacta del estado actual de un proyecto.
Desventajas
Si no se dan las condiciones sealadas no es aplicable.
Si no existen grupos de trabajo no se puede trabajar en este mtodo
Elaborado por:
Miguel Artigas. C.I 24.553.549