ingeniería de software, herramientas, métodos y procesos
Ingeniería de software, herramientas, métodos y procesos
La ingeniería de software está compuesta por varias capas
Herramientas
Métodos
Procesos
Compromiso con calidad
Proceso de software: Son las acciones y tareas que se
ejecutan con la intención de lograr un objetivo, este se conoce como ciclo de
vida de software. Este comprende diferentes etapas por las que pasa el
desarrollo de software.
Los métodos: Proporcionan un enfoque organizado y
sistemático para desarrollar software los cuales facilitan la producción de
software de acuerdo al presupuesto y tiempo estimado.
Herramientas: Proporcionan un apoyo para los procesos y los
métodos estas ayudan en la planeación de actividades, supervisan los procesos y
ayudan a brindar calidades técnicas y productos de software.
Procesos de software
Es un conjunto de actividades, acciones que llevan a cabo.
Metodologías Tradicionales:
·
Modelo en cascada aplica en modelo sistemático y
secuencial, este va desde la comunicación con el cliente hasta el despliegue y
el soporte de proyecto.
§
Análisis y definición de requisitos, se
especifican las características del sistema para suplir las necesidades del
cliente
§
Diseño del sistema del software, Establece la
arquitectura del software por medio del lenguaje de programación
§
Integración de pruebas, Se realiza también en la
integración del software de parte de este con el sistema completo. Se ejecutan
las pruebas correspondientes para validar que si se cumpla con los requisitos
del cliente
§
Operación y Mantenimiento, en esta etapa es
posible detectar y organizar los errores que se encuentran en el proyecto, se
hace un seguimiento al funcionamiento y se garantiza la estabilidad.
1.
Proceso incremental: aborda grandes desarrollos
donde es posible entregas parciales de software, este proceso aplica en forma
escalonada
2.
Modelo proceso evolutivo: Se comprende bien los
requisitos solicitados por el cliente, pero estos pueden llegar a cambiar
durante el proceso de elaboración del proyecto
Prototipado
Se plasman los requerimientos básicos, es incompleta, no
posee estándares de calidad, se realiza de forma rápida con el fin de obtener
una retroalimentación con el cliente para un mejor entendimiento de los
requisitos para entender más los requisitos del sistema.
Modelo espiral
Es un generador de modelos de procesos impulsado por el
riesgo se usa para guiar la ingeniería concurrente con participantes múltiples
de sistemas intensivos de software.
Estrategias y métodos del desarrollo de software
Diseño estructurado orientado a funciones: Se centra en
identificar las principales funciones e implementarlas y refinarlas
Diseño orientado a objetos:
es uno de los métodos más utilizados se destacan los objetos, métodos y
atributos y juegan u papel muy importante las herencias y polimorfismos.
Metodologías Agiles: Se rige por el manifiesto agil en el
cual se acuerdan cuatro principios básicos que diferencian los proyectos agiles
con los proyectos tradicionales.
Principios de metodologías agiles:
·
Prioridad de satisfacer al cliente mediante
tempranas y continuas entregas de software que le aporta un valor.
·
Dar la bienvenida a los cambios incluso al final
del desarrollo, los cambios les darán las ventajas competitivas a nuestro
cliente.
·
Hacer entregas frecuentes de software que
funcione desde un par de semanas a un par de meses, con el menor intervalo de
tiempo posible de entregas.
·
Las personas de negocio y los desarrolladores
deben de trabajar juntos diariamente a lo largo de todo el proyecto.
·
Construir el proyecto entorno a los individuos
motivados. Darle un entorno de apoyo, que necesiten confiar en ellos.
·
El dialogo cara a cara es el método más
eficiente y efectivo para comunicar información dentro de un equipo de
desarrollo.
·
El software que funciona es la principal medida
del progreso.
·
Los procesos agiles promueven un desarrollo
sostenido. Los promotores, usuarios y los desarrolladores deben poder mantener
un ritmo de trabajo constante de forma indefinida.
·
La atención continua a la calidad técnica y al
buen diseño mejoran la agilidad.
·
La simplicidad es esencial. Se ha de maximizar al
trabajo que no se puede realizar.
·
Las mejores arquitecturas, requisitos y diseño
surgen de los equipos que se han organizado de ellos mismos.
·
En intervalos regulares, el equipo debe de
reflexionar con respecto a cómo llegar a ser efectivo y ajustar su
comportamiento para conseguirlo.
Las herramientas:
Proporcionan un apoyo al proceso y los métodos, estas ayudan
en la planeación de actividades, supervisan los procesos y ayudan a brindar
calidad técnica de los procesos de software
Herramientas de requisitos de software y de
gestión de proyectos:
·
Jira Software
·
Trello
·
Redmine
Herramientas de pruebas de
Software:
·
Selenium
·
Visual Studio Test profesional
·
JUnit
Herramientas de gestión de la
configuración del software
·
Git
·
Subversion
·
Jenkins
Roles del equipo de desarrollo de Software
Cualidades que debe de tener un equipo de desarrollo de
Software
·
Buena comunicación
·
Respeto mutuo
·
Compromiso
·
Capacidad de trabajo en equipo
·
Capacidad de auto formación
Roles comunes en el equipo de desarrollo de software
·
Gerente del proyecto, administra los recursos
del proyecto
·
Analista, se encarga de identificar la necesidad
del cliente y los requisitos del sistema.
·
Arquitecto, Realiza el diseño arquitectónico de
la herramienta basado en los requisitos del sistema.
·
Desarrolladores, lleva a cabo la codificación
del software y según el requisito y el diseño arquitectónico
·
Diseñador grafico
·
Tester, Se asegura de la calidad del software,
se realizan las pruebas necesarias para valida el correcto funcionamiento.
·
Administradores de infraestructura o de
configuración de software, se encarga de administrar el hadware o de diferentes
herramientas necesarias para que el software funcione correctamente.
·
Soporte y mantenimiento, persona que se encarga
de mantener el software cuando se encuentra en producción.
Comentarios
Publicar un comentario