Tarea2 ModeloClasicoDeSoftware
Tarea2 ModeloClasicoDeSoftware
Tarea2 ModeloClasicoDeSoftware
Se puede decir que el proceso de desarrollo de software comienza con un levantamiento inicial de
las necesidades macros, es decir a grandes rasgos, para después ir adentrándose en lo particular
interactuando en la medida de lo posible con todo el personal que será usuario el recurrente o
eventual y así poder determinar las necesidades reales y poder identificar posibles fallas, errores o
cualquier otro contratiempo que pudiera provocar resultados distintos a los esperados.
Pero debemos de tener claro que el proceso de software no sólo aplica para la creación de nuevos
programas, sino también para la modificación de programas ya existentes, esto es más fácil
cuando se tienen definidos ciertos procedimientos o reglas para asegurar un óptimo levantamiento
de las necesidades reales y también permite definir límites que deben ser transmitidos al cliente
para establecer una comunicación y negociación clara; es decir, para que el cliente no espere
soluciones que no están al alcance de su infraestructura presupuesto, capacidades de los usuarios
o cualquier otro factor que pudiera intervenir.
Por lo descrito anteriormente, es necesario seguir ciertas pautas como lo son las siguientes:
En la etapa de diseño es donde se realiza un esbozo del sistema con las especificaciones de las
funciones a realizar en cada ventana o también lo que se conoce hoy en día como maquetación de
página web donde se plasma de manera gráfica dónde estarán ubicados los controles, botones,
tipografía y paleta de colores entre otras cosas que serán importantes definir tanto visualmente
como funcionalmente.
Una vez que se inicia la etapa de desarrollo, es normal que surjan nuevas especificaciones
derivadas del comportamiento que puedan tener los datos o al haber ciertas contradicciones entre
las especificaciones y que sólo pueden ser vistas al avanzar en las etapas de desarrollo; esto
también es conocido como DBOI (Diseño basado en la ocultación de información) y no se refiere
específicamente a qué los solicitantes oculten dicha información, sino que, como se mencionó
líneas arriba, habrá especificaciones que surgirán conforme se avance.
Una vez que se tiene una versión estable del sistema es recomendable realizar diversas pruebas,
las cuales preferentemente deberán de ser por módulos cuando así sea posible, y antes de liberar
una versión estable, se recomienda realizar pruebas de aceptación de usuario también conocidas
Consorcio Clavijero
como pruebas UAT las cuales tratan de cerrar la brecha entre el experto en testing y los usuarios
finales. Existen diferentes tipos de pruebas, a continuación se listan algunas de ellas:
Pruebas de unidad.
Pruebas de integración.
Pruebas de sistema.
Pruebas de aceptación.
Una vez concluidas las pruebas de aceptación se da por terminada la etapa de implementación y
en ocasiones te da un seguimiento post producción para identificar posibles fallas o algunas
mejoras que pudieran darse en futuras actualizaciones o evoluciones del sistema.
Algunas de las características del proceso del software indican que el proceso debe de ser
entendible ya que una buena comunicación será la base del intercambio de información necesaria
para el desarrollo de un sistema óptimo y que cumpla con las expectativas; además de que debe
de ser un proceso que permita la utilización de herramientas CASE, las cuales son de gran ayuda
en todas las etapas incluído el modelado de datos, la estructura necesaria que deberá detener la
infraestructura de TI (hardware, servidores, etc.).
Este proceso y todas las determinaciones que sean tomadas en el tiempo de vida de un sistema
deben de ser aceptadas por todas las partes involucradas; es decir, el equipo de desarrollo no
deberá de implementar ninguna mejora si no es consultada antes con el solicitante o que esto haya
quedado establecido en algún contrato.
La importancia del proceso de desarrollo del software es tal, que en este proceso se pueden
descubrir muchos errores y así evitar tener contratiempos focalizando todos los recursos en
avanzar y no en localizar fallas críticas que pudieran poner en riesgo la información o la fecha de
entrega; con esto se dice que se tiene un proceso confiable y robusto ya que se deben de pensar y
definir acciones para cualquier eventualidad que pudiera presentarse y definir procesos para
afrontar estas eventualidades en la medida de lo posible.
Indicaciones: Para desarrollar esta actividad el estudiante deberá realizar un caso práctico con
una empresa en la cual se le proponga realizar reingeniería en algunos de sus departamentos para
satisfacer alguna necesidad o resolver algún problema. Como primera tarea realizara un resumen
ejecutivo de la empresa, listando:
Nombre de la empresa
Giro
Objetivos
Necesidad o problemática.
Para posteriormente realizar un documento de requerimiento como el que se plantea en este
módulo.
Consorcio Clavijero
Objetivos: Mejorar los tiempos que tarda en obtenerse la información de los parámetros de
operación de los pozos de agua potable, así como obtener información que aporte valor para la
toma de decisiones, así como disminuir los mantenimientos correctivos al identificar patrones de
comportamiento en los parámetros recabados.
Requerimientos:
La empresa solicita el desarrollo de una aplicación móvil para que los operadores puedan capturar
los parámetros de los pozos y estos puedan estar disponibles en tiempo real en las oficinas
centrales, así como permitir la creación de reportes, graficas y paneles de control con indicadores
claves de rendimiento (KPI) los cuales darán una visión global del estatus en tiempo real de las
instalaciones.
Los datos de operación deben de estar disponibles para los supervisores del área y las
eventualidades localizadas en los equipos de bombeo deberán de activar alarmas o envíos de
correo de manera automática al área de mantenimiento la cual es un área ajena al departamento
de operación.
1. El desarrollo de una base de datos con todos los datos generales de las instalaciones, así
como coordenadas y equipos instalados en cada una de ellas para poder relacionar las
lecturas de los operadores con un código de instalación.
2. La creación de una app móvil que registre los datos en campo.
3. Creación de aplicación de escritorio para navegar por los datos capturados.
4. Creación de paneles de control para dar seguimiento a los KPI
1. Montaje de servidor Microsoft SQL Server 2012 o superior para alojar las bases de datos.
2. Equipos móviles de 4 GB de RAM y 128 en ROM para las aplicaciones móviles.
3. Licencia de Microsoft Office 365 y PowerApps en los equipos móviles.
4. Servidor de Reportes Local de Power Bi.
5. Inventario de instalaciones localizadas.
6. Inventario de equipos instalados.
7. Rangos máximos y mínimos de cada parámetro.
Y para el acceso a datos de parte de los supervisores se montara en escritorio una aplicación
similar a esta:
El periodo de desarrollo será de 5 meses a partir de que sean entregados los inventarios
solicitados y se mantendrán campos abiertos en las tablas de captura de parámetros para poder
agregar parámetros que no hayan sido contemplados en un inicio.
Se manejara un control de acceso por contraseña para identificar quien registra los datos y un
control de las coordenadas del sitio donde son tomadas las lecturas para asegurar que se
encuentran en el sitio donde deben de estar y así asegurar la fiabilidad de los datos.
Los modelos clásicos del proceso de software están enfocados en minimizar los contratiempos
definiendo en etapas tempranas todos los temas centrales para poder iniciar un proyecto con un
camino a seguir trazado y distribuido en etapas para que sea fácilmente alcanzable y medible cada
Consorcio Clavijero
una de estas etapas para poder obtener retroalimentación y establecer procesos evolutivos aun
antes de entregar las primeras versiones.
1. Modelo en cascada.
2. Desarrollo evolutivo.
3. Desarrollo prototipado.
Para el modelo en cascada se indica que el proceso debe ser en orden consecutivo y no se debe
saltar ninguna etapa de este proceso para así asegurar el éxito del proyecto. Una desventaja se
puede dar debido a que, si una etapa inicial se atrasa, esta retrasara las etapas subsecuentes.
Para el desarrollo evolutivo, se realizan una serie de implementaciones de etapas tempranas del
proyecto, esperando recibir retroalimentación de parte de los usuarios para poder avanzar o
evolucionar el sistema en versiones cada vez mas completas, con mayores funciones y menor
numero de errores; sin embargo, es susceptible a fallas debido a que se desconocen
completamente las especificaciones reales o totales del proyecto y el sistema podría desarrollarse
o inclinarse hacia una solución que no es la adecuada o la que ese solicito en un principio, por ello
este proceso se recomienda para implementaciones de pequeña o mediana envergadura.
Bibliografía: