Logo Studenta

FIS 13-14 20bTarea 123 Lopez Anselmo MA - Mauricio axel 20

¡Este material tiene más páginas!

Vista previa del material en texto

Ingeniería de software 
P á g i n a 1 | 29 
Acapulco Gro. 5 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 1,2,3 
1.1 Conceptos Introductorios a la ingeniería de software 
1.2 Fases de la Ingeniería de software. 
1.3 Actividades de las etapas del ciclo de vida del software 
 
Profesor: García Castro María Nancy 
 
López Anselmo Mauricio Axel 
 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
 
Ciclo escolar septiembre 2020 enero 2021 
 
 
 
 
 Ingeniería de software 
P á g i n a 2 | 29 
Acapulco Gro. 5 de noviembre de 2020 
INDICE. 
TAREA 1 ............................................................................................................................................... 3 
Historia de la Ingeniería de software .................................................................................................. 4 
Origen…………………………………………………………………………………………………………………………………………….4 
“No silver bullet”…………………………………………………………………………………………………………………………….4 
EVOLUCIÓN DE LA INGENIERÍA DEL SOFTWARE ......................................................................... 5 
PROCESO SOFTWARE……………………………………………………………………………………………………………………..6 
Diferentes conceptos de la ingeniería de software…………………………………………………………………………7 
Las 4 “p” de la ingeniería de software…………………………………………………………………………………………….8 
PERSONAS……………………………………………………………………………………………………………..8 
Ejemplos……………………………………………………………………………………………………8 
PRODUCTO…………………………………………………………………………………………………………….9 
Ejemplos……………………………………………………………………………………………………9 
PROCESO……………………………………………………………………………………………………………….9 
Ejemplos…………………………………………………………………………………………………10 
PROYECTO……………………………………………………………………………………………………………11 
TAREA 2 ............................................................................................................................................. 15 
1.2 Fases de la ingeniería de software. Conceptos. .......................................................................... 16 
Que hace cada una de ellas…………………………………………………………………………………………………………..17 
TAREA 3……………………………………………………………………………………………………………………………………22 
1.- 10 actividades en la etapa de análisis……………………………………………………………………………………...23 
2.-10 actividades en la etapa de diseño………………………………………………………………………………………24 
3.- 10 actividades en la etapa de programación……………………………………………………………………………25 
4.- 10 actividades en la etapa de prueba………………………………………………………………………………………26 
5.- 10 actividades de en la etapa de implementación…………………………………………………………………..27 
6.- 10 actividades en la etapa de mantenimiento…………………………………………………………………………28 
 
 
 Ingeniería de software 
P á g i n a 3 | 29 
Acapulco Gro. 5 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 1. 
1.1 Conceptos Introductorios a la ingeniería de software 
Investigue lo siguiente: 
1.-Definición de Ing. de Software. (mínimo de dos fuentes de información) 
2.-Describa el contexto de la Ing. del Software. (historia, cómo, dónde y por 
qué surgió) 
3.-Describa el papel que desempeña las 4 P’s de la Ing. del Software 
(a) Persona 
(b) Proceso 
(c) proyecto Mencione ejemplos de cada uno de los incisos anteriores. 
(d) Producto 
4.-Realice un mapa mental del concepto de ingeniería del software (puede 
ser a mano o en pc). 
Profesor: García Castro María Nancy 
López Anselmo Mauricio Axel 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
Ciclo escolar septiembre 2020 enero 2021 
 
 
 
 Ingeniería de software 
P á g i n a 4 | 29 
Acapulco Gro. 5 de noviembre de 2020 
Historia de la ingeniería de software. 
La ingeniería del software, según la definición de la IEEE en 1993, es la aplicación de un 
enfoque sistemático, disciplinado y cuantificable al desarrollo, operación y mantenimiento 
del software. La ingeniería del software ofrece métodos o técnicas para desarrollar y 
mantener software de calidad que resuelven problemas de todo tipo, y trata áreas muy 
diversas de la informática y de las ciencias computacionales. 
ORÍGEN 
El concepto de ingeniería del software surgió en 1968, tras una conferencia en 
Garmisch (Alemania) que tuvo como objetivo resolver los problemas de la crisis 
del software. El término crisis del software se usó desde finales de 1960 hasta 
mediados de 1980 para describir los frecuentes problemas que aparecían durante 
el proceso de desarrollo de nuevo software. Tras la aparición de nuevo hardware 
basado en circuitos integrados, comenzaron a desarrollarse sistemas y 
aplicaciones mucho más complejos que hasta entonces no era posible construir 
puesto que el hardware disponible no lo permitía. Estos nuevos proyectos de 
desarrollo de software, en la mayoría de las ocasiones, no se terminaban a 
tiempo, lo cual también provocaba que el presupuesto final del software excediera 
de aquel que se había pactado. Algunos de estos proyectos eran tan críticos 
(sistemas de control de aeropuertos, equipos para medicina, etc) que sus 
implicaciones iban más allá de las pérdidas millonarias que causaban. Además, en 
muchos casos el software no daba respuesta a las verdaderas necesidades del 
cliente o había que ser un usuario experto para poder utilizarlo, todo ello sumado a 
que el mantenimiento de los productos era complejo y muy costoso. 
“NO SILVER BULLET” 
Durante décadas, resolver la crisis del software desencadenó en que compañías e 
investigadores produjeran más y más herramientas software. Cada nueva 
tecnología o práctica que apareció entre 1970 y 1990 fue tratada como una “bala 
de plata” (en inglés, silver bullet) que solucionaría la crisis del software. 
En 1986, Fred Brooks publicó el artículo No Silver Bullet, argumentando que 
ninguna tecnología o práctica por sí misma podría mejorar en un diez por ciento la 
productividad en los siguientes diez años. El debate sobre las balas de 
plata continuó durante la siguiente década, dando lugar a numerosas 
interpretaciones sobre el artículo de Brooks. 
Los defensores de lenguajes como Ada, o de los procesos software continuaron 
apostando por que su tecnología sería la que solucionaría la crisis. Sin embargo, 
 Ingeniería de software 
P á g i n a 5 | 29 
Acapulco Gro. 5 de noviembre de 2020 
hubo gente que interpretó el hecho de que no se encontrara una solución única y 
efectiva al cien por cien como un fracaso de la ingeniería del software. 
EVOLUCIÓN DE LA INGENIERÍA DEL SOFTWARE 
Con el transcurso de los años se han desarrollado recursos que conforman la 
ingeniería del software, es decir, herramientas y técnicas de especificación, diseño 
e implementación del software: la programación estructurada, la programación 
orientada a objetos, las herramientas CASE, la documentación, los estándares, 
CORBA, los servicios web, el lenguaje UML, etc. 
En combinación con las herramientas, también se han hecho esfuerzos por 
incorporar los métodos formales al desarrollo de software, argumentando que si se 
probaba formalmente que los productos software hacían lo que se les requería, la 
industria del software sería tan predecible como lo son otras ramas de la 
ingeniería. 
 
 
 
 Ingeniería de software 
P á g i n a 6 |29 
Acapulco Gro. 5 de noviembre de 2020 
La utilización de determinados recursos depende de la magnitud del proyecto, de 
la empresa a cargo, la experiencia de los desarrolladores, el presupuesto con el 
que se cuenta, etc. 
La ingeniería del software comprende: 
• Proceso de desarrollo de software (especificación, implementación y 
diseño, etc.…). 
• Metodologías para el desarrollo de software (RUP, patrones, 
framework…). 
• Herramientas de desarrollo de software. 
PROCESO SOFTWARE 
El proceso de ingeniería de software se define como «un conjunto de etapas 
parcialmente ordenadas con la intención de lograr un objetivo, en este caso, la 
obtención de un producto de software de calidad». El proceso de desarrollo de 
software «es aquel en que las necesidades del usuario son traducidas en 
requerimientos de software, estos requerimientos transformados en diseño y el 
diseño implementado en código, el código es probado, documentado y certificado 
para su uso operativo». Concretamente «define quién está haciendo qué, cuándo 
hacerlo y cómo alcanzar un cierto objetivo» [Jacobson 1998]. 
El proceso de desarrollo de software requiere por un lado un conjunto de 
conceptos, una metodología y un lenguaje propio. A este proceso también se le 
llama el ciclo de vida del software, que comprende las etapas por las que pasa un 
proyecto software desde que es concebido, hasta que está listo para usarse. 
Hay cuatro actividades fundamentales comunes a todo proceso software: 
• Especificación: usuarios e ingenieros definen el software a producir y 
las restricciones en su funcionalidad. 
• Desarrollo: fase en la cual el software se diseña y se programa. 
• Validación: el software debe ser probado para asegurar que cumple 
con las necesidades del cliente. 
• Evolución: el software debe poder ser modificado para adaptarse a 
cambios en el mercado y en las necesidades de los usuarios. 
 
 
 
 Ingeniería de software 
