lunes, 30 de agosto de 2021

PA 2 Fases De La Arquitectura de Software

 

Instituto Tecnológico de Comitán

Daniela Hernández Vázquez

No control: 19700041

Semestre: 5

Grupo: A

Carrera: Ingeniería en Sistemas Computacionales 

Nombre del Profesor: Mónica Laurent León Juárez

Materia: Fundamentos de Ingeniería de software

Resumen de las fases de la ingeniería de software.

Fecha: 30/08/2021



Introducción

El diseño del Software tiene un impacto directo sobre la capacidad del sistema para cumplir o no el total de requerimientos establecidos. Un error de diseño en esta fase puede acarrear problemas en todo el proyecto y provocar que este caiga en una espiral de continuos cambios y de rehacer constantemente el trabajo. La ingeniería de software requiere llevar a cabo numerosas tareas agrupadas en etapas, al conjunto de estas etapas se le denomina ciclo de vida. Las etapas comunes a casi todos los modelos de ciclo de vida son las siguientes: Análisis, especificación, diseño y arquitectura, programación, prueba, documentación y mantenimiento a continuación se explicarán cada uno de ellos.

 

La ingeniería de programas informáticos es el proceso formal de desarrollo de programas informáticos en el que las necesidades de los usuarios se traducen en requisitos, éstos se transforman en un diseño que se aplica en un código que se prueba, documenta y certifica para su uso operacional.

Fases


Análisis de los requisitos:

Se extraen los requisitos del producto de software. En esta etapa, la habilidad y la experiencia en ingeniería de software es fundamental para reconocer los requisitos incompletos, ambiguos o contradictorios. Por lo general, el cliente/usuario tiene una visión incompleta/inexacta de lo que necesita y es necesario ayudarle a obtener la visión completa de los requisitos. El contenido de la comunicación en esta etapa es muy intenso ya que el objetivo es eliminar la ambigüedad en la medida de lo posible.

El resultado del análisis de requisitos con el cliente se plasma en el documento ERS (especificación de requisitos del sistema), cuya estructura puede venir definida por varios estándares, tales como CMMI. Asimismo, se define un diagrama de entidad/relación, en el que se plasman las principales entidades que participarán en el desarrollo del software, de esta etapa depende en gran medida el logro de los objetivos finales. 

Finalidades del análisis de requisitos:

  • Brindar al usuario todo lo necesario para que pueda trabajar en conjunto con el software desarrollado obteniendo los mejores resultados posibles.
  • Tener un control más completo en la etapa creación del software, en cuanto a tiempo de desarrollo y costos.
  • Utilización de métodos más eficientes que permitan el mejor aprovechamiento del software según sea la finalidad de uso del mismo
  • Aumentar la calidad del software desarrollado al disminuir los riesgos de mal funcionamiento.



Especificación:

Es la tarea de describir en detalle el software que se va a escribir, de forma rigurosa. Describe el comportamiento esperado del software y su interacción con los usuarios y/u otros sistemas.

La especificación de requisitos describe el comportamiento esperado en el software una vez desarrollado. Gran parte del éxito de un proyecto de software radicará en la identificación de las necesidades del negocio (definidas por la alta dirección), así como la interacción con los usuarios funcionales para la recolección, clasificación, identificación, priorización y especificación de los requisitos del software.

Entre las técnicas utilizadas para la especificación de requisitos se encuentran:

 

·         Caso de uso

·         Historias de usuario

 

Siendo los primeros más rigurosas y formales, los segundas más ágiles e informales.



Diseño y arquitectura:

Determinar cómo funcionará de manera general sin entrar en detalles, incorporando consideraciones de implementación tecnológica, como el hardware, la red, etc. Consiste en el diseño de los componentes del sistema que responden a las funcionalidades descritas en la segunda etapa, también conocidas como entidades empresariales. Generalmente se realiza en base a diagramas que permiten describir las interacciones entre las entidades y su secuenciación.

Un diseño arquitectónico describe en general el cómo se construirá una aplicación de software. Para ello se documenta utilizando diagramas, por ejemplo:

 

·         Diagrama de clases

·         Diagrama de base de datos

·         Diagrama de despliegue

·         Diagrama de secuencia

Los diagramas de clases y de base de datos son los mínimos necesarios para describir la arquitectura de un proyecto que iniciará a ser codificado. Dependiendo del alcance del proyecto, complejidad y necesidades, el arquitecto elegirá cuales de los diagramas se requiere elaborar.

Las herramientas para el diseño y modelado de software se denominan CASE (Computer Aided Software Engineering) entre las cuales se encuentran:

 

·         Enterprise Architect

·         Microsoft Visio for Enterprise Architects




Programacion:

El diseño se traduce en código. Es la parte más obvia del trabajo de ingeniería de software y la primera en la que se obtienen resultados “tangibles”. No es necesariamente la etapa más larga ni la más compleja, aunque una especificación o diseño incompleto/ambiguo puede requerir que las tareas de las etapas anteriores se lleven a cabo en ésta.

Para el desarrollo de la aplicación es necesario considerar cinco fases para tener una aplicación o programa eficiente, estas son:

  • Desarrollo de la infraestructura: Esta fase permite el desarrollo y la organización de los elementos que formaran la infraestructura de la aplicación, con el propósito de finalizar la aplicación eficientemente.
  • Adaptación del paquete: El objetivo principal de esta fase es entender de una manera detallada el funcionamiento del paquete, esto tiene como finalidad garantizar que el paquete pueda ser utilizado en su máximo rendimiento, tanto para negocios o recursos. Todos los elementos que componen el paquete son inspeccionados de manera detallada para evitar errores y entender mejor todas las características del paquete.
  • Desarrollo de unidades de diseño de interactivas: En esta fase se realizan los procedimientos que se ejecutan por un diálogo usuario-sistema. Los procedimientos de esta fase tienen como objetivo principal:
  •  Establecer específicamente las acciones que debe efectuar la unidad de diseño.
  •  La creación de componentes para sus procedimientos.
  • Ejecutar pruebas unitarias y de integración en la unidad de diseño.
  • Desarrollo de unidades de diseño batch: En esta fase se utilizan una serie de combinación de técnicas, como diagrama de flujo, diagramas de estructuras, tablas de decisiones, etc. Cualquiera a utilizar será beneficioso para plasmar de manera clara y objetiva las especificaciones y que así el programador tenga mayor comprensión a la hora de programar y probar los programas que le corresponden.
  • Desarrollo de unidades de diseño manuales: En esta fase el objetivo central es proyectar todos los procedimientos administrativos que desarrollarán en torno a la utilización de los componentes computarizados.



 

Prueba:

Consiste en comprobar que el programa informático responde correctamente / realiza las tareas indicadas en la especificación. Es una buena práctica realizar pruebas a diferentes niveles (por ejemplo, primero a nivel de unidad y luego de forma integrada para cada componente) y así poder llegar al objetivo. Se considera una buena práctica el que las pruebas sean efectuadas por alguien distinto al desarrollador que la programó, idealmente un área de pruebas; sin perjuicio de lo anterior el programador debe hacer sus propias pruebas.




Documentación: Elaboración del manual de usuario y, posiblemente, de un manual técnico para el mantenimiento y las futuras ampliaciones del sistema. Las tareas de esta etapa comienzan ya en la primera fase, pero sólo terminan una vez terminadas las pruebas.

Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML), diagramas, pruebas, manuales de usuario, manuales técnicos, etc; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema.

 


Mantenimiento: En esta etapa se realiza un mantenimiento correctivo (para solucionar errores) y un mantenimiento evolutivo (para mejorar las funcionalidades y/o dar respuesta a nuevos requerimientos).

Mantener y mejorar el software para enfrentar errores descubiertos y nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo inicial del software. Alrededor de 2/3 de toda la ingeniería de software tiene que ver con dar mantenimiento. Una pequeña parte de este trabajo consiste en arreglar errores, o bugs. La mayor parte consiste en extender el sistema para hacer nuevas cosas. De manera similar, alrededor de 2/3 de toda la ingeniería civil, arquitectura y trabajo de construcción es dar mantenimiento.

 



 

 

 

  

Conclusión

Cada una de las fases de la arquitectura de software son muy importantes, ya que cada una cumple una función que permite que la elaboración del software se pueda realizar de la mejor manera y que podamos cumplir con el objetivo que deseamos. Si no realizamos uno de estos pasos tendríamos consecuencia que no nos permitirá que el proyecto funcione y no podamos avanzar, es importante llevar un buen control para así poder realizar el proyecto de la mejor manera posible.





Bibliografía

Fases del Proceso de Desarrollo del Software. (2008, July 5). Sistemas VD; Sistemas VD. https://sistemasvd.wordpress.com/2008/07/05/fases-del-proceso-de-desarrollo-del-software/

Ingeniero. (2020, February 19). Fases de la ingeniería de software La ingeniería de programas informáticos es Read more. Ingeniería; Ingeniería. https://ingeniero.win/fases-de-la-ingenieria-de-software/

https://www.facebook.com/ZimbronApps. (2017, August 22). Fases de la Ingeniería de Software - ZimbronApps. ZimbronApps. https://zimbronapps.com/educacion/sistemas-computacionales/ingenieria-de-software/fases-la-ingenieria-software/

No hay comentarios:

Publicar un comentario