Ingeniería del Software | Proceso racional unificado: fase I – Inicio.
Hola querida comunidad, en esta oportunidad les vengo hablar de una de las ramas más importantes de la informática. En este post explicaremos los conceptos básicos que se manejan en esta área y trataremos la metodología RUP en su primera fase.
Conceptos básicos
- Sistema: Es un conjunto de elementos que se intercambian entre sí para cumplir un objetivo específico o propuesto.
- Software: Serie de instrucciones ejecutadas por el ordenador para realizar distintas tareas.
- Ingeniería del software: Es aquella parte de la informática que ofrece métodos y técnicas para desarrollar y mantener un software de calidad, para que de esta manera pueda resolver uno o varios problemas.
Elementos del proceso de software:
- Comunicación {Universo del discurso, requerimientos funcionales y no funcionales }
- Planificación {Planificación del PST, diagrama de gantt}
- Modelado {UML: casos de usos, clases y secuencia}
- Construcción {Conocimiento del lenguaje de programación y framework}
- Despliegue
Proceso Racional Unificado (RUP)
En la actualidad esta metodología es una de las más fáciles para enseñar a los estudiantes de la carrera de informática a elaborar cada uno de los diagramas, para de que de esta manera todo el diseño este realizado de forma correcta y así poder comenzar a programar basándose en el diseño previo.
Características:
- Centrada en la arquitectura: basada totalmente en la creación de los diagramas.
- Dirigida por casos de usos: donde se ven los procesos que lleva a cabo el actor.
- Iterativa: dividida en 4 fases.
Elementos en arquitectura:
- Roles.
- Actividades.
- Artefactos.
- Disciplina.
- Flujo de trabajo.
La RUP divide todo este proceso en 4 fases para mayor entendimiento y desarrollo:
1.- Fase de inicio.
2.- Fase de elaboración.
3.- Fase de desarrollo, implementación o construcción.
4.- Fase de transición o cierre.
Fase de Inicio
Esta fase involucra el alcance del proyecto, la identificación de los riesgos (factibilidad, técnica), la propuesta de una visión muy general de la arquitectura y el producir el plan de las fases con sus interacciones posteriores. La fase de inicio está compuesta por los requerimientos funcionales y no funcionales.
¿Qué es un requerimiento funcional?
Se definen como su nombre lo indica las funciones de sistema de un software o sus componentes, estos describen las entradas, salidas y el comportamiento del software. Este es uno de los elementos más importantes de la ingeniería del software, ya que a partir de este serán realizados los siguientes en las demás fases del proceso de la RUP.
¿Cómo levantar de manera correcta los requerimientos funcionales?
1.- Conoces el funcionamiento total del negocio, es decir, como se llevan a cabo cada uno de los procesos inmersos en la comunidad del trabajo. Por ejemplo: Si un cliente nos pide realizar un sistema para un consultorio de nutrición, debemos adquirir toda la información competente a esto. Si la usuaria del sistema será la Lic. En nutrición, debemos saber cómo son sus herramientas de trabajo, como deben ser llenadas de manera correcta, como son las fórmulas para calcular el peso ideal, como crea un menú de plan alimenticio, como asigna las citas y así un sinfín de cosas.
En realidad los programadores deben aprender todos estos procesos, tanto que de ser este el caso volvernos unos nutricionistas, para que de esta forma el sistema quede totalmente similar y en su defecto igual a los procesos que se llevan a cabo en ese consultorio.
2.- Definir las técnicas para el levantamiento de los requerimientos, entre ellas:
- Análisis de documentos.
- La observación pasiva o activa.
- La entrevista (Sesión JAD).
- Las encuestas o cuestionarios.
3.- Una vez que se obtiene toda la información perteneciente a la comunidad, se enumera y define cada proceso llevado a cabo. Este paso es considerado como la planificación de PST.
4.- Identificar los elementos o equipos de hardware y de redes con que cuenta esta comunidad. Este último paso es de suma importancia, ya que si las maquinas no poseen los elementos necesarios el sistema creado no podrá ser implantado en la comunidad.
¿Qué es un requerimiento no funcional?
Son los que detallaran los criterios con los que el sistema debería de cumplir a totalidad. Los criterios que estos contienen están establecidos, sin embargo estos hacen unos nuevos casos de uso que si el usuario desea que sean especificados pueden hacerse.
Criterios:
- Seguridad: grado de protección de los datos, software o de la plataforma en la que estemos trabajando.
- Usabilidad: Facilidad de uso y aprendizaje de un sistema.
- Mantenibilidad: Desarrollar nuevos requerimientos.
- Deficiencia: Tiempo de respuestas en sus transacciones.
- Portabilidad: Exigencia de ser implantados en pc, tablet o teléfonos.
- Reusabilidad: Exportar e importar módulos a otros sistemas.
- Interoperabilidad: Comunicación externa que pueda brindar el software a través de correos o mensajerías de textos.
Para realizar el levantamientos de los requerimientos dentro de un sistema se utiliza un formato de tipo cuadro, el cual nos ayudará a realizarlos de manera mas fácil y rápida. A continuación el formato:
- Identificación del RF: Se le coloca un numero que lo represente, en este caso nuestro primer modulo será el de citas. Es por esto que se coloca un 1.01 porque es el primero RF del modulo 1. Y así sucesivamente se harán con los demás módulos y requerimientos.
- Requerimiento no funcional: Los criterios anteriormente mencionados se enumeran u organizan como el usuario desee, en esta casilla se colocaran todos los que creamos convenientes para el registro de persona. Por ejemplo: La seguridad debería ser el principal, ya que los datos del paciente estarán registrados en la cita.
- Prioridad: Esta puede ser alta, baja o media. Se puede decir que es el grado en que puede afectar o no al sistema. Por ejemplo: En este caso es alta, ya que sin un registro de citas no habría pacientes que atender.
- Las imagenes presentadas, los separadores y banner fueron creados en power point 2013 por mi persona Stefany Oropeza.
Referencias
Ian Sommerville. "Ingeniería del software" Editorial Pearson Adison S.A Madrid. Séptima edición 2005. Capitulo IV: Requerimientos.
Fuente de las imágenes
Imagen cables
Imagen computadora
Imagen actor
Imagen mundo
Logo steemit
Las imágenes utilizadas fueron tomadas de internet con la herramienta que google nos proporciona, siendo estas etiquetadas para la reutilización de otros usuarios.
This post has been voted on by the steemstem curation team and voting trail.
There is more to SteemSTEM than just writing posts, check here for some more tips on being a community member. You can also join our discord here to get to know the rest of the community!
Hi @stefanyo!
Your post was upvoted by utopian.io in cooperation with steemstem - supporting knowledge, innovation and technological advancement on the Steem Blockchain.
Contribute to Open Source with utopian.io
Learn how to contribute on our website and join the new open source economy.
Want to chat? Join the Utopian Community on Discord https://discord.gg/h52nFrV
¡Felicidades, #proconocimiento te valoró!
Has sido reconocido(a) por tu buen post por el Comité de Arbitraje y Valoración del Proyecto Conocimiento @proconocimiento.
Apoyamos y valoramos tu esfuerzo...
Proyecto Conocimiento es parte de la comunidad @provenezuela.
Pioneros en la plataforma #steemit en el reconocimiento y valoración a la Producción Intelectual en habla hispana.
Muy buen trabajo @stefanyo. Gracias por compartirlo. Si tienes algún tiempo, te invito a ver mi post sobre la Energía. Saludos.
Muchas gracias por leerlo! Grato saludo!
Esto me recuerda mucho mis clases de Ingenieria en Software y me has ayudado a que me vuelva a centrar en mis formas de programar, ya que cuando entras al mundo laboral suele uno abandonar estos conceptos para solo dedicarse a "codear" dejando a lado una estructura que debemos seguir.
¿Quieres recibir mejores recompensas en tus post de informática, tecnología o programación, ayúdanos delegando algo de SP:
1 SP, 5 SP, 10 SP