INSTITUTO TECNOLOGICO SUPERIOR DE
ACAYUCAN
DOCENTE: Lucía Del Carmen Ugarte Sánchez
ALUMNA: Leslie Andrea Santiago Reyes
MATERIA: Fundamentos de Sistemas de Información
ACTIVIDAD: Etapas de la Ingeniería de Software
SEMESTRE: 3
GRUPO: 307-A
CARRERA: ING. EN INFORMATICA
ETAPAS DE LA INGENIERÍA DE SOFTWARE
El Desarrollo de Software consta de varios
pasos que deben seguirse y cumplirse para
crear programas de computación que sean
eficientes, seguros y útiles para los usuarios.
Esto implica planificar, realizar y gestionar
eficientemente un proyecto para ejecutarlo con
éxito y lograr que cumpla con el objetivo para el cual fue diseñado.
Ante un nuevo proyecto de software, lo primero que se debe hacer es recopilar la
información necesaria para comprender y documentar lo que requieren los
usuarios y los problemas que efectivamente resolverá.
CONCEPCIÓN: En esta etapa, se identifican las necesidades y oportunidades
del cliente. Se realiza un análisis inicial para entender el problema o la necesidad
que el software debe abordar. Se definen los objetivos del proyecto y se determina
si es factible desde el punto de vista técnico, económico y legal.
PLANIFICACIÓN: En esta fase, se desarrolla un plan detallado del proyecto. Se
definen los recursos necesarios, el cronograma, el presupuesto y las tareas
específicas. Se establecen los objetivos, los riesgos y las restricciones del
proyecto. La planificación es esencial para guiar el desarrollo del software y
garantizar que se complete a tiempo y dentro del presupuesto.
ANALISIS DE REQUISITOS: Durante esta etapa, se recopilan y documentan los
requisitos del software. Los analistas de sistemas se reúnen con los clientes y
otras partes interesadas para comprender completamente lo que se espera del
software. Los requisitos pueden ser funcionales (lo que el sistema debe hacer) y
no funcionales (restricciones de rendimiento, seguridad, etc.).
DISEÑO: En la fase de diseño, se crea la arquitectura del sistema y se definen los
componentes del software. Los diseñadores de sistemas determinan cómo se verá
y funcionará el software. Esta etapa implica tomar decisiones sobre la estructura
del sistema, los algoritmos, las interfaces y otros aspectos técnicos del software.
IMPLEMENTACIÓN (CODIFICACIÓN) : La implementación implica escribir el
código del software basándose en los diseños creados durante la fase anterior.
Los programadores utilizan lenguajes de programación y herramientas específicas
para traducir el diseño del software en código ejecutable. Esta etapa es crucial
para construir el núcleo funcional del software.
PRUEBAS: En esta etapa, se realizan pruebas exhaustivas para asegurarse de
que el software cumple con los requisitos y funciona como se espera. Las pruebas
pueden incluir pruebas unitarias para componentes individuales, pruebas de
integración para verificar cómo se combinan los componentes y pruebas de
sistema para evaluar el sistema en su conjunto. También se realizan pruebas de
aceptación del usuario para asegurarse de que el cliente esté satisfecho con el
producto final.
DESPLIEGUE: Durante esta etapa, el software es implementado en un entorno de
producción para que los usuarios finales puedan comenzar a utilizarlo. Esto puede
implicar la instalación en servidores, distribución a través de tiendas de
aplicaciones o cualquier otro método relevante para el tipo de software
desarrollado.
MANTENIMIENTO: Después del despliegue, el software entra en la fase de
mantenimiento. Esto implica corregir errores, realizar actualizaciones de
seguridad, proporcionar soporte técnico y, a veces, agregar nuevas características
o funcionalidades. La evolución del software puede continuar durante años, ya que
se adaptará a los cambios en las necesidades del usuario y las tecnologías
emergentes.
ENTREVISTA
Concepción y Planificación:
- ¿Cómo se inicia un nuevo proyecto de software en su empresa?
- ¿Cómo se determinan los objetivos y requisitos iniciales del proyecto?
- ¿Cuál es el papel del cliente en la fase de planificación del proyecto?
Análisis y Requisitos
- ¿Cómo recolecta y documenta los requisitos del cliente?
- ¿Cómo manejan los cambios en los requisitos durante el desarrollo del
proyecto?
- ¿Cómo aseguran que los requisitos sean claros, comprensibles y
alcanzables?
Diseño del Sistema
- ¿Cómo traduce los requisitos del cliente en un diseño técnico?
- ¿Qué herramientas y metodologías utiliza para el diseño de sistemas?
- ¿Cómo aborda la escalabilidad y la mantenibilidad en el diseño del sistema?
Implementación (Codificación)
- ¿Qué lenguajes y tecnologías de programación utiliza en su trabajo diario?
- ¿Cómo maneja los problemas de calidad de código y realiza pruebas
unitarias?
- ¿Qué prácticas de desarrollo ágil o metodologías sigue durante la
implementación?
Pruebas y Validación
- ¿Qué tipo de pruebas realiza para asegurar la calidad del software?
- ¿Cómo maneja los casos de prueba y realiza pruebas de regresión?
- ¿Qué herramientas y técnicas utiliza para la automatización de pruebas?
Despliegue y Entrega
- ¿Cómo planifica y ejecuta el despliegue del software en un entorno de
producción?
- ¿Cómo maneja los problemas de compatibilidad y configuración durante el
despliegue?
- ¿Cuáles son las mejores prácticas para garantizar una entrega de software
sin problemas?
Mantenimiento
- ¿Cómo maneja las actualizaciones y correcciones de errores después del
lanzamiento?
- ¿Cómo aborda las solicitudes de nuevas características después del
despliegue inicial?
- ¿Qué estrategias utiliza para asegurar que el software evolucione con las
cambiantes necesidades del negocio?