Está en la página 1de 20

INGENIERIA DE SOFTWARE

UNIDAD 2: SEGUNDA FASE - MODELAMIENTO

PRESENTADO POR
EDINSON SARRIA - Código 1114818589

TUTOR
WILLIAM ENRIQUE PALENCIA

INGENIERIA DE SISTEMAS

UNIVERSIDAD ABIERTA Y A DISTANCIA UNAD


PALMIRA VALLE
2019
CASO DE ESTUDIO

La empresa de desarrollo de software Moreno & Asociados S.A.S desea

realizar un software que permita una solución para todos aquellos turistas

que visitan un municipio de Colombia y por lo general no conocen el lugar y

mucho menos su historia. La aplicación funcionaría para que los turistas

puedan descargarla fácilmente. Al suscribirse tendrán toda la información de

lugares, eventos, historia y ofertas de toda clase del municipio donde se

encuentre. Esta aplicación facilita la ubicación de cada lugar y negocio que

se encuentra en el municipio ofreciendo una información detallada y precisa,

tan precisa que podrá saber si en la tienda de don Chucho hay gaseosa, o en

la hostería de doña Rosa hay habitaciones disponibles, este es un ejemplo

de la información que se podría encontrar en la aplicación. Claro está, que

también encontrará la historia y la cultura del lugar, ofreciendo una

experiencia placentera al visitante. El visitante encontrará lugares que no

conocía, tendrá un guía turístico en la palma de sus manos y contará con las

recomendaciones de las personas que hayan visitado esos lugares, también

podrá realizar sus compras o reservas en línea y disfrutar de los descuentos

que tenga cada negocio. Ejemplo tomado de: Proyecto presentado a

convocatoria Colciencias, 2017.


1. Resumen de la propuesta de software que trabajarán como grupo

y que seleccionaron en la fase anterior. (Tipo de software y

descripción de la propuesta de software).

Se pretende desarrollar un aplicativo que sea multiplataforma,

permitiendo que su usabilidad este dado tanto para dispositivos móviles

como para computadoras, necesitando únicamente el uso de un navegador y

conexión a internet, omitiendo así la instalación de otro tipo de software

adicional, este aplicativo tendrá una arquitectura de desarrollo

Cliente/Servidor, y estará desarrollado bajo un lenguaje de programación

que como anteriormente dijimos nos permita montarlo y trabajarlo en

diferentes tipos de sistemas operativos (Windows, Linux, IOs, Android), con

esto garantizamos que cualquier persona con algún medio tecnológico

disponga del aplicativo y le dé, el uso necesario, el software debe tener una

conexión constante a una base de datos con la cual mantendrá su

información actualizada y disponible las 24 horas del día.

El objetivo del desarrollo del aplicativo es dinamizar los procesos de

compra y venta en todo lo concerniente al turismo de un determinado

municipio en Colombia, se busca que por medio de este, los diferentes tipos

de clientes (Empresas de Turismo, Empresarios Locales, Lugareños o

Habitantes, Escuelas, Colegios y Universidades) Dispongan de Información


en tiempo real, del comercio turístico de la zona, permitiéndoles por medio

de este generar compras, pedir domicilios, reservar sitios, consultar

disponibilidad, precios, compras en línea, descuentos, promociones,

inventarios, cancelaciones, etc, por medio de este aplicativo a la hora de

generar una compra el cliente podrá descargar su respectiva factura y con

esto podrá garantizar la seguridad de sus adquisiciones.

2. Modelo de desarrollo de software seleccionado.

Seleccionare el MODELO CASCADA

se define como una secuencia de actividades, donde la estrategia principal

es seguir el progreso del desarrollo de software hacia puntos de revisión

bien definidos (milestones o checkpoints) mediante entregas calendarizadas

(Schedule), el orden de las actividades del desarrollo de software. No se

muestra una etapa explícita de documentación dado que ésta se lleva a cabo

en el transcurso de todo el desarrollo. El modelo original planteaba que cada

actividad debía completarse antes de poder continuar con la siguiente

actividad. Sin embargo, en una revisión posterior se extendió el modelo

permitiendo el regreso a actividades anteriores.


Modelo Cascada

3. Explicación y justificación de la selección del modelo.

Nos basamos en este tipo de modelo para el desarrollo del software ya que

además de estar muy estandarizado es un modelo clásico, siendo un sistema

que cuenta con una secuencia de fases que permitirían la construcción de un

sistema de alta calidad, este modelo lleva un orden de ejecución, podríamos

decir que está compuesto por etapas, dichas etapas llevan un orden de

ejecución de arriba hacia abajo, que a su vez siendo un modelo dinámico

nos permite retomar fases anteriores para realizar su corrección.


4. Descripción de las fases del ciclo de vida y su aplicación para la

propuesta de desarrollo, de acuerdo al modelo seleccionado.

Requisitos del software: En esta fase se hace un análisis de las

necesidades del cliente para determinar las características del software a

desarrollar, y se especifica todo lo que debe hacer el sistema sin entrar en

detalles técnicos.

En este punto la empresa La empresa de desarrollo de software Moreno &

Asociados S.A.S, realizará un estudio técnico de los requisitos que requiere

cada uno de los clientes, puede ser por medio de un tipo de encuesta la cual

permitirá recolectar los requisitos que cada cliente desea tener en el

aplicativo a desarrollar, luego de esto se analizará cada uno de ellos y se

resumirá en una sola lista de requisitos permitiendo así cumplir a cabalidad

con las exigencias de todos los clientes, para esta fase tendremos un tiempo

de dos (2) Semanas para su ejecución.

Diseño: En esta etapa se describe la estructura interna del software, y las

relaciones entre las entidades que lo componen.

Descompone y organiza el sistema en elementos que puedan elaborarse por

separado, aprovechando las ventajas del desarrollo en equipo. Como


resultado surge el SDD (Documento de Diseño del Software), que contiene

la descripción de la estructura relacional global del sistema y la

especificación de lo que debe hacer cada una de sus partes, así como la

manera en que se combinan unas con otras.

Acá la empresa trabajara el diseño de las entidades y sus relaciones,

elaboración de la base de datos, diagrama de entidades, casos de uso, el

desarrollo diseño visual de la aplicación y una vez definido esta parte

continuara el desarrollo del algoritmo y código del mismo, para esta fase

contaremos con un tiempo de tres (3) semanas.

Implementación: En esta fase se programan los requisitos especificados

haciendo uso de las estructuras de datos diseñadas en la fase anterior. La

programación es el proceso que lleva de la formulación de un problema de

computación, a un programa que se ejecute produciendo los pasos

necesarios para resolver dicho problema.

En esta fase la compañía trabajara la codificación mediante la

implementación de un lenguaje de programación que permita crear un

código ejecutable que cumpla con los requisitos para los cuales está siendo

desarrollado el software.
Como lenguaje de programación utilizaremos Python, siendo un lenguaje de

programación multiparadigma (diferentes métodos de programación) y que

soporta orientado a objetos, es multiplataforma y dinámico, y como entorno

de desarrollo tendremos a Django, su objetivo es el desarrollo de páginas y

aplicativos web, por otro lado, trabajaremos nuestra base de datos en

MySQL, siendo esta la base de datos de código abierto más popular y usada

a nivel mundial, esta fase contara con cinco (5) semanas.

Verificación: Como su propio nombre indica, una vez se termina la fase de

implementación se verifica que todos los componentes del sistema funcionen

correctamente y cumplen con los requisitos.

Lanzar una versión de prueba para determinada muestra de la población

puede ser una opción para recolectar información acerca de las fallas que

puede presentar el software, permitiendo con este tipo de práctica corregir

los bugs, aumentar la calidad del software, refinar el código, etc, esta fase

tendrá un tiempo determinado de tres (3) semanas.

Instalación y mantenimiento: Una vez se han desarrollado todas las

funcionalidades del software y se ha comprobado que funcionan

correctamente, se inicia la fase de instalación y mantenimiento. Se instala la

aplicación en el sistema y se comprueba que funcione correctamente en el


entorno en que se va a utilizar.

En este punto la empresa se asegura que el software funcione de manera

correcta, permitiendo que más usuarios puedan acceder a la aplicación,

dándole un uso más comercial, luego de esto vendrán los respectivos

mantenimientos con los cuales se podrán corregir fallas o mejorar el sistema

permitiendo un rendimiento más óptimo es esta fase contaremos con tres

(3) semanas para implementarla.

5. Descripción del equipo de trabajo y de los roles que

implementarán de acuerdo al modelo seleccionado.

 Administrador del proyecto: El administrador de proyectos es la

persona que tiene la responsabilidad global en un proyecto para que el

inicio, la planificación, el diseño, la ejecución, la revisión, el control y

el cierre de dicho proyecto sean exitosos.

Es la persona responsable de tomar decisiones, tanto grandes como

pequeñas. El administrador de proyectos debe asegurarse de controlar

el riesgo y minimizar la incertidumbre. Cada decisión que tome debe

beneficiar directamente a su proyecto.


 Analista de Sistemas: encargado del desarrollo de aplicaciones en lo

que respecta a su diseño y obtención de los algoritmos, así como de

analizar las posibles utilidades y modificaciones necesarias en el

desarrollo de software para una mayor eficacia de un sistema

informático. Otra misión de estas personas es dar apoyo técnico a los

usuarios.

 Diseñador o desarrollador: es un especialista en informática que es

capaz de concebir y elaborar sistemas informáticos (paquetes de

software), así como de implementarlos y ponerlos a punto, utilizando

uno o varios lenguajes de programación.

 Clientes y Usuarios: son las personas que utiliza o adquiere el

software desarrollado, que ha puesto a disposición La empresa de

desarrollo de software Moreno & Asociados S.A.S, teniendo como fin

mejorar el comercio y turismo en una determinada región de

Colombia.

6. Descripción de las herramientas y métodos de control que

sugieren utilizar dentro del proceso de desarrollo de software

(control de ejecución, control de cumplimiento, control de calidad,

etc).
Como herramienta y método de control tomaremos la norma ISO

9000:2000, con la cual nos aseguraremos la obtención de un software con

calidad, implica la utilización de metodologías o procedimientos estándares

para el análisis, diseño, programación y prueba del software que permitan

uniformar la filosofía de trabajo, en aras de lograr una mayor confiabilidad,

mantenibilidad y facilidad de prueba, a la vez que eleven la productividad,

tanto para la labor de desarrollo como para el control de la calidad del

software.

Gestión de Calidad: Aplicar la política de la calidad, los objetivos y las

responsabilidades y que lo realiza con medios tales como la planificación de

la calidad, el control de la calidad, la garantía de calidad y la mejora de la

calidad.

 Gestión de la calidad de software (ISO 9000): Conjunto de

actividades de la función general de la dirección que determina la

calidad, los objetivos y las responsabilidades y se implanta por medios

tales como la planificación de la calidad, el control de la calidad, el

aseguramiento (garantía) de la calidad y la mejora de la calidad, en el

marco del sistema de calidad.


 Política de calidad (ISO 9000): Directrices y objetivos generales de

una organización, relativos a la calidad, tal como se expresan

formalmente por la alta dirección.

El aseguramiento de la calidad: El aseguramiento de calidad del software se

diseña para cada aplicación antes de comenzar a desarrollarla. Hay quienes

prefieren decir garantía de calidad en vez de aseguramiento.

 Aseguramiento de la calidad: Conjunto de acciones planificadas y

sistemáticas necesarias para proporcionar la confianza adecuada de

que un producto o servicio satisfará los requerimientos dados sobre

calidad.

 Aseguramiento de la calidad de software: Conjunto de actividades

planificadas y sistemáticas necesarias para aportar la confianza en que

el producto (software) satisfará los requisitos dados de calidad.

El control de la calidad: El control de la calidad del software está centrado

en dos objetivos fundamentales, Mantener bajo control un proceso y

eliminar las causas de los defectos en las diferentes fases del ciclo de vida.
Control de calidad: Conjunto de técnicas y actividades de carácter

operativo, utilizadas para verificar los requerimientos relativos a la calidad

del producto o servicio.

Control de la calidad del software: Técnicas y actividades de carácter

operativo, utilizadas para verificar los requisitos relativos a la calidad,

centradas en mantener bajo control el proceso de desarrollo y eliminar las

causas de los defectos en las diferentes fases del ciclo de vida.

Sistema de calidad: Estructura organizativa, procedimientos, procesos y

recursos necesarios para implantar la gestión de calidad.

El sistema de calidad se debe adecuar a los objetivos de la calidad de la

empresa. La dirección de la empresa es la responsable de fijar la política de


calidad y las decisiones relativas a iniciar, desarrollar, implantar y actualizar

el sistema de calidad. Un sistema de calidad consta de varias partes:

Documentación

Manual de calidad: Es el documento principal para establecer e implantar

un sistema de calidad. Puede haber manuales a nivel de empresa,

departamento, producto, específicos (compras, proyectos).

Parte física: locales, herramientas ordenadoras, etc.

Aspectos humanos: Formación de personal, creación y coordinación de

equipos de trabajo.

Normativas:

ISO 9000: Gestión y aseguramiento de calidad (conceptos y directrices

generales). Recomendaciones externas para aseguramiento de la calidad

(ISO 9001, ISO 9002, ISO 9003).

Recomendaciones internas para aseguramiento de la calidad (ISO 9004).

Principios de la gestión de la calidad según ISO 9000: 2000

Los ocho principios de la gestión de la calidad identificados para lograr los


objetivos de la calidad, según "ISO 9000:2000 Sistemas de Gestión de la

Calidad. Fundamentos y vocabulario." son:

Enfoque al cliente. Las organizaciones dependen de sus clientes y por la

tanto deberían comprender las necesidades actuales y futuras de los

clientes, satisfacer los requisitos de los clientes y esforzarse en exceder las

expectativas de los clientes.

Liderazgo. Los líderes establecen la unidad de propósito y la orientación de

la organización. Ellos deberían crear y mantener un ambiente interno, en el

cual el personal pueda llegar a involucrarse totalmente en el logro de los

objetivos de la organización.

Participación del personal. El personal, a todos los niveles, es la esencia

de una organización y su total compromiso posibilita que sus habilidades

sean usadas para el beneficio de la organización.

Enfoque basado en procesos. Un resultado deseado se alcanza más

eficientemente cuando las actividades y los recursos relacionados se

gestionan como un proceso.


Enfoque de sistema hacia la gestión. Identificar, entender y gestionar los

procesos interrelacionados como un sistema, contribuye a la eficacia y

eficiencia de una organización en el logro de sus objetivos.

Mejora continua. La mejora continua del desempeño global de la

organización debería ser un objetivo permanente de ésta.

Enfoque basado en hechos para la toma de decisiones. Las decisiones

eficaces se basan en el análisis de los datos y la información.

Relación mutuamente beneficiosa con el proveedor. Una organización

y sus proveedores son interdependientes, y una relación mutuamente

beneficiosa aumenta la capacidad de ambos para crear valor.

Estándares de calidad

 ISO/IEC JTC1-SC7

 Ingeniería de Software y de Sistemas.

 IEEE – CS

 ISO 9126 – Calidad del producto.

 ISO 14598 – Evaluación de productos de software.

 ISO 12119 – Requerimientos de Calidad y Testing de COTS.

 ISO 15939 – Proceso de medición de software.


Aportaciones del modelo ISO 9001: 2000

Cuando la Organización Internacional para la Normalización visualiza la

futura evolución de la familia ISO 9000 desde el final de la década de los

noventa, habla de unos estándares más dirigidos hacia la obtención de

resultados, incluyendo la satisfacción de clientes y otros stakeholdres.

El primer borrador (CD 1) del Comité ISO/CT 176 para la nueva versión de

las normas de la familia ISO 9000 aportó tres mejoras claras sobre la

existente ISO 9000:94 (entre paréntesis se detalla el párrafo del draft

correspondiente de ISO CD 1):

Conocimiento del cliente.

 Los requisitos del cliente deben cumplirse y en la medida de lo posible

ser excedidos (1.1).

 Se deben determinar los requisitos del cliente (no sólo los requisitos

del contrato) (5.2).

 La dirección debe mantener un sistema que permita conocer los

requisitos del cliente (5.5.5).

 Los requisitos no identificados por el cliente también deben ser tenidos

en cuenta (7.2.1).
 El sistema establecido de comunicación con los clientes debe ser

controlado (7.2.4).

 Se debe establecer procedimientos para obtener y dar uso apropiado a

la información sobre la satisfacción del cliente (8.2.1.1).

Mejora continua.

 La política de calidad incluye compromisos de mejora continua (5.3).

 Los recursos suministrados por la organización deben hacer posible la

mejora del sistema de Gestión de la Calidad (6.1).

 Las auditorias internas incluirán acciones de mejora (8.2.1.2).

 Establecer métodos de medida que indiquen oportunidades de mejora

interna (8.2.2).

 Establecer procesos para la mejora continua (8.4.3).

Capacidad del personal: debe ser competente, recibir formación, estar

cualificados y tener experiencia. Estos puntos siguen siendo una aportación

clara en el desarrollo del segundo borrador de febrero de 1999, ISO CD2

9001 Draft, y finalmente quedan plenamente consolidados en la versión

definitiva.
HERRAMIENTA DE CONTROL DE VERSIONES

Los sistemas de control de versiones fueron pensados para registrar todos los

cambios que se aplican a un proyecto, por lo que siempre puedes recuperar una

versión más antigua en cualquier momento. También identifican al usuario

responsable de cada modificación. Uno de los principales beneficios es el acceso

compartido a los archivos y el desarrollo a la vez de varias bifurcaciones o

branches.
Como nos ayudan:

 Te permiten guardar toda la historia de tu proyecto y acceder a todas sus

versiones.

 Si te equivocas tranquilo, siempre podrás volver a la versión/ versiones

anteriores.

 El trabajo en equipo es más sencillo.

Para el desarrollo de este proyecto tendremos una herramienta de control tipo SVN,

Funciona como un punto de sincronización donde cada desarrollador es un nodo de

trabajo, y todos son iguales ante el repositorio remoto central, SVN dispone de un

repositorio central único desde donde se generan copias de trabajo en la totalidad

del proyecto.

Beneficios:

 Modo de numeración de repositorios muy intuitivo, por lo que es más fácil

volver a versiones anteriores.

 Al almacenarse todas las versiones en un mismo lugar (sistema

centralizado), es más fácil encontrar lo que buscas.

 Con Subversion se puede extraer un subdirectorio de un repositorio.

 La copia de seguridad de los repositorios centrales de Subversion es muy

simple.

También podría gustarte