



Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Los mejores documentos en venta realizados por estudiantes que han terminado sus estudios
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Descubre las mejores universidades de tu país según los usuarios de Docsity
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Apuntes del curso universitario de Informatica sobre los Fundamentos de la Ingenieria del Software - Apuntes de Diseño de Sistemas
Tipo: Apuntes
1 / 5
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!
Un proceso de software es un conjunto de actividades que se llevan a cabo para el desarrollo de un software. Existe una gran diversidad en la cantidad de aplicaciones y por lo tanto una gran diversidad en los tipos de proceso. Sin embargo, algunas actividades son comunes a todos los procesos:
Los modelos de software
Los modelos son una representación abstracta del proceso que presentan una vista teórica de las diferentes actividades llevadas a cabo en un proceso de software.
Algunos modelos generales son:
1) Cascada: Se plantean etapas bien definidas que se van concatenando en el tiempo. Hay muy poco solapamiento entre las etapas. Las^ principales^ son: a. Análisis de requerimientos b. Diseño c. Implementación d. Test e. Evolución El hecho se llamarse cascada se debe a que el flujo de trabajo corre generalmente en una sola dirección, y es muy costoso volver atrás en alguna etapa del proceso debido a que como la salida de una etapa es la entrada de la otra, un cambio en la primera incurrirá en grandes cambios en la posterior.
2) Evolutivo: Se trata de presentar una versión preliminar del sistema al usuario, refinarla a través del feedback que este nos mismo nos da e ir presentando nuevas versiones. Existen dos versiones de este modelo: a. Desarrollo exploratorio: La idea es trabajar con el cliente para explorar sus requerimientos y entregar un sistema final. b. Prototipos desechables: Se presenta un prototipo solo para de el sacar los requerimientos del sistema final.
Algunos problemas de este modelo son: c. Poca visibilidad: Debido a esto se deben entregar muchos documentos y esto no es rentable si se necesita un desarrollo rápido. d. Estructura deficiente: Los cambios continuos que se realizan tienden a corromper la estructura y aplicar nuevos cambios es cada vez más difícil.
3) IS basada en componentes: En muchos modelos se realiza la reutilización de código pero de manera informal (queda a cargo de cada dev). Sin embargo, esto se ha incorporado a algunos modelos de desarrollo y se está aplicando con buena aceptación. Los primeros pasos del desarrollo pueden ser comparables con modelos ya existentes. Sin embargo se incluyeron algunas nuevas etapas como: a. Análisis de componentes: Una vez que se tiene los requerimientos se buscan los componentes que puedan ser usados según las necesidades. b. Modificación de requerimientos: los requerimientos pueden ser modificados levemente según los componentes hallados, para que estos encajen de mejor manera. c. Desarrollo e integración: Para las necesidades que no se encontraron componentes aplicables se desarrolla y luego se integra todo el sistema.
Existen algunas variaciones de estos 3 modelos genéricos que se emplean en diferentes organizaciones. Uno de los más importantes es el modelo formal, donde la modelización se lleva a cabo a través de transformaciones matemáticas. Uno de los más conocidos es el de Clean Room, desarrollado por IBM. Este tipo de modelo son aplicables a proyectos que requieren alto de grado de seguridad y protección.
Otros modelos muy utilizados son:
**1) Espiral:
Las etapas del proceso
Las cuatro etapas principales del proceso son:
**1) Especificación
Diseño de interfaz: Se describen los input y output de cada subsistema, que será la forma en que se puede acceder a cada uno de ellos.
Diseño de componentes: Se le otorga funcionalidad a cada modulo y se diseñan las interfaces.
Diseño de estructura de datos: Se diseñan en detalle las estructuras de datos que se usaran en todo el sistema.
Diseño de Algoritmos: Se diseñan en detalle los algoritmos que prestaran servicio.
Validación del software
Es la verificación del producto para corroborar que cumple con las pautas y requerimientos establecidos por el cliente que lo comprará.
Es una buena práctica aplicar la validación en cada una de las etapas del proceso, pero normalmente no se ven los costos de la validación hasta la etapa de prueba del sistema.
La detección de errores lleva a cambios que pueden variar en importancia y por lo tanto puede cambiar la etapa en donde los cambios deban ser aplicados. Puede que se solucione con pequeños cambios en la etapa de implementación como que necesite un re diseño de un componente.
Las etapas de prueba pueden dividirse en 3 partes:
Evolución del Software
Existe una visión que separa al desarrollo del mantenimiento del software. Se piensa comúnmente que el desarrollo es la parte interesante y creativa del proceso de creación del software, sin embargo el mantenimiento en muchas ocasiones representa varias veces los costos del desarrollo. Debido a esto, es que cada vez esta diferencia se hace mas irrelevante, con lo que parece más realista ver a la IS como un proceso evolutivo.
RUP y UML
RUP es un modelo de trabajo que proviene de usar UML. Reúne elementos de todos los procesos de enfoque genérico.
El RUP es un modelo en fases que identifica cuatro fases diferentes en el proceso del software. Sin embargo, a diferencia del modelo en cascada donde las fases se equiparan con las actividades del proceso, las fases en el RUP están mucho más relacionadas con asuntos de negocio más que técnicos.
Herramientas CASE
Son herramientas informáticas que se utilizan para facilitar la labor de los diseñadores. Esta tecnología está disponible para casi todas las etapas de un proyecto, lo que permite una mejora en la calidad del producto dada la estandarización que permiten.