P á g i n a 7 | 29 
Acapulco Gro. 5 de noviembre de 2020 
Diferentes conceptos de la ingeniería de software. 
• Ingeniería de software es el estudio de los principios y metodologías para 
el desarrollo y mantenimiento de sistemas software por Zelkovitz, 1978. 
 
• Ingeniería de software es la aplicación práctica del conocimiento científico 
al diseño y construcción de programas de computadora y a la 
documentación asociada requerida para desarrollar, operar y 
mantenerlos. Se conoce también como desarrollo de software o 
producción de software (Bohem, 1976). 
 
• La ingeniería de software trata del establecimiento de los principios y 
métodos de la ingeniería a fin de obtener software de modo rentable, 
que sea fiable y trabaje en máquinas reales (Bauer, 1972). 
Algunos autores consideran que "desarrollo de software" es un término más 
apropiado que "ingeniería de software" para el proceso de crear software. 
Personas como Pete McBreen (autor de Software Craftmanship) cree que el 
término IS implica niveles de rigor y prueba de procesos que no son 
apropiados para todo tipo de desarrollo de software. 
Indistintamente se utilizan los términos "ingeniería de software" o 
"ingeniería del software"; aunque menos común también se suele referenciar 
como "ingeniería en software”. En Hispanoamérica los términos más 
comúnmente usados son los dos primeros. 
La creación del software es un proceso intrínsecamente creativo y la ingeniería 
del software trata de sistematizar este proceso con el fin de acotar el riesgo de 
fracaso en la consecución del objetivo, por medio de diversas técnicas que se 
han demostrado adecuadas sobre la base de la experiencia previa. 
La ingeniería de software se puede considerar como la ingeniería aplicada 
al software, esto es, por medios sistematizados y con herramientas 
preestablecidas, la aplicación de ellos de la manera más eficiente para la 
obtención de resultados óptimos; objetivos que siempre busca la ingeniería. No 
es solo de la resolución de problemas, sino más bien teniendo en cuenta las 
diferentes soluciones, elegir la más apropiada. 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 8 | 29 
Acapulco Gro. 5 de noviembre de 2020 
Las 4 “p” de la ingeniería de software. 
PERSONAS: Son los principales autores de un proyecto de Software, compuestos por 
arquitectos, desarrolladores, ingenieros de pruebas, y personal de Gestión. 
 
Equipo de Dirección de proyectos 
• Identificar a los interesados 
• Determinar sus requisitos y expectativas 
• Gestionar su influencia en relación con los requisitos 
Se debe tener en cuenta: 
• Selección 
• Reclutamiento 
• Entrenamiento 
• Trabajo y desarrollo de la cultura de equipo 
• Diseño de la organización 
Participantes: 
• Gestores Ejecutivos: Definen los aspectos del negocio. 
• Gestores del proyecto: Planifican, motivan, organizan y controlan a los 
profesionales que construyen el software. 
• Profesionales: Proporcionan las habilidades técnicas necesarias. 
• Clientes: Especifican los requerimientos. 
• Usuario Final: Interactúan con el software. 
 
Hay cuatro factores críticos en la gestión de personal: 
 
1. Objetividad: el personal se debe valorar de forma equitativa. 
2. Respeto: por las diferentes habilidades de las personas. 
3. Incorporación: considerar las opiniones de todos. 
4. Honestidad: en comunicar lo que va bien y lo que va mal en el equipo. 
 
