lunes, 5 de diciembre de 2011

Herramientas de modelado y generación de código a partir de los modelo

La herramienta a utilizar en el desarrollo del diseño para mi proyecto es  Argo y debido a que es un diagramado de UML y el que cuenta con las herramientas para el desarrollo de software tanto en diseño como en  el código a desarrollar.



Cuadro comparativo

SOFTWARE
DISPONIBILIDAD
CARACTERISTICAS





Umbrello







Es una herramienta de diagramas ¨ que ayuda en el proceso del desarrollo de software. Umbrello UML Modeller le facilitará la creación de un producto de alta calidad, especialmente durante fases de análisis y diseño.
Argo UML
es una aplicación de diagramado de UML escrita en Java y publicada bajo la Licencia BSD.

Construido en diseños críticos suministra una revisión no obstructiva del diseño
Soporte para el lenguaje de generación de Código: Java, PHP, Python, C++ y Csharp (C#)


Generación de ficheros PNG, GIF, JPG, SVG, EPS desde diagramas

Gaphor
http://gaphor.devjavu.com
soporta diagramas de clases, diagramas de casos de uso, diagramas de acción y los diagramas de componentes
Comparación de las herramientas case
Herramientas UML
Lower CASE (L-CASE): herramientas que semi-automatizan la generación de código, crean programas de detección de errores, soportan la depuración de programas y pruebas. Además automatizan la documentación completa de la aplicación. Aquí pueden incluirse las herramientas de Desarrollo rápido de aplicaciones
Diseño

Para documentar la etapa de diseño, se seguirá (Lenguaje Unificado de Modelado) por sus siglas en inglés (Unified Modeling Language), se ha establecido como un estándar de facto para el modelado orientado a objetos de sistemas informáticos. La metodología basada en UML

Es un lenguaje gráfico para visualizar, especificar, construir y documentar un sistema. UML ofrece un estándar para describir un "plano" del sistema (modelo), incluyendo aspectos conceptuales tales como procesos de negocio, funciones del sistema, y aspectos concretos como expresiones de lenguajes de programación, esquemas de bases de datos y componentes reutilizables



                 TIPOS DE DIAGRAMAS

·         Diagrama de casos de uso

·         Diagrama de clases

·         Diagramas de comportamiento

         -Diagrama de estados

         -Diagrama de actividad

         -Diagramas de interacción

        - Diagrama de secuencia

      - Diagrama de colaboración

  • Diagramas de implementación

          -Diagrama de componentes

         -Diagrama de despliegue
CASO DE USO GENERAL

DIAGRAMA DE SECUENCIAS


 DIAGRAMA DE CLASES
 DIAGRAMA DE ACTIVIDADES


CASO DE USO CAPTURISTA


CASO DE USO ADMINISTRADOR

CASO DE USO  CAJERA




domingo, 23 de octubre de 2011



A continuación menciono algunas comparaciones de  las técnicas que he utilizado a lo largo  del desarrollo de la investigación

Técnica
Ventajas
Desventajas
Entrevistas y Cuestionarios
Mediante ellas se obtiene una gran cantidad de información correcta a través del usuario.
Pueden ser usadas para obtener un pantallazo del dominio del problema.
Son flexibles.
Permiten combinarse con otras técnicas.
La información obtenida al principio puede ser redundante o incompleta.
Si el volumen de información manejado es alto, requiere mucha organización de parte del analista, así como la habilidad para tratar y comprender el comportamiento de todos los involucrados.
Lluvia de Ideas
Los diferentes puntos de vista y las confusiones en cuento a terminología, son aclaradas por expertos.
Ayuda a desarrollar ideas unificadas basadas en la experiencia de un experto.
Es necesaria una buena compenetración del grupo participante.
Prototipos
Ayudan a validar y desarrollar nuevos requerimientos.
Permite comprender aquellos requerimientos que no están muy claros y que son de alta volatilidad.
El cliente puede llegar a pensar que el prototipo es una versión del software que será desarrollado.
A menudo, el desarrollador hace compromisos de implementación con el objetivo de acelerar la puesta en funcionamiento del prototipo
Análisis Jerárquico
Permite determinar el grado de importancia de cada requerimiento.
Ayuda a identificar conflictos en los requerimientos.
Muestra el orden en que deben ser implementados los requerimientos.
Debe construirse un estándar claro de evaluación, que incluya la participación del cliente.
Casos de Uso
Representan los requerimientos desde el punto de vista del usuario.
Permiten representar más de un rol para cada afectado.
Identifica requerimientos estancados, dentro de un conjunto de requerimientos.
En sistemas grandes, toma mucho tiempo definir todos los casos de uso.
El análisis de calidad depende de la calidad con que se haya hecho la descripción inicial.





Análisis del Problema
Evaluación y negociación
Especificación de Requisitos
Validación
Evolución
Entrevistas y Cuestionarios
X
X
Lluvia de Ideas
X
X
Prototipos
X
Análisis Jerárquico
X
X
Casos de Uso
X
X
X




                                   INGENIERIA DE REQUIRIMIENTOS





Para poder llevar la realización de mi proyecto me he apoyado en  la ingeniería de requisitos  que es el proceso por el cual se trasforman los requerimientos declarados por los clientes ya sean hablados o escritos los cuales se dividen en funcionales  y no funcionales.

Y sus principales características que destacan son:

Necesario: Un requerimiento es necesario si su omisión provoca una deficiencia en el sistema a construir, y además su capacidad, características físicas o factor de calidad no pueden ser reemplazados por otras capacidades del producto o del proceso.
Conciso: Un requerimiento es conciso si es fácil de leer y entender. Su
redacción
debe ser simple y clara para aquellos que vayan a consultarlo en un futuro.
Completo: Un requerimiento está completo si no necesita ampliar detalles en su redacción, es decir, si se proporciona la
información
suficiente para su comprensión.
Consistente: Un requerimiento es consistente si no es contradictorio con otro requerimiento.
No ambiguo: Un requerimiento no es ambiguo cuando tiene una sola
interpretación
. El lenguaje usado en su definición, no debe causar confusiones al lector.
Verificable: Un requerimiento es verificable cuando puede ser cuantificado de manera que permita hacer uso de los siguientes
métodos
de verificación: inspección, análisis, demostración o pruebas

Las técnicas con las que cuenta la ingeniería de requisitos son las entrevistas , cuestionarios  casos de uso , lluvias de ideas así como prototipos que nos permiten reunir información de personas o grupos   permitiendo un mayor control ,reducir costos  etc.





.
















METODOLOGIA A UTILIZAR



RNA: Relationship-Navegational Analysis



RNA (Bieber, Galnares & Lu, 1998) plantea una secuencia de pasos para el desarrollo de aplicaciones web, centrándose fundamentalmente en el flujo de trabajo de análisis.

El proceso de trabajo que presenta RNA se basa en la realización de las siguientes fases:



 Fase 1-
Análisis del entorno: esta fase es el de estudiar las Características de la audiensa Consiste en determinar y clasificar a los usuarios Finales de la aplicación en grupos según sus perfiles.



 Fase 2- Elementos de interés: en esta fase se listan todos los elementos de interés de la aplicación. Por elementos de interés se entienden los documentos, las pantallas que se van a requerir, la información, etc.



 Fase 3- Análisis del conocimiento: esta fase consiste en desarrollar un esquema que represente a la aplicación. Para ello RNA propone identificar los objetos, los Procesos y las operaciones que se van a poder realizar en la aplicación, así como Las relaciones que se producen entre estos elementos.



Fase 4- Análisis de la navegación: en esta fase el esquema obtenido en la fase anterior es enriquecido con las posibilidades de navegación dentro de la aplicación.



 Fase 5- Implementación del análisis: una vez obtenido el esquema final en el que ya se encuentran incluidos los aspectos de navegación, se pasa el esquema a un lenguaje entendible por la máquina.

La propuesta de RNA es quizás una de las que más ha resaltado la necesidad de trabajar Con la especificación de requisitos, incluyendo tareas como el análisis del entorno y de los elementos de interés. Además, resulta interesante pues plantea la necesidad de analizar los requisitos conceptuales de manera independiente a los navegacionales.



                                              Conclusión.


Realizar un programa que permita obtener citas medicas electrónicas en el municipio de Cadereyta Querétaro y sus alrededores , se trata de sacar la cita médica en menos tiempo, de tal forma que tenga un mayor uso por el público en general siendo de fácil adquisición y no solo se utilice en organizaciones privadas.

El sistema servirá como medio para transmitir un buen servicio además de apoyo para familiarizarse con la tecnología.


                   Justificación



A causa del gran problema que existe en el hospital general del municipio de Cadereyta de montes Qro. para poder obtener una cita médica y en la que se tiene que hacer largas filas o llegar muy temprano para obtener una ficha esta situación es muy cansado para los derechohabientes porque es una pérdida de casi medio día además de que padecen fríos , en ocasiones lluvias todo esto solo para ser atendidos por un médico.

Debido a esta situación me he propuesto plantear una solución en la que se mejore la atención a las personas que acuden a este centro de salud llevando a cabo este proyecto de ingeniería donde  la propuesta es realizar un programa que permita realizar las citas vía Internet en el que los usuarios tengan acceso y en el que puedan sacar su cita en un horario más flexible tanto para ellos como para los trabajadores del mismo además de tener una base de datos en la que se tengan todos y cada uno de los archivos médicos de las personas sin necesidad que se tengan que buscar en el archivo ya que se lleva tiempo además de que se desperdicia mucho papel esto ayudara a disminuir el consumo de insumos y recursos financieros que pueden ser utilizados en otras cosas como mejorar la farmacia del centro para que se tengan los medicamentos necesarios.

Con esto se ahorrara tiempo y dinero además de una atención médica más completa para la ciudadanía del municipio.
Hipótesis de investigación:

Un sistema de citas electrónicas contribuirá a reducir el tiempo de espera que un paciente tiene que aguardar antes de consulta, así como dar  agilidad al trámite.


Objetivo general de proyecto de ingeniería de software

Conocer los problemas del registro de citas médicas en el hospital general del municipio de Cadereyta








  Objetivo general del desarrollo

Desarrollar un software que permita programar las citas electrónicas en el hospital de Cadereyta.