ACTIVIDAD 2 MODELOS DE DESARROLLO
2016
Universidad Nacional Abierta y a Distancia de México Ing. en Desarrollo de Software Semestre 4 Métodos y Modelos de Desarrollo de Software Profesora: Adelaida Pérez Ramírez Alumno: Samuel Brambila Gómez Matrícula: ES1511103407
UNIDAD 2 . MODELOS PARA EL DESARROLLO DE SOFTWARE
Actividad 2. Modelos de desarrollo
Instrucciones:
Ingresa al Foro denominado Actividad 1. Foro Modelos de desarrollo. Lee con calma y sentido analítico cada problemática y responde a lo que se te indica. Con al menos 3 de tus compañeros, discute los planteamientos que se te presentan. Atiende a las instrucciones y comentarios de retroalimentación por parte de tu docente. Elije alguna microempresa de tu localidad (abarrotes, chat, tiendas de ropa, etc) Imagina que desarrollarás un sistema para dicha microempresa, evalúa cada una de las siguiente opciones presentadas, analiza, reflexiona cada una de ellas y responde brevemente a las preguntas guiadas al final de las mismas; JUSTIFICA BREVEMENTE CADA UNA DE TUS RESPUESTAS.
Estudio de Caso, Papelería Lapicito
Imagen obtenida de: http://www.paneldecontrol.com.mx/premium/productos/imagenes/1429631799papeleria2_0.jpg En esta microempresa se dedica a la venta de útiles escolar y de oficina. Laboran en un horario de lunes a viernes de 9 de la mañana a 9 de la noche. Este negocio es atendido por una pareja de esposos, que son las propietarias de lugar. Sus actividades consisten en atender a los clientes, llevar el control de las ventas realizadas, revisar el inventario de los diversos artículos que tienen de manera semanal para resurtir los productos faltantes. Debido al aumento de ventas e ingresos, los propietarios han decidido implementar un sistema que permita el registro de los productos que venden y llevar el control de inventario con el propósito de una mejor organización y sistematización de su negocio. A.- Al levantar tus requerimientos y al realizar el análisis de los mismos, concluyes que CRITERIO Dispones de algunos de los recursos para desarrollar el proyecto. Observas que el desarrollo no es muy complejo, pero tampoco muy sencillo. Que el entendimiento de los requerimientos es vago. Que hay tecnología nueva a utilizarse. Que si se requieres de un buen control de riesgos. Que la problemática y que el dominio del problema es regular.
SI X X
NO
X X X X
2
UNIDAD 2 . MODELOS PARA EL DESARROLLO DE SOFTWARE
Responde: 1.- ¿Qué modelo de desarrollo es el menos apropiado a usarse? : Espiral ¿Por qué? Porque en espiral se aborda desarrollo de software complejo, esto da como resultado que el entendimiento de los requisitos del sistema sean poco claro. También porque se aplica al uso de tecnología nueva y solo se dispone de algunos recursos. Para el estudio de caso mencionado se trata de un sistema que permita registrar las ventas de una papelería cuyo personal, volumen de ventas y organización no requiere de una infraestructura muy grande. Como principal propósito tienen el dar el paso a la sistematización de las ventas y control del inventario. 2.- ¿Cuáles son los 3 modelos de desarrollo que según la evaluación de criterios pueden emplearse? 3.- De los 3 modelos que cumplen con los criterios del análisis, menciona cada modelo y describe el modelo según su definición en que momento lo puedes utilizar. Modelo Cascada
Descripción Establezco como primera opción ya que hay disponibilidad de recursos para la creación del sistema de software, así como una clara interpretación de los requisitos de dicha aplicación. El conocimiento y dominio del problema es alto, ya que la creación y manejo de una base de datos es un área de aplicación personal conocida, además de que la complejidad del proyecto no es mucha, debido a que no se requiere de un sistema en red, ni acceso a internet y el volumen de gestión de datos es pequeño. Otra observación para destacar el modelo cascada como primer elección es el ser optimizado a comparación del modelo tradicional, ya que en este es posible regresar a una etapa anterior. Si bien no se trata de un proyecto difícil, considero esta característica como una medida de prevención. Basado en Como primer alternativa para omitir el uso de modelo en cascada, componentes establezco que el modelo basado en componentes como opción adecuada, gracias a la característica de la reutilización de código, esto ayuda a que el tamaño de codificación sea menor y por ello, la eficiencia y eficacia del sistema sea buena. Este modelo es canalizado a proyectos de complejidad media y con un conocimiento y dominio del problema regular. Una cualidad que puede dar lugar a no aplicarlo es considerar limitado el entendimiento de los requisitos del sistema Evolutivo
Defino como tercera alternativa al estudio de caso al modelo evolutivo, ya que puede ser necesario que el cliente requiera una versión preliminar del sistema y a partir de ello, hacer las modificaciones y actualizaciones. El contacto con el cliente no sería una dificultad, dada la cercanía y disposición del mismo para el desarrollo del sistema. Este modelo está orientado a proyectos de media complejidad, con un conocimiento y dominio del problema limitado. Destaco un inconveniente de aplicar este modelo en que la cantidad de versiones desarrolladas hace que aumente el tiempo de entrega y costo.
3
UNIDAD 2 . MODELOS PARA EL DESARROLLO DE SOFTWARE
-
B.- Una empresa que no cuenta con ningún sistema de software, solicita un sistema de facturación al nuevo departamento de sistemas de información, pero el sistema ya es urgente, por lo que se decide realizar un software de facturación que contemple, en su entrega inicial, un módulo de facturación terminado, que descuente de inventario y de pedidos del cliente el producto facturado; una vez probado y liberada esta versión, se debe de iniciar con otra etapa al mismo desarrollo en donde a la versión anterior se anexe un módulo de contabilidad; es decir, que cuando se registre la factura realice los movimientos contables, cargos y abonos en las cuentas de inventario, caja, clientes, etc. Al finalizar el desarrollo, las pruebas de integración con resultados positivos, se libera y se deberá de iniciar con otro módulo que se anexa al desarrollo que integre a la última versión del sistema de facturación, que hasta el momento trabaja con inventario, pedidos y contabilidad, con el control de cuentas por cobrar, es decir de lo que se facture, se registre movimientos de los adeudos del cliente, a quien se le facture a crédito, al terminar este desarrollo se tendrá una versión C, del desarrollo, al transcurso del tiempo también se le piensa agregar al mismo sistemas de facturación versión C, módulos de bancos, materias primas, producción y nóminas. Ahora responde a las preguntas.
4.- De acuerdo a la problemática, ¿aplicarías un modelo de prototipos?, SI/NO: NO ¿Por qué? Porque en ese modelos las versiones que se entregan son preliminares y su propósito es apoyar al cliente a tener una mejor idea y perspectiva de lo que quiere. En el planteamiento se habla de la urgencia de la entrega de un módulo para ya implementarlo y enseguida agregar otros módulos, así que dicha entrega debe ser probada y funcional. Por ejemplo si se aplica este método y el prototipo tiene errores, habría que corregir una versión que ya se puso en marcha en la empresa, lo que dará lugar a demoras o replantear el prototipo. 5.- De acuerdo a la problemática, ¿estaríamos hablando que el método apropiado sería, el modelo evolutivo? SI/NO: SI_ ¿Por qué?: Porque aplica el desarrollo de versiones de un sistema que serán modificadas. El planteamiento contempla la creación de 3 módulos, donde el módulo de facturación es el primero a entregar; posteriormente se hará el módulo de contabilidad y control de cuentas. Considero que el modelo evolutivo es el que mas se adapta a las necesidades del cliente, además de cumplir con las características de conocimiento regular del problema, complejidad media del proyecto, disponibilidad de algunos recursos y contempla el manejo de la perspectiva del riesgo. 6.- ¿Crees que, según como solicitan el desarrollo, el modelo de componentes es el apropiado para desarrollar todo el desarrollo completo?. SI/NO. SI ¿Por qué? : Porque la característica de reutilización de código se puede aplicar en la creación de los módulos del sistema que se plantea. Los módulos son: módulo de facturación terminado, que descuente de inventario y de pedidos del cliente el producto facturado módulo de contabilidad; es decir, que cuando se registre la factura realice los movimientos contables, cargos y abonos en las cuentas de inventario, caja, clientes, etc. modulo control de cuentas por cobrar, es decir de lo que se facture, se registre movimientos de los adeudos del cliente, a quien se le facture a crédito.
4
UNIDAD 2 . MODELOS PARA EL DESARROLLO DE SOFTWARE
Dado que la contextualización del sistema se centra en la facturación, cuentas y contabilidad, parte del código usado en los módulos puede ser reutilizable.
7.- El modelo de cascada ¿se puede aplicar para desarrollar cada módulo?, SI/NO : NO ¿Por qué? : Porque uno de los principales requisitos es la urgencia en el tiempo de entrega. Las etapas del modelo de cascada deben desarrollarse cada una al haber concluido la anterior, incluso contempla, la posibilidad de regresar a etapas anteriores. 8.- El modelo en Espiral ¿podría también ayudar en la creación del proyecto?, Si/No _SI_ ¿Por qué? Lo considero como posibilidad por la naturaleza iterativa de aplicar prototipos y etapas como en el modelo de cascada, pero no lo encuentro viable, debido a que requiere de un contacto y comunicación constante con el cliente para la revisión de las versiones. Sin duda su naturaliza cíclica es una característica útil para los requisitos del planteamiento, pero la urgencia en la entrega hace que lo contemple solo en teoría, pero de forma práctica no sería aplicable.
Fuentes de información S. n. (S. f). Unidad 2. Modelos para el desarrollo de software. Agosto 24, 2016, de UNADM Sitio web: https://unadmexico.blackboard.com/bbcswebdav/institution/DCEIT/2016_S2_B1/DS/04/DMMS/U2/ Unidad_2_Modelos_para_el_desarrollo_de_software_DMMS.pdf Piattini, Mario, (2004). Análisis y diseño de Aplicaciones Informáticas de Gestión, una perspectiva de Ingeniería del Software. España: Alfaomega-RaMa. Sommerville, Ian, (2005). Ingeniería de Software. Madrid España: Pearson educación.
5