Algunos ejemplos son: 
• Autoaprendizaje: habilidad y propósito de enriquecerse por iniciativa propia con nuevos 
conocimientos para generar nuevas habilidades personales o profesionales. 
• Proactividad: habilidad para generar ideas, adelantarse a los cambios, participar en la 
creación de soluciones constructivas a los problemas u oportunidades de mejora de la 
organización. 
• Actitud de servicio: presentar una disposición permanente por atender los requerimientos 
del cliente interno o externo, estableciendo las condiciones y términos en que se pueden 
solucionar sus inquietudes. 
• Atención al detalle: está orientado al análisis detallado, a la crítica constructiva, a la 
identificación de aspectos no percibidos fácilmente por los demás. 
 Ingeniería de software 
P á g i n a 9 | 29 
Acapulco Gro. 5 de noviembre de 2020 
• Negociación: es lograr escuchar a los clientes internos y externos, comunicándose de 
manera asertiva y respetuosa. 
• Trabajo en equipo: unir esfuerzos, intereses, conocimientos, habilidades, cualidades y 
calidad humana para lograr los objetivos propuestos. 
• Adaptación al cambio: ser flexible ante las diferentes circunstancias que rodean el ámbito 
laboral, manteniendo la mente abierta a nuevas propuestas de mejoramiento. 
 
PRODUCTO 
 
Articulo producido, que es cuantificable y que puede ser un elemento terminado o un 
componente y se crean durante la vida del proyecto. 
 
El producto se puede definir también como la capacidad de prestar un servicio como, por 
ejemplo, las funciones del negocio que respaldan las producción y distribución. 
 
Otro concepto de producto es un resultado como, por ejemplo, salidas o documentos. 
 
Características: 
• La aprobación de uno o más entregables caracterizan la fase de un 
proyecto. 
• Un producto entregable es un producto de trabajo que se puede medir y 
cuantificar. 
• Algunos productos entregables pueden corresponder al mismo proceso de 
direccion de proyectos 
• Los productos entregables son parte de un proceso secuencial, diseñado 
para asegurar el adecuado control del proyecto. 
Ejemplos: 
Las herramientas en las que se desarrolla cada producto son definidas por la empresa contratante, 
dentro de los modelos se pueden mencionar: 
• Desarrollo de bodegas de datos. 
• Desarrollos Java y .net. 
• Desarrollosen share point, productividad empresarial. 
PROCESO: 
 
Es un conjunto completo de personas, reglas, políticas, procedimientos y 
actividades necesarias para transformar los requerimientos de un usuario en un producto. 
 
 
http://1.bp.blogspot.com/-ec-8Z64kNYg/VBT6RagtbwI/AAAAAAAABdo/fGVhL9VwRYg/s1600/Sin%2Bt%C3%ADtulo.png
 Ingeniería de software 
P á g i n a 10 | 29 
Acapulco Gro. 5 de noviembre de 2020 
 
Elementos de un proceso: 
 
 
 
 
El equipo de trabajo debe elegir el proceso adecuado que le permita obtener 
una solución o producto que satisfaga las necesidades del cliente. 
 
El director de proyecto debe elegir el modelo de proceso correcto para ser aplicado en el 
desarrollo del producto y el adecuado para: 
• Los clientes que han solicitado el producto y el personal que hará el trabajo. 
• Las características del producto 
• El ambiente del proyecto en el que trabaja el equipo 
Seleccionado el modelo de procesos se realiza una planificación preliminar del proyecto 
basado en las actividades del marco de trabajo, comenzando con la combinación del 
producto y el proceso. 
 
Cuando el equipo de trabajo haya definido correctamente el modelo de proceso, este debe 
ser flexible y adecuado para el proyecto. Este proceso se puede dividir para lograr 
desarrollar adecuadamente las actividades tareas del marco de trabajo. 
 
Las actividades que se deben desarrollar son: 
• Desarrollar una lista de conflictos que deben clasificarse. 
• Reunirse con los clientes para abordar los conflictos que deben clasificarse. 
• Desarrollar en conjunto un enunciado del ámbito. 
• Revisar el enunciado del ámbito con todos los implicados. 
• Modificar el enunciado del ámbito según lo requiera. 
 
Ejemplos: 
• Pruebas de aseguramiento y calidad: realizadas en todas las fases anteriores. 
• Procesos de apoyo que están enlazados al proceso de construcción de software: 
• Responsabilidad en la dirección. 
• Gestión de recursos humanos. 
• Gestión de infraestructura y compras. 
• Gestión administrativa y financiera. 
• Medición análisis y mejora. 
• Auditorías. 
http://4.bp.blogspot.com/-nvv8yus4dok/VBT68z_GGBI/AAAAAAAABdw/hprGWSj7MC4/s1600/Sin%2Bt%C3%ADtulo.png
 Ingeniería de software 
P á g i n a 11 | 29 
Acapulco Gro. 5 de noviembre de 2020 
 
PROYECTO: 
 
Elemento organizativo por el cual se gestionará el desarrollo de las actividades en la 
implementación de un producto o servicio. 
 
Para la correcta implementación de un proyecto tecnológico se deben tener en cuenta los 
siguientes aspectos: 
• Recursos 
• Calidad 
• Finanzas 
• Contrato 
• Comunicaciones 
• Riesgo 
• Alcance 
• Planificación 
Gestion de Alcances 
 
Consta de 4 etapas: 
 
 
 
 
Se puede definir como el conjunto de actividades o procedimientos que tienen un objetivo 
concreto, ejemplo: Crear un producto o servicio 
 
Debe gestionar los recursos limitados disponibles, entre ellos las personas, el tiempo, los 
costos, etc., para conseguir los objetivos planteados. 
 
Fases de un proyecto: 
 
Es un conjunto de actividades relacionadas con un objetivo en el desarrollo del proyecto. 
Se crea agrupando tareas específicas (actividades elementales) que pueden compartir un 
tramo determinado. 
 
http://3.bp.blogspot.com/-KbfMQSbyGGc/VB4CduPDb1I/AAAAAAAABgY/UFxqLB8h-m0/s1600/Imagen4.png
 Ingeniería de software 
P á g i n a 12 | 29 
Acapulco Gro. 5 de noviembre de 2020 
 
 
Entre las fases principales de un proyecto se encuentran: 
1. Inicio: Desarrollo de la idea, inicio formal del proyecto 
2. Planificación: Organizar e plan de trabajo 
3. Ejecución: Coordinar los recursos para llevar a cabo las actividades del plan 
de trabajo 
4. Control: Verificar la realización de las actividades según los objetivos 
planteados 
5. Finalización: Cierre del proyecto 
Procesos 
• Tácticos: gestión del proyecto. 
• Operativos: Tareas y actividades realizadas, estos varían según el área de 
aplicación y el objetivo. 
• Procesos orientados al producto 
 
gestión del proyecto 
 
Es conocida como Gerencia, Dirección o administración de proyectos es la disciplina que 
se encarga de planificar, organizar, y coordinar recursos y personas para cumplir con 
objetivos, entregables y criterios de éxito para los proyectos. 
 
Un proyecto como tal como ya se ha descrito se compone de un conjunto de actividades 
relacionadas para logran un fin especifico con un comienzo y un fin definidos sujete a tres 
restricciones principales: 
 
http://1.bp.blogspot.com/-OXt4Y8pmXA4/VB4EfiGpmrI/AAAAAAAABgg/OubZT-pbvK0/s1600/Imagen5.png
 Ingeniería de software 
P á g i n a 13 | 29 
Acapulco Gro. 5 de noviembre de 2020 
 
Factores de Éxito: 
• Construcción del equipo correcto 
• Incentivos = Calidad 
• Seguimiento del proceso = Controlar actividades 
• Decisiones Inteligentes 
• Análisis de resultados 
Alertas de peligro: 
 
Al gestionar un proyecto se debe tener muy presente el riesgo de llegar a fracasar, según 
John Reel, existen 10 razones por las cuales un proyecto puede fracasar: 
 
 
1. El personal de software no entiende las necesidades de los clientes. 
2. El ámbito del producto está mal definido. 
3. Los cambios se gestionan mal. 
4. La tecnología elegida cambia. 
5. Las necesidades comerciales cambian. 
6. Los plazos de entrega no son realistas. 
7. Los usuarios se resisten a la utilización del software. 
8. Se pierde el patrocinio. 
9. El equipo del proyecto carece de personal con las habilidades apropiadas. 
10. Los gestores evitan las mejores prácticas y las lecciones aprendidas. 
 
 
 
 
 
 
 
http://4.bp.blogspot.com/-af-JrxUpIiQ/VBW2HY-6NpI/AAAAAAAABeU/qsPqlkigvHQ/s1600/gestion-de-proyectos2.png
 Ingeniería de software 
P á g i n a 14 | 29 
Acapulco Gro. 5 de noviembre de 2020 
 
 
 
 
Bibliografía. 
https://www.academia.edu/6697162/Las_4_P_en_el_Desarrollo_del_Software 
 
 Ingeniería de software 
P á g i n a 15 | 29 
Acapulco Gro. 5 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 2. 
1.2 Fases de la Ingeniería de software. 
Describa cada una de las fases de la ingeniería de software. 
 
Profesor: García Castro María Nancy 
 
López Anselmo Mauricio Axel 
 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
 
Ciclo escolar septiembre 2020 enero 2021 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 16 | 29 
Acapulco Gro. 5 de noviembre de 2020 
1.2 Fases de la ingeniería de software. 
Conceptos. 
El proceso requiere de una metodología con 5 etapas: 
 
1. Análisis de requerimientos: Se extraen los requisitos del producto de software. 
En esta etapa la habilidad y experiencia en la ingeniería del software es crítica para 
reconocer requisitos incompletos, ambiguos o contradictorios. Usualmente el 
cliente/usuario tiene una visión incompleta/inexacta de lo que necesita y es 
necesario ayudarle para obtener la visión completa de los requerimientos. El 
contenido de comunicación en esta etapa es muy intenso ya que el objetivo es 
eliminar la ambigüedad en la medida de lo posible. 
2. Especificación: Es la tarea de describir detalladamenteel software a ser escrito, 
de una forma rigurosa. Se describe el comportamiento esperado del software y su 
interacción con los usuarios y/o otros sistemas. 
3. Diseño y arquitectura: Determinar cómo funcionará de forma general sin entrar 
en detalles incorporando consideraciones de la implementación tecnológica, como 
el hardware, la red, etc. Consiste en el diseño de los componentes del sistema que 
dan respuesta a las funcionalidades descritas en la segunda etapa también 
conocidas como las entidades de negocio. Generalmente se realiza en base a 
diagramas que permitan describir las interacciones entre las entidades y su 
secuenciado. 
4. Programación: Se traduce el diseño a código. Es la parte más obvia del trabajo 
de ingeniería de software y la primera en que se obtienen resultados “tangibles”. No 
necesariamente es la etapa más larga ni la más compleja, aunque una 
especificación o diseño incompletos/ambiguos pueden exigir que, tareas propias de 
las etapas anteriores se tengan que realizarse en esta. 
5. Prueba: Consiste en comprobar que el software responda/realice correctamente 
las tareas indicadas en la especificación. Es una buena praxis realizar pruebas a 
distintos niveles (por ejemplo, primero a nivel unitario y después de forma integrada 
de cada componente) y por equipos diferenciados del de desarrollo (pruebas 
cruzadas entre los programadores o realizadas por un área de test independiente). 
6. Documentación: Realización del manual de usuario, y posiblemente un manual 
técnico con el propósito de mantenimiento futuro y ampliaciones al sistema. Las 
tareas de esta etapa se inician ya en la primera fase, pero sólo finalizan una vez 
terminadas las pruebas. 
 
7. Mantenimiento: En esta etapa se realizan un mantenimiento correctivo (resolver 
errores) y un mantenimiento evolutivo (mejorar las funcionalidades y/o dar respuesta 
a nuevos requisitos). 
 
 
 
 Ingeniería de software 
P á g i n a 17 | 29 
Acapulco Gro. 5 de noviembre de 2020 
 
Que hace cada una de ellas. 
 
Análisis de los requisitos: 
Extrae los requisitos de un producto software es la primera etapa para crearlo. 
Durante la fase de análisis, el cliente plantea las necesidades que se presenta e 
intenta explicar lo que debería hacer el software o producto final para satisfacer 
dicha necesidad mientras que el desarrollador actúa como interrogador, como la 
persona que resuelve problemas. Con este análisis, el ingeniero de sistemas 
puede elegir la función que debe realizar el software y establecer o indicar cuál es 
la interfaz más adecuada para el mismo. 
El análisis de requisitos puede parecer una tarea sencilla, pero no lo es debido a 
que muchas veces los clientes piensan que saben todo lo que el software necesita 
para su buen funcionamiento, sin embargo, se requiere la habilidad y experiencia 
de algún especialista para reconocer requisitos incompletos, ambiguos o 
contradictorios. Estos requisitos se determinan tomando en cuenta las 
necesidades del usuario final, introduciendo técnicas que nos permitan mejorar la 
calidad de los sistemas sobre los que se trabaja. 
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. 
La captura, análisis y especificación de requisitos (incluso pruebas de ellos), es 
una parte crucial; de esta etapa depende en gran medida el logro de los objetivos 
finales. Se han ideado modelos y diversos procesos metódicos de trabajo para 
estos fines. Aunque aún no está formalizada, ya se habla de la ingeniería de 
requisitos. 
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. 
 Ingeniería de software 
P á g i n a 18 | 29 
Acapulco Gro. 5 de noviembre de 2020 
• Aumentar la calidad del software desarrollado al disminuir los riesgos de 
mal funcionamiento. 
 
Limitaciones: 
Los softwares tienen la capacidad de emular inteligencia creando un modelo de 
ciertas características de la inteligencia humana pero sólo posee funciones 
predefinidas que abarcan un conjunto de soluciones que en algunos campos llega 
a ser limitado. Aun cuando tiene la capacidad de imitar ciertos comportamientos 
humanos no es capaz de emular el pensamiento humano porque actúa bajo 
condiciones. 
Otro aspecto limitante de los softwares proviene del proceso totalmente mecánico 
que requiere de un mayor esfuerzo y tiempos elevados de ejecución lo que lleva a 
tener que implementar el software en una máquina de mayor capacidad. 
Especificación: 
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: 
Se refiere a determinar cómo funcionará de forma general sin entrar en detalles. 
Consiste en incorporar consideraciones de la implementación tecnológica, como el 
hardware, la red, etc. Se definen los Casos de Uso para cubrir las funciones que 
realizará el sistema, y se transforman las entidades definidas en el análisis de 
requisitos en clases de diseño, obteniendo un modelo cercano a la programación 
orientada a objetos. 
 Ingeniería de software 
P á g i n a 19 | 29 
Acapulco Gro. 5 de noviembre de 2020 
La arquitectura de software consiste en el diseño de componentes de una 
aplicación (entidades del negocio), generalmente utilizando patrones de 
arquitectura. El diseño arquitectónico debe permitir visualizar la interacción entre 
las entidades del negocio y además poder ser validado, por ejemplo, por medio de 
diagramas de secuencia. 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 
Programación: 
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería 
de software, pero no es necesariamente la porción más larga. La complejidad y la 
duración de esta etapa está íntimamente ligada al o a los lenguajes de 
programación utilizados. 
Desarrollo de la aplicación: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 
 Ingeniería de software 
P á g i n a 20 | 29 
Acapulco Gro. 5 de noviembre de 2020 
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. 
Pruebas de software: 
Consiste en comprobar que el software realice correctamente las tareas 
indicadas en la especificación del problema. Una técnica es probar por separado 
cada módulo del software, y luego probarlo de manera integral, para así 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. 
Implementación: 
Una implementación es la realización de una especificación técnica o algoritmos 
con un programa, componente software, u otro sistema de cómputo. Muchas 
especificaciones son dadas según a su especificación o un estándar. Las 
especificaciones recomendadas según el World Wide Web Consortium, y las 
herramientas de desarrollo del software contienen implementaciones de lenguajes 
de programación. El modelo de implementación es una colección de componentes 
y los subsistemas que contienen. Componentes tales como: ficheros ejecutables, 
ficheros de código fuente y todo otro tipo de ficheros que sean necesarios para la 
implementación y despliegue del sistema. 
La etapa de implementación del diseño de software es el proceso de convertir una 
especificación del sistema en un sistema ejecutable. Siempre implica los procesos 
de diseño y programación de software, pero, si se utiliza un enfoque evolutivo de 
 Ingeniería de software 
P á g i n a 21 | 29 
Acapulco Gro. 5 de noviembre de 2020 
desarrollo, también puede implicar un refinamiento de la especificación del 
software. Esta etapa es una descripción de la estructura del software que se va a 
implementar, los datos que son parte del sistema, las interfaces entre los 
componentes del sistema, y algunas veces los algoritmos utilizados. 
Documentación: 
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: 
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. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Ingeniería de software 
P á g i n a 22 | 29 
Acapulco Gro. 5 de noviembre de 2020 
INSTITUTO TECNOLÓGICO NACIONAL DE MÉXICO 
INSTITUTO TECNOLÓGICO DE ACAPULCO 
 
Ingeniería en sistemas computacionales 
 
Fundamentos de ingeniería en software 
 
Tarea 3. 
1.2 Actividades de las etapas del ciclo de vida del software. 
 
Considerando como etapas del ciclo de vida del software: Análisis, Diseño, 
Programación, Prueba, Implementación y Mantenimiento, mencione 10 
actividades o tareas que se requieren realizar en cada una de las etapas 
mencionadas. 
Profesor: García Castro María Nancy 
 
López Anselmo Mauricio Axel 
 
No.control: 18320904 Horario: 13:00 – 14:00 pm 
 
Ciclo escolar septiembre 2020 enero 2021 
 
 
 
 
 Ingeniería de software 
P á g i n a 23 | 29 
Acapulco Gro. 5 de noviembre de 2020 
1.- 10 actividades en la etapa de análisis. 
 
 Ingeniería de software 
P á g i n a 24 | 29 
Acapulco Gro. 5 de noviembre de 2020 
2.-10 actividades en la etapa de diseño. 
 
 Ingeniería de software 
P á g i n a 25 | 29 
Acapulco Gro. 5 de noviembre de 2020 
3.- 10 actividades en la etapa de programación. 
 
 Ingeniería de software 
P á g i n a 26 | 29 
Acapulco Gro. 5 de noviembre de 2020 
4.- 10 actividades en la etapa de prueba. 
 
 Ingeniería de software 
P á g i n a 27 | 29 
Acapulco Gro. 5 de noviembre de 2020 
5.- 10 actividades de en la etapa de implementación. 
 
 Ingeniería de software 
P á g i n a 28 | 29 
Acapulco Gro. 5 de noviembre de 2020 
6.- 10 actividades en la etapa de mantenimiento. 
 
 Ingeniería de software 
P á g i n a 29 | 29 
Acapulco Gro. 5 de noviembre de 2020 
AUTORES YBIBLIOGRAFIA. 
https://www.academia.edu/6697162/Las_4_P_en_el_Desarrollo_del_Software 
Gustavo Zimbrón 
https://zimbronapps.com/sistemas-computacionales/ingenieria-de-software/fases-la-ingenieria-
software/ 
Andoni Andrés Pérez Domínguez 
http://andoniandresperezdominguezfis.blogspot.com/2017/09/12-fases-de-la-ingenieria-
de-software.html 
https://coggle.it/diagram/WIIbAkBVl_IeCmTv/t/las-cuatro-p-de-la-ingenieria-de-
software 
Pressman, Roger S. Ingeniería del Software. Un enfoque Práctico(Quinta Edición). 
Madrid: Concepción Femández Madrid, 2002. 0-07-709677-0.https://zimbronapps.com/author/gustavo/
http://www.blogger.com/profile/13883114720221858051
http://andoniandresperezdominguezfis.blogspot.com/2017/09/12-fases-de-la-ingenieria-de-software.html
http://andoniandresperezdominguezfis.blogspot.com/2017/09/12-fases-de-la-ingenieria-de-software.html
https://coggle.it/diagram/WIIbAkBVl_IeCmTv/t/las-cuatro-p-de-la-ingenieria-de-software
https://coggle.it/diagram/WIIbAkBVl_IeCmTv/t/las-cuatro-p-de-la-ingenieria-de-software
https://www.ecured.cu/2002

Continuar navegando