Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ÍNDICE
ÍNDICE..................................................................................................................... 1
Índice de figuras.......................................................................................................4
Índice de tablas........................................................................................................ 5
INTRODUCCIÓN..................................................................................................... 6
DESARROLLO DE LA ACTIVIDAD.........................................................................7
Problema propuesto............................................................................................. 7
Desarrollo de software..........................................................................................8
Método de desarrollo de software en cascada..................................................8
1) Análisis................................................................................................. 8
2) Diseño.................................................................................................. 8
3) Codificación..........................................................................................9
4) Pruebas.............................................................................................. 10
5) Mantenimiento....................................................................................10
Explica el código en lenguaje C del programa que soluciona el problema
propuesto con el método de desarrollo de software en cascada.................12
Método de desarrollo de software iterativo.....................................................13
Iteración 1....................................................................................................... 14
1) Comunicación.....................................................................................14
2) Planeación..........................................................................................14
3) Modelado (análisis y diseño)..............................................................15
3.1) Análisis.................................................................................................15
3.2) Diseño..................................................................................................15
4) Construcción (Código, Prueba)..........................................................15
4.1) Código..................................................................................................15
4.2) Prueba..................................................................................................16
5) Despliegue (Entrega, retroalimentación)............................................17
5.1) Entrega.................................................................................................17
5.2) Retroalimentación................................................................................17
Iteración 2....................................................................................................... 17
2
1) Comunicación.....................................................................................17
2) Planeación..........................................................................................17
3) Modelado (análisis y diseño)..............................................................18
3.1) Análisis.................................................................................................18
3.2) Diseño..................................................................................................19
4) Construcción (Código, Prueba)..........................................................19
4.1) Código..................................................................................................19
4.2) Prueba..................................................................................................20
5) Despliegue (Entrega, retroalimentación)............................................21
5.1) Entrega.................................................................................................21
5.2) Retroalimentación................................................................................21
Explica el código en lenguaje C del programa que soluciona el problema
propuesto con el método de desarrollo de software iterativo......................21
Método de desarrollo de software incremental...............................................22
1) Análisis (Núcleo del producto de software)........................................23
2) Diseño (Núcleo del producto de software)..........................................24
3) Código (Incremento 1 – Parte de la Entrega del 1er incremento)......24
4) Prueba (Incremento 1 – Parte de la Entrega del 1er incremento)......25
Entrega del 1er incremento al cliente..........................................................25
3) Código (Incremento 2 – Parte de la Entrega del 2do incremento)..........26
4) Prueba (Incremento 2 – Parte de la Entrega del 2do incremento)..........27
Explica el código en lenguaje C del programa que soluciona el problema
propuesto con el método de desarrollo de software incremental................27
Método de desarrollo de software espiral.......................................................29
1) Comunicación.....................................................................................30
2) Planificación....................................................................................... 30
3) Análisis de riesgos..............................................................................30
4) Ingeniería............................................................................................32
5) Construcción y Adaptación.................................................................33
6) Evaluación del cliente.........................................................................34
1) Comunicación.....................................................................................36
2) Planificación....................................................................................... 36
3) Análisis de riesgos..............................................................................36
3
4) Ingeniería............................................................................................37
5) Construcción y adaptación.................................................................39
6) Evaluación del cliente.........................................................................39
CONCLUSIONES...................................................................................................41
REFERENCIAS BIBLIOGRÁFICAS.......................................................................42
4
Índice de figuras
Figura 1 Diagrama del Ciclo de vida cascada. Fuente: Pressman (2010, p. 30).....8
Figura 2 Código en lenguaje C para la metodología Cascada. Fuente: Dev-C++.
Elaboración Propia.................................................................................................10
Figura 3 Ejecución del código para la metodología Cascada. Fuente: Dev-C++.
Elaboración Propia.................................................................................................10
Figura 4 Código en lenguaje C para la metodología Cascada. Fuente: Dev-C++.
Elaboración Propia.................................................................................................12
Figura 5 Ejecución del código para la metodología Cascada. Fuente: Dev-C++.
Elaboración Propia.................................................................................................12
Figura 6 Diagrama Modelo Iterativo. Fuente:
http://isw-udistrital.blogspot.com/2012/09/ingenieria-de-software-continuacion.html
............................................................................................................................... 13
Figura 7 Código en lenguaje C para la metodología Iterativa. Fuente: Dev-C++.
Elaboración Propia.................................................................................................16
Figura 8 Ejecución del código para la metodología Iterativa. Fuente: Dev-C++.
Elaboración Propia.................................................................................................16
Figura 9 Código en lenguaje C para la iteración 2. Fuente: Dev-C++. Elaboración
Propia..................................................................................................................... 20
Figura 10 Ejecución del código para la iteración 2. Fuente: Dev-C++. Elaboración
Propia..................................................................................................................... 20
Figura 11 Diagrama del modelo incremental. Fuente: Pressman (2010, p. 27).....22
Figura 12 Diagrama Modelo Incremental. Fuente: http://isw-
udistrital.blogspot.com/2012/09/ingenieria-de-software-i.html...............................23
Figura 13 Código en lenguaje C para la metodología Incremental. Fuente: Dev-C+
+. Elaboración Propia.............................................................................................25
Figura 14 Ejecución del código para la metodología Incremental. Fuente: Dev-C++.
Elaboración Propia.................................................................................................25
Figura 15 Código en lenguaje C para la metodología incremental. Fuente: Dev-C+
+. Elaboración Propia.............................................................................................27
Figura 16 Ejecución del código para la metodología incremental. Fuente: Dev-C++.
Elaboración Propia.................................................................................................27
Figura 17 Diagrama del ciclo de vida espiral. Fuente: Pressman (2010, p. 28).....29
Figura 18 Código en lenguaje C para la metodología espiral. Fuente: Dev-C++.
Elaboración Propia.................................................................................................33
5
Figura 19 Ejecución del código para la metodología espiral. Fuente: Dev-C++.
Elaboración Propia.................................................................................................33
Figura 20 Código en lenguaje C para la metodología incremental. Fuente: Dev-C+
+. Elaboración Propia.............................................................................................39
Figura 21 Ejecución del código para la metodología incremental. Fuente: Dev-C++.
Elaboración Propia.................................................................................................39
Índice de tablas
Tabla 1 “What if”: Análisis de riesgos del proyecto de “Desarrollo de software para
el cálculo del área de un triángulo”. Elaboración y fuente propias.........................30
Tabla 2 Diseño del software para el cálculo del área de un triángulo. Elaboración y
fuente: Propia.........................................................................................................32
Tabla 3 “What if”: Análisis de riesgos del proyecto de “Desarrollo de software para
el cálculo del área de un triángulo” en la etapa 6 del método de desarrollo de
software en espiral en relación al primer ciclo. Elaboración y fuente propias........34
Tabla 4 “What if”: Análisis de riesgos del proyecto de “Desarrollo de software para
el cálculo del área de un triángulo” para la segunda etapa del ciclo en espiral.
Elaboración y fuente propias..................................................................................37
6
INTRODUCCIÓN
Si bien es cierto que, los métodos de desarrollo de software son diferentes entre
sí, es atinado comentar en este punto que, también tienen coincidencias bastante
marcadas como, por ejemplo; en todos los métodos se debe partir desde la visión
del proyecto (el fin por el cual se va a desarrollar el Software). Por otro lado, en
cada una de las fases de la metodología se deberán crear productos (también
denominados entregables), los cuales son el resultado del trabajo realizado
durante el desarrollo de software. Por último, en todos los métodos de desarrollo
de software se tienen roles, los cuales representan la responsabilidad que las
personas tienen con el proyecto.
7
DESARROLLO DE LA ACTIVIDAD
Problema propuesto.
Figura 1 Diagrama del Ciclo de vida cascada. Fuente: Pressman (2010, p. 30).
Desarrolla un programa en lenguaje C que solucione el problema propuesto con el método de desarrollo de software
en cascada.
1) Análisis.
Definición: analista y cliente definen todos los requerimientos del sistema y su especificación detallada. (UNADM, 2023).
Para la fase de análisis en el método de desarrollo de software en cascada:
El cliente solicita un programa que permita: Calcular el área de un triángulo.
El cliente solicita que el nombre de las variables debe ser: base, altura, area.
2) Diseño.
Definición: A partir del análisis se diseñan las estructuras de datos, bases de datos, interfaces y procedimientos para dar
solución a los requerimientos del cliente. (UNADM, 2023).
Para la fase de diseño en el método de desarrollo de software en cascada se considera que:
9
Por la simplicidad del programa, no precisamente se necesitan de estructuras de datos, pero, se identifica que, lo
mejor es definir a las variables con datos tipo float.
El programa no necesita bases de datos.
El cliente quiere un programa en C, por lo que la interfaz del software será la consola de una aplicación simple en
C.
base∗altura
Se identifica que el procedimiento para dar solución al cálculo de un triángulo es:
2
3) Codificación.
Definición: El diseño se traduce a código para la generación del software. (UNADM, 2023).
En una primera instancia, se desarrolla el siguiente código, el cual cumple los primeros requisitos del cliente, capturados
en la fase de análisis.
#include <stdio.h>
main()
{
float base, altura, area;
printf("Programa en C para calcular el area de un triangulo \n");
printf("Introducir valor de la base \n");
scanf("%f",&base);
printf("Introducir valor de la altura \n");
scanf("%f",&altura);
area=(base*altura)/2;
printf("El area del triangulo es: \n%f",area);
}
10
4) Pruebas.
Se hace la revisión del código para comprobar que no tenga errores y realice lo esperado de acuerdo al diseño y al detalle del
requerimiento. (UNADM, 2023).
Una vez que el código se programó, se realizan las pruebas pertinentes, en este caso, como el código es sencillo, no se
realizaron muchas pruebas, y el programa corrió sin contratiempos, de acuerdo al diseño y con apego a los
requerimientos.
Figura 2 Código en lenguaje C para la metodología Cascada. Fuente: Figura 3 Ejecución del código para la metodología Cascada. Fuente:
Dev-C++. Elaboración Propia. Dev-C++. Elaboración Propia.
5) Mantenimiento.
Esta etapa se realiza después de la entrega del software y sirve para asegurar que el sistema siga funcionando y se da
seguimiento a las mejoras que el cliente solicite. (UNADM, 2023).
En el sentido de la metodología Cascada, en primera instancia se le entregó al cliente un programa funcional de
acuerdo a sus primeros requerimientos. Pasado el tiempo, el cliente solicitó mejoras al programa, las cuales son:
11
Que el programa tenga los siguientes datos en el encabezado de la consola de la aplicación en C: Nombre de la
universidad, nombre de la asignatura, nombre del alumno, matrícula, fecha de elaboración y grupo.
Respecto a las actualizaciones que hizo el equipo de programación fue el de ponerle comentarios al código, ya que,
este programa en su primera versión no tenía comentarios en el código.
#include <stdio.h>
main()
{
//Declaración de variables para la solución del problema.
float base, altura, area; //Valor de las variables para el cálculo del área del triángulo.
Figura 4 Código en lenguaje C para la metodología Cascada. Fuente: Figura 5 Ejecución del código para la metodología Cascada. Fuente:
Dev-C++. Elaboración Propia. Dev-C++. Elaboración Propia.
Explica el código en lenguaje C del programa que soluciona el problema propuesto con el método de desarrollo de
software en cascada.
Nota: Las bases de la explicación del presente código en C para la metodología en Cascada serán las mismas o –
serán muy similares – para las demás metodologías, atendiendo a las sugerencias que, la profesora Claudia Hernández
González hizo en la videoconferencia del 20 de abril, sobre que debíamos enfocarnos en el desarrollo de la
metodología, no tanto en la parte técnica del código y, éste, por la naturaleza de los requerimientos solicitados en el
documento “Problema propuesto”, no requerirá muchos cambios, pues son los mismos requerimientos para todas las
metodologías.
Para el desarrollo del código en C:
Se utilizó la librería #include <stdio.h>, la cual contiene las macros, las constantes y las declaraciones de
funciones que permiten hacer operaciones, así como definir los tipos de datos necesarios para hacer dichas
operaciones.
13
Se definieron las variables base, altura, area como tipo float, ya que, por la naturaleza de las operaciones
necesarias para calcular el área de un triángulo, será necesario mostrar números decimales.
Se usa la función “printf” para mostrar un mensaje en forma de texto en la pantalla de la consola del programa
utilizando una cadena de formato.
Se usa la función scanf para leer las variables desde el teclado.
o Se usa el caracter % como elemento de la cadena de control donde se incluyen grupos individuales de
caracteres.
o Se usa “f” como carácter de conversión que indica que el tipo del dato es flotante.
Se define la variable “area” con la siguiente operación: “(base*altura)/2”; ósea, la fórmula para medir el área de un
triángulo.
\n representan un salto de línea en el texto que se ha de imprimir en pantalla.
Desarrolla un programa en lenguaje C que solucione el problema propuesto con el método de desarrollo de software
iterativo.
Iteración 1.
1) Comunicación.
El cliente se comunica con el equipo de desarrollo por primera vez, se tiene una reunión con él y manifiesta sus inquietudes
por tener un software que calcule el área de un triángulo. El equipo de desarrollo le comenta que realizará un software que
cumpla sus características, el cliente no comenta nada más y culmina la reunión.
2) Planeación.
El equipo de desarrollo ordena de manera sistemática las tareas para lograr el objetivo de:
Desarrollar un software para el cálculo del área de un triángulo.
Para alcanzar el objetivo, se realizan las siguientes fases propias de una planeación:
1. Análisis de viabilidad y definición de los objetivos.
1.1. El proyecto es viable, ya que no es tan complejo de realizar y no es costoso para realizar.
1.2. Se ve viable programar este software en lenguaje C, ya que el equipo tiene conocimientos en dicho lenguaje.
15
1.3. Se complementa la definición del primer objetivo quedando como sigue: “Desarrollar un software en lenguaje C para el
cálculo del área de un triángulo”.
2. Definición del alcance.
2.1. El equipo de desarrollo define las tareas y actividades en que se divide el proyecto (Planeación, Modelado,
Construcción y Despliegue) así como la distribución de responsabilidades.
3. Identificación de los costos y recursos.
3.1. Recursos Humanos: Desarrolladores de Software.
3.1.1. El costo es representado por el salario de los Desarrolladores de Software, en este caso es de 20,000 pesos
mensuales. El desarrollo del producto será breve, pero, para fines didácticos, se dirá que el proyecto puede tardar 4
semanas en ser desarrollado, las primeras 2 semanas para la iteración 1, y las semanas 3 y 4, para la iteración 2,
por lo que su costo es de 20,000 pesos mensuales considerando a un solo Desarrollador de Software. (Nótese que
puede sonar exagerado el costo por la realización del software solicitado, pero se debe aclarar que este es un
ejemplo didáctico, ficticio y que solo tiene fines escolares).
3.2. Recursos: Computadoras y hardware complementario.
4. Elaboración del plan de trabajo integral.
4.1. Semana 1: Planeación. (De la Iteración 1).
4.2. Semana 1: Modelado. (De la Iteración 1).
4.3. Semana 2: Construcción. (De la Iteración 1).
4.4. Semana 2: Despliegue. (De la Iteración 1).
3) Modelado (análisis y diseño).
3.1) Análisis.
El desarrollador de software analista la solicitud del cliente y define los siguientes requerimientos:
El programa debe servir para calcular el área de un triángulo.
Para calcular el área de un triángulo se deben definir las variables: base, altura, area.
3.2) Diseño.
Definición: A partir del análisis se diseñan las estructuras de datos, bases de datos, interfaces y procedimientos para dar
solución a los requerimientos del cliente. (UNADM, 2023).
Para la fase de diseño en el método de desarrollo de software Iterativo se considera que:
Por la simplicidad del programa, no precisamente se necesitan de estructuras de datos, pero, se identifica que, lo
mejor es definir a las variables con datos tipo float.
El programa no necesita bases de datos.
16
El cliente quiere un programa en C, por lo que la interfaz del software será la consola de una aplicación simple en
C.
base∗altura
Se identifica que el procedimiento para dar solución al cálculo de un triángulo es:
2
4) Construcción (Código, Prueba).
Conforme al modelo de desarrollo de software Iterativo, en la etapa de construcción, se desarrolla el siguiente código,
el cual cumple con los requisitos del cliente, capturados en la fase de modelado, la cual está conformada (en el
presente modelo iterativo) por el análisis y por el diseño.
4.1) Código.
#include <stdio.h>
main()
{
float base, altura, area;
printf("Programa en C para calcular el area de un triangulo \n");
printf("Introducir valor de la base \n");
scanf("%f",&base);
printf("Introducir valor de la altura \n");
scanf("%f",&altura);
area=(base*altura)/2;
printf("El area del triangulo es: \n%f",area);
}
4.2) Prueba.
Figura 7 Código en lenguaje C para la metodología Iterativa. Fuente: Figura 8 Ejecución del código para la metodología Iterativa. Fuente: Dev-
Dev-C++. Elaboración Propia. C++. Elaboración Propia.
Iteración 2.
1) Comunicación.
Para este punto, el cliente ya se comunicó con el equipo de desarrollo por segunda vez, en la última etapa de la iteración 1,
denominada 5) Despliegue, subetapa 5.2) Retroalimentación, en la cual ya externó los puntos a mejorar.
El equipo de desarrollo le comenta al cliente que realizará una nueva iteración del software que satisfaga sus necesidades.
2) Planeación.
El equipo de desarrollo reordena, para la iteración 2, las siguientes tareas para lograr el nuevo objetivo que será:
Complementar el software construido para el cálculo del área de un triángulo con datos específicos en el encabezado de
la consola de la aplicación y, agregar comentarios al código del programa.
Para alcanzar dicho objetivo, se realizan las siguientes fases propias de una planeación:
1. Análisis de viabilidad y definición de los objetivos.
1.1. El proyecto es viable, pues ya se realizó un primer prototipo que, no fue complejo de realizar y, tampoco fue costoso
para realizar.
1.2. Se reafirma que, el lenguaje C es la opción óptima para programar el software requerido, ya que el equipo de desarrollo
tiene conocimientos en dicho lenguaje y, el primer prototipo fue programado con éxito en dicho lenguaje.
1.3. Se redefine el objetivo del software quedando como sigue: “Complementar el software construido para el cálculo del
área de un triángulo con datos específicos en el encabezado de la consola de la aplicación y, agregar comentarios al
código del programa”.
2. Definición del alcance.
2.1. El equipo de desarrollo define las tareas y actividades en que se divide el proyecto (Planeación, Modelado,
Construcción y Despliegue) así como la distribución de responsabilidades para la iteración 2 del programa para calcular
el área de un triángulo.
3. Identificación de los costos y recursos.
3.1. Recursos Humanos: Desarrolladores de Software (mismos recursos usados para la iteración 1 de este proyecto).
19
3.1.1. El costo es representado por el salario de los Desarrolladores de Software, en este caso es de 20,000 pesos
mensuales. Considerando que desde un principio el proyecto se planeó para realizarse en 4 semanas (las 2
primeras para la iteración 1, y las semanas 3 y 4 para la iteración 2), se sigue estimando el costo de 20,000 pesos
mensuales.
3.2. Recursos: Computadoras y hardware complementario (mismos recursos usados para la iteración 1 de este proyecto).
4. Elaboración del plan de trabajo integral.
4.1. Semana 3: Planeación. (De la Iteración 2).
4.2. Semana 3: Modelado. (De la Iteración 2).
4.3. Semana 4: Construcción. (De la Iteración 2).
4.4. Semana 4: Despliegue. (De la Iteración 2).
4.2) Prueba.
Figura 9 Código en lenguaje C para la iteración 2. Fuente: Dev-C++. Figura 10 Ejecución del código para la iteración 2. Fuente: Dev-C++.
Elaboración Propia. Elaboración Propia.
Una vez que el cliente observó y probó el producto de la iteración 2, se percató de que se cumplió con todos sus
requerimientos; quedó satisfecho.
(Ortiz, 2012) (Proyectos Ágiles, s.f.) (Universidad de Granada, s.f.) (Tutorials Point, s.f.)
22
Explica el código en lenguaje C del programa que soluciona el problema propuesto con el método de desarrollo de
software iterativo.
Nota: Las bases de la explicación del presente código en C para la metodología en Cascada serán las mismas o –
serán muy similares – para las demás metodologías, atendiendo a las sugerencias que, la profesora Claudia Hernández
González hizo en la videoconferencia del 20 de abril, sobre que debíamos enfocarnos en el desarrollo de la
metodología, no tanto en la parte técnica del código y, éste, por la naturaleza de los requerimientos solicitados en el
documento “Problema propuesto”, no requerirá muchos cambios, pues son los mismos requerimientos para todas las
metodologías.
Para el desarrollo del código en C durante la iteración 1:
Se utilizó la librería #include <stdio.h>, la cual contiene las macros, las constantes y las declaraciones de
funciones que permiten hacer operaciones, así como definir los tipos de datos necesarios para hacer dichas
operaciones.
Se definieron las variables base, altura, area como tipo float, ya que, por la naturaleza de las operaciones
necesarias para calcular el área de un triángulo, será necesario mostrar números decimales.
Se usó la función scanf para leer las variables desde el teclado.
o Se usó el caracter % como elemento de la cadena de control donde se incluyen grupos individuales de
caracteres.
o Se usó “f” como carácter de conversión que indica que el tipo del dato es flotante.
Se definió la variable “area” con la siguiente operación: “(base*altura)/2”; ósea, la fórmula para medir el área de
un triángulo.
Por otro lado, el modelo incremental también se puede ilustrar de la siguiente manera:
24
Desarrolla un programa en lenguaje C que solucione el problema propuesto con el método de desarrollo de software
incremental.
Para el desarrollo del programa en lenguaje C que soluciona el problema propuesto con el método de desarrollo de software
incremental se usará el modelo de la figura 11.
1) Análisis (Núcleo del producto de software).
Para esta etapa, el equipo de desarrollo se comunica con el cliente para recabar sus requerimientos de software. En esta
primera etapa, se recabaron las siguientes especificaciones:
El cliente solicita un programa que permita: Calcular el área de un triángulo.
El cliente solicita que el nombre de las variables debe ser: base, altura, area.
Es importante mencionar que, este primer análisis es parte del núcleo del producto de software ya que, cumple con los
requisitos básicos del cliente, a los cuales, se añadirán funciones suplementarias conforme avanza el desarrollo del producto.
25
2) Diseño (Núcleo del producto de software).
Para esta segunda etapa del modelo incremental, se diseñan las estructuras de datos, bases de datos, interfaces y
procedimientos para dar solución a los requerimientos del cliente. Los programadores consideran que, para el desarrollo de
este proyecto se deben cumplir con los siguientes puntos:
Por la simplicidad del programa, no precisamente se necesitan de estructuras de datos, pero, se identifica que, lo mejor
es definir a las variables con datos tipo float.
El programa no necesita bases de datos.
El cliente quiere un programa en C, por lo que la interfaz del software será la consola de una aplicación simple en C.
base∗altura
Se identifica que el procedimiento para dar solución al cálculo de un triángulo es:
2
3) Código (Incremento 1 – Parte de la Entrega del 1er incremento).
Para la etapa número 3 del modelo incremental, se procederá a traducir los puntos capturados en el diseño, al código para la
generación del software.
Como parte del primer incremento, se desarrolla el siguiente código, el cual cumple los primeros requisitos del cliente,
capturados en la fase de análisis.
#include <stdio.h>
main()
{
float base, altura, area;
printf("Programa en C para calcular el area de un triangulo \n");
printf("Introducir valor de la base \n");
scanf("%f",&base);
printf("Introducir valor de la altura \n");
scanf("%f",&altura);
area=(base*altura)/2;
printf("El area del triangulo es: \n%f",area);
}
26
4) Prueba (Incremento 1 – Parte de la Entrega del 1er incremento).
Para la cuarta etapa del modelo incremental, se procede a revisar el código para comprobar que no tenga errores, haciendo
constar que el programa cumple con lo esperado de acuerdo al diseño y al detalle de lo requerido.
Para este caso de estudio, no se realizaron muchas pruebas (debido a que el código no es muy complejo).
Cabe señalar que, el programa corrió sin contratiempos, de acuerdo al diseño y con apego a los requerimientos.
Figura 13 Código en lenguaje C para la metodología Incremental. Fuente: Figura 14 Ejecución del código para la metodología Incremental. Fuente:
Dev-C++. Elaboración Propia. Dev-C++. Elaboración Propia.
Figura 15 Código en lenguaje C para la metodología incremental. Fuente: Figura 16 Ejecución del código para la metodología incremental. Fuente:
Dev-C++. Elaboración Propia. Dev-C++. Elaboración Propia.
Explica el código en lenguaje C del programa que soluciona el problema propuesto con el método de desarrollo de
software incremental.
Nota: Las bases de la explicación del presente código en C para la metodología en Cascada serán las mismas o –
serán muy similares – para las demás metodologías, atendiendo a las sugerencias que, la profesora Claudia Hernández
González hizo en la videoconferencia del 20 de abril, sobre que debíamos enfocarnos en el desarrollo de la
metodología, no tanto en la parte técnica del código y, éste, por la naturaleza de los requerimientos solicitados en el
29
documento “Problema propuesto”, no requerirá muchos cambios, pues son los mismos requerimientos para todas las
metodologías.
Para el desarrollo del código en C en el método de desarrollo de software incremental y, como resultado de la información
recabada en las etapas de Análisis y Diseño:
Se utilizó la librería #include <stdio.h>, la cual contiene las macros, las constantes y las declaraciones de
funciones que permiten hacer operaciones, así como definir los tipos de datos necesarios para hacer dichas
operaciones.
Se definieron las variables base, altura, area como tipo float, ya que, por la naturaleza de las operaciones
necesarias para calcular el área de un triángulo, será necesario mostrar números decimales.
Se usa la función scanf para leer las variables desde el teclado.
o Se usa el caracter % como elemento de la cadena de control donde se incluyen grupos individuales de
caracteres.
o Se usa “f” como carácter de conversión que indica que el tipo del dato es flotante.
Se define la variable “area” con la siguiente operación: “(base*altura)/2”; ósea, la fórmula para medir el área de un
triángulo.
Una vez que se entregó el primer incremento – el producto esencial, también llamado núcleo – el cliente solicita que, el
programa debe tener el nombre de la universidad, nombre de la asignatura, nombre del alumno, matrícula, fecha de
elaboración y el grupo, de igual forma, pide que el código debe tener los comentarios pertinentes para ser más explícito, por lo
tanto, el siguiente incremento (segundo incremento), comienza desde la fase Código, en la que se añaden los siguientes
aspectos al código:
Se usa la función “printf” para mostrar un mensaje en forma de texto en la pantalla de la consola del programa
utilizando una cadena de formato.
\n representan un salto de línea en el texto que se ha de imprimir en pantalla.
Por último, se realiza la etapa de Prueba, se entrega al cliente y el cliente queda satisfecho.
30
Figura 17 Diagrama del ciclo de vida espiral. Fuente: Pressman (2010, p. 28).
5) Construcción y Adaptación.
Respecto a la etapa de Construcción y Adaptación, las actividades a desarrollar son: realizar pruebas, la instalación y
mantenimiento al software, aunque, para ésta última actividad, se debe considerar que, el mantenimiento al código se dará una
vez que el proyecto esté maduro, ósea; una vez que haya sido evaluado por el cliente.
A continuación, se muestran evidencias del código y de las pruebas.
Figura 18 Código en lenguaje C para la metodología espiral. Fuente: Figura 19 Ejecución del código para la metodología espiral. Fuente: Dev-
Dev-C++. Elaboración Propia. C++. Elaboración Propia.
2) Planificación.
Respecto a la replanificación del proyecto en este nuevo ciclo del espiral, se establecen los nuevos puntos:
Tiempos:
38
Se estima que el proyecto culmine en 2 semanas adicionales a las 2 semanas en que se ha estado trabajando, cumpliendo así
con el tiempo estimado de 4 semanas. Cabe mencionar que, en estas dos semanas restantes, también se desarrollarán las
seis etapas del modelo de desarrollo en espiral.
Objetivo:
El objetivo que se replantea para este proyecto en el nuevo ciclo del espiral es:
Realizar una nueva versión del software previamente desarrollado para el cálculo del área de un triángulo con datos
específicos en el encabezado de la consola de la aplicación y, agregar comentarios al código del programa.
Restricciones:
Respecto a las restricciones, se redefinen las siguientes:
La culminación del proyecto no debe exceder dos semanas.
El costo no debe exceder los $20,000 pesos mensuales.
3) Análisis de riesgos.
En seguimiento al resultado de la evaluación de riesgos de la etapa del espiral previa a esta, se redefine el contenido de la
herramienta What if, quedando como sigue:
Tabla 4 “What if”: Análisis de riesgos del proyecto de “Desarrollo de software para el cálculo del área de un triángulo” para la segunda etapa del ciclo en
espiral. Elaboración y fuente propias.
4) Ingeniería.
Para el segundo ciclo de desarrollo de software en espiral, nuevamente se desarrollará la codificación, las pruebas y el
despliegue del software pertinente.
Con respecto al análisis en este nuevo ciclo del método de desarrollo de software espiral se considera que:
El programa debe tener los siguientes datos en el encabezado de la consola de la aplicación en C:
o Nombre de la universidad, nombre de la asignatura, nombre del alumno, matrícula, fecha de elaboración y
grupo.
El código debe tener los comentarios pertinentes para ser más explícito.
En cuanto al diseño en este nuevo ciclo del método de desarrollo de software espiral, se considera que no habrá cambios
importantes, debido a que ya se cumplieron las funciones primordiales para las que fue creado, por lo tanto, sólo se
complementará el código como sigue:
#include <stdio.h>
main()
{
//Declaración de variables para la solución del problema.
float base, altura, area; //Valor de las variables para el cálculo del área del triángulo.
5) Construcción y adaptación.
Respecto a la etapa de Construcción y adaptación del segundo ciclo en espiral, se vuelven a desarrollar pruebas e instalación
de igual forma, se muestran evidencias del código y del programa.
Figura 20 Código en lenguaje C para la metodología incremental. Fuente: Figura 21 Ejecución del código para la metodología incremental. Fuente:
Dev-C++. Elaboración Propia. Dev-C++. Elaboración Propia.
CONCLUSIONES
REFERENCIAS BIBLIOGRÁFICAS