Con la finalidad de que puedas integrar los aprendizajes de esta primera unidad, analizarás un caso de estudio en el que relacionarás el uso de los métodos de desarrollo de software. El caso será proporcionado por tu Docente en línea, una vez que cuentes con él, realiza lo siguiente: 1. Analiza el caso de estudio considerando todos los datos que se proporcionan e identifica el problema(s) a resolver. El caso de estudio que se eligió es el siguiente, se requiere implementar un sistema para llevar el control escolar de un centro de capacitación, donde se pueda accesar al historial académico del estudiante y consultar los siguientes datos: 1. Almacenar los datos personales del alumno, como nombre, domicilio y teléfono. 2. Almacenamiento y consulta de historial académico, tales como curso y calificación. 3. Modificar los datos personales y el historial académico.
2. Determina las características que debe cubrir un ciclo de vida (modelo/método) para solucionar el problema(s). El ciclo de vida es el conjunto de fases por las que pasa el sistema que se está desarrollando desde que nace la idea inicial hasta que el software es retirado o remplazado (muere). También se denomina a veces paradigma. Entre las funciones que debe tener un ciclo de vida se pueden destacar:
Determinar el orden de las fases del proceso de software ‐
Establecer los criterios de transición para pasar de una fase a la siguiente
Definir las entradas y salidas de cada fase
Describir los estados por los que pasa el producto
Describir las actividades a realizar para transformar el producto
Definir un esquema que sirve como base para planificar, organizar, coordinar, desarrollar…
Un ciclo de vida para un proyecto se compone de fases sucesivas compuestas por tareas que se pueden planificar. Según el modelo de ciclo de vida, la sucesión de fases puede ampliarse con bucles de realimentación, de manera que lo que conceptualmente se considera una misma fase se pueda ejecutar más de una vez a lo largo de un proyecto, recibiendo en cada pasada de ejecución aportaciones a los resultados intermedios que se van produciendo (realimentación). Fases: una fase es un conjunto de actividades relacionadas con un objetivo en el desarrollo del proyecto. Se construye agrupando tareas (actividades elementales) que pueden compartir un tramo determinado del tiempo de vida de un proyecto. La agrupación temporal de tareas impone requisitos temporales correspondientes a la asignación de recursos (humanos, financieros o materiales). Entregables: son los productos intermedios que generan las fases. Pueden ser materiales o inmateriales (documentos, software). Los entregables permiten evaluar la marcha del proyecto mediante comprobaciones de su adecuación o no a los requisitos funcionales y de condiciones de realización previamente establecidos. 3. Identifica, al menos, 3 modelos que se puedan aplicar al caso de estudio. MODELOS DE CICLO DE VIDA La ingeniería del software establece y se vale de una serie de modelos que establecen y muestran las distintas etapas y estados por los que pasa un producto software, desde su concepción inicial, pasando por su desarrollo, puesta en marcha y posterior mantenimiento, hasta la retirada del producto. A estos modelos se les denomina “Modelos de ciclo de vida del software”. El primer modelo concebido fue el de Royce, más comúnmente conocido como Cascada o “Lineal Secuencial”. Este modelo establece que las diversas actividades que se van realizando al desarrollar un producto software, se suceden de forma lineal. Los modelos de ciclo de vida del software describen las fases del ciclo de software y el orden en que se ejecutan las fases. Un modelo
de ciclo de vida de software es una vista de las actividades que ocurren durante el desarrollo de software, intenta determinar el orden de las etapas involucradas y los criterios de transición asociados entre estas etapas. Un modelo de ciclo de vida del software: ‐ Describe las fases principales de desarrollo de software ‐ Define las fases primarias esperadas de ser ejecutadas durante esas fases ‐ Ayuda a administrar el progreso del desarrollo ‐ Provee un espacio de trabajo para la definición de un proceso detallado de desarrollo de software En cada una de las etapas de un modelo de ciclo de vida, se pueden establecer una serie de objetivos, tareas y actividades que lo caracterizan. Existen distintos modelos de ciclo de vida, y la elección de un modelo para un determinado tipo de proyecto es realmente importante; el orden es uno de estos puntos importantes. Existen varias alternativas de modelos de ciclo de vida. A continuación se muestran algunos de los modelos tradicionales y más utilizados. A continuación se enlistan los tres modelos de ciclo de vida que se adaptan más al caso descrito con anterioridad.
Modelo en cascada
Modelo iterativo
Modelo en espiral
4. Elabora un cuadro comparativo sobre las características de los 3 métodos que identificaste con respecto a las características del caso. Utiliza una tabla como la siguiente: Mod elo Características del caso
en casc ada
1.
Es un mod
Mo Mod
del
elo
o
itera
en
tivo
espi ral
elo en face s 2. 3. … file:///C:/Users/Ariana %20Villafuerte/Downloads/guia_de_ingenieria_del_ software%20(1).pdf
5. A partir de la comparación hecha, redacta una justificación acerca de cuál es el mejor método para solucionar el problema planteado en el caso, considera las características del equipo de trabajo y los datos del proyecto. Un ciclo de vida describe la vida de un producto de software desde su definición, pasando por su diseño, implementación, verificación, validación, entrega hasta su operación y mantenimiento. Para este caso se utilizará el modelo en espiral que cada giro representa una especificación del proceso de diseño con una mejor incluida. Por ejemplo, el primer giro sirve para definir los objetivos, las alternativas y las restricciones, el segundo giro se utiliza para la especificación de requisitos, el tercer giro es el de diseño, el cuatro giro se utiliza para la implementación y así sucesivamente.