SlideShare una empresa de Scribd logo

Etapas del Proceso de la Ingeniería del Software

T.I.C
T.I.C
T.I.CAsistente Académico-Técnico. Programas de Maestría y Doctorados en TICs

actividades y etapas del desarrollo de software

Etapas del Proceso de la Ingeniería del Software

1 de 4
Descargar para leer sin conexión
Actividades del Desarrollo de Software
1. Planificación
La importante tarea a la hora de crear un producto de software es obtener los requisitos o el
análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado
final, pero no sobre las funciones que debería cumplir el software.
Una vez que se hayan recopilado los requisitos del cliente, se debe realizar un análisis del
ámbito del desarrollo. Este documento se conoce como especificación funcional.
2. Implementación, pruebas y documentación
La implementación es parte del proceso en el que los ingenieros de software programan el
código para el proyecto.
Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte
del proceso tiene la función de detectar los errores de software lo antes posible.
La documentación del diseño interno del software con el objetivo de facilitar su mejora y su
mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un
API, tanto interior como exterior.
3. Despliegue y mantenimiento
El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado
para su liberación y ha sido distribuido en el entorno de producción.
Entrenamiento y soporte para el software es de suma importancia y algo que muchos
desarrolladores de software descuidan. Los usuarios, por naturaleza, se oponen al cambio
porque conlleva una cierta inseguridad, es por ello que es fundamental instruir de forma
adecuada a los futuros usuarios del software.
El mantenimiento y mejora del software, de un software con problemas recientemente
desplegado, puede requerir más tiempo que el desarrollo inicial del software. Es posible que
haya que incorporar código que no se ajusta al diseño original con el objetivo de solucionar un
problema o ampliar la funcionalidad para un cliente. Si los costes de mantenimiento son muy
elevados puede que sea oportuno rediseñar el sistema para poder contener los costes de
mantenimiento.
Etapas del Proceso de la Ingeniería del Software
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:
I. Análisis de Requisitos (1)
Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras
que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere
habilidad y experiencia para reconocer requisitos incompletos, ambiguos o contradictorios. 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 de trabajo para estos fines. Aunque aún no está formalizada, ya
se habla de la Ingeniería de requisitos.
La IEEE Std. 830-1998 normaliza la creación de las especificaciones de requisitos de software
(Software Requirements Specification).
No siempre en la etapa de "análisis de requisitos" las distintas metodologías de desarrollo
llevan asociado un estudio de viabilidad y/o estimación de costes. El más conocido de los
modelos de estimación de coste del software es el modelo COCOMO
II. Especificación (1)
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 rigurosos y formales, los segundas más ágiles e informales.
III. Arquitectura (1)
La integración de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas
gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y
proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas
estas actividades es el del Arquitecto.
El arquitecto de software es la persona que añade valor a los procesos de negocios gracias a su
valioso aporte de soluciones tecnológicas.
La arquitectura de sistemas en general, es una actividad de planeación, ya sea a nivel de
infraestructura de red y hardware, o de software.
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:
Diagramas de clases
Diagramas de base de datos
Diagrama de despliegue
Diagrama de secuencia
Siendo los dos primeros los mínimos necesarios para describir la arquitectura de un proyecto
que iniciará a ser codificado. Depende del alcance del proyecto, complejidad y necesidades, el
arquitecto elige qué diagramas elaborar.
Las herramientas para el diseño y modelado de software se denominan CASE, (Computer
Aided Software Engineering – Ingeniería de Software Asistido por Computadora) entre las
cuales se encuentran:
Enterprise Architect
Microsoft Visio for Enterprise Architects
IV. Programación (2)
Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software,
pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La
complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de
programación utilizados, así como al diseño previamente realizado.
V. Prueba (2)
Consiste en comprobar que el software realice correctamente las tareas indicadas en la
especificación del problema. Una técnica de prueba es probar por separado cada módulo del
software, y luego probarlo de forma 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. En general hay dos grandes formas de organizar un área de
pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema
de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los
procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las
cosas tal y como están descritas. El segundo enfoque es tener un área de pruebas conformada
por programadores con experiencia, personas que saben sin mayores indicaciones en qué
condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal
inexperto no consideraría.
VI. Documentación (2)
Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del
proyecto, pasando por modelaciones (UML),diagramas de casos de uso, pruebas, manuales de
usuario, manuales técnicos, etc.; todo con el propósito de eventuales correcciones, usabilidad,
mantenimiento futuro y ampliaciones al sistema.
VII. Mantenimiento (3)
Fase dedicada a mantener y mejorar el software para corregir errores descubiertos e
incorporar nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo del
software inicial. Alrededor de 2/3 del tiempo de ciclo de vida de un proyecto está dedicado a
su mantenimiento. Una pequeña parte de este trabajo consiste eliminar errores (bugs); siendo
que la mayor parte reside en extender el sistema para incorporarle nuevas funcionalidades y
hacer frente a su evolución.

Recomendados

Requerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareRequerimientos en Ingenieria de Software
Requerimientos en Ingenieria de SoftwareKelvin Abdiel Alvarado
 
TAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSTAREAS DE LA ING. DE REQUISITOS
TAREAS DE LA ING. DE REQUISITOSxinithazangels
 
DISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREDISEÑO DE LA ARQUITECTURA DEL SOFTWARE
DISEÑO DE LA ARQUITECTURA DEL SOFTWAREjose_rob
 
Consideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSConsideraciones para elegir un buen DBMS
Consideraciones para elegir un buen DBMSevavivez
 

Más contenido relacionado

La actualidad más candente

Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensambladoreveTalavera
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosJuan Carlos Olivares Rojas
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-softwareMiguel Angel Rodriguez
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosJosé Antonio Sandoval Acosta
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores JUANR1022
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Mayito Pdg
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteJosé Antonio Sandoval Acosta
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.LuiS YmAY
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Anel Sosa
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemMirna L. Torres Garcia
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEustakiu Padilla
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de softwareWilfredo Mogollón
 

La actualidad más candente (20)

Investigacion errores lexicos
Investigacion errores lexicosInvestigacion errores lexicos
Investigacion errores lexicos
 
Unidad 2 ensamblador
Unidad 2   ensambladorUnidad 2   ensamblador
Unidad 2 ensamblador
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software51036806 proyecto-ejemplo-ingenieria-de-software
51036806 proyecto-ejemplo-ingenieria-de-software
 
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negociosFundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
Fundamentos de Ingenieria de Software - Unidad 1 modelo de negocios
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Arquitectura Multiprocesadores
Arquitectura Multiprocesadores Arquitectura Multiprocesadores
Arquitectura Multiprocesadores
 
Rational rose
Rational roseRational rose
Rational rose
 
Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4Administración de Transacciones - del tema 1 al 4
Administración de Transacciones - del tema 1 al 4
 
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrenteTópicos Avanzados de Programación - Unidad 3 programacion concurrente
Tópicos Avanzados de Programación - Unidad 3 programacion concurrente
 
Lenguajes autómatas.
Lenguajes autómatas.Lenguajes autómatas.
Lenguajes autómatas.
 
UNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓNUNIDAD 3 MODULARIZACIÓN
UNIDAD 3 MODULARIZACIÓN
 
Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)Componentes y evolucion del modelado de negocios(investigacion)
Componentes y evolucion del modelado de negocios(investigacion)
 
Protocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modemProtocolos, estandares y tipos de modem
Protocolos, estandares y tipos de modem
 
TABLA DE SÍMBOLOS
TABLA DE SÍMBOLOSTABLA DE SÍMBOLOS
TABLA DE SÍMBOLOS
 
Arquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidosArquitectura de sistemas distribuidos
Arquitectura de sistemas distribuidos
 
Traductor y su estructura
Traductor y su estructuraTraductor y su estructura
Traductor y su estructura
 
Estructura de lenguaje ensamblador
Estructura de lenguaje ensambladorEstructura de lenguaje ensamblador
Estructura de lenguaje ensamblador
 
Metodologías de desarrollo de software
Metodologías de desarrollo de softwareMetodologías de desarrollo de software
Metodologías de desarrollo de software
 
Ieee 830
Ieee 830Ieee 830
Ieee 830
 

Similar a Etapas del Proceso de la Ingeniería del Software

Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobarEdwin Alexander
 
FGFases en el desarrollo de un programa
FGFases en el desarrollo de un programaFGFases en el desarrollo de un programa
FGFases en el desarrollo de un programaJaneth Mtz
 
Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literariodiegos08
 
Resumen swebok original
Resumen swebok originalResumen swebok original
Resumen swebok originalDat@center S.A
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1Jose Garcia
 
Fases en el desarrollo de un programa
Fases en el desarrollo de un programaFases en el desarrollo de un programa
Fases en el desarrollo de un programaHeidiie Hdz
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de softwareUVM
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwarejuankexmisiodj
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 

Similar a Etapas del Proceso de la Ingeniería del Software (20)

Edwin alexande mata escobar
Edwin alexande mata escobarEdwin alexande mata escobar
Edwin alexande mata escobar
 
FGFases en el desarrollo de un programa
FGFases en el desarrollo de un programaFGFases en el desarrollo de un programa
FGFases en el desarrollo de un programa
 
Análisis de requisitos
Análisis de requisitosAnálisis de requisitos
Análisis de requisitos
 
Análisis de requisitos
Análisis de requisitosAnálisis de requisitos
Análisis de requisitos
 
Documento completo
Documento completoDocumento completo
Documento completo
 
Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literario
 
ingenieriadesoftware1
ingenieriadesoftware1ingenieriadesoftware1
ingenieriadesoftware1
 
Resumen swebok original
Resumen swebok originalResumen swebok original
Resumen swebok original
 
Examen omar
Examen omarExamen omar
Examen omar
 
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1Sanchez garcia juan jose  definiciones en la ingeniería de software sis4-1
Sanchez garcia juan jose definiciones en la ingeniería de software sis4-1
 
Fases en el desarrollo de un programa
Fases en el desarrollo de un programaFases en el desarrollo de un programa
Fases en el desarrollo de un programa
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
F. del proceso del s.
F. del proceso del s.F. del proceso del s.
F. del proceso del s.
 
Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02Fasesdedesarrollodeunprograma 130929181547-phpapp02
Fasesdedesarrollodeunprograma 130929181547-phpapp02
 
XXXS
XXXSXXXS
XXXS
 
Fasesdedesarrollodeunprograma
FasesdedesarrollodeunprogramaFasesdedesarrollodeunprograma
Fasesdedesarrollodeunprograma
 
1 ingeniería de software
1 ingeniería de software1 ingeniería de software
1 ingeniería de software
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 
sofware libre
sofware libre sofware libre
sofware libre
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 

Más de T.I.C

Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLT.I.C
 
Pentaho BI
Pentaho BIPentaho BI
Pentaho BIT.I.C
 
Business Intelligence (B.I.). La Plataforma Pentaho
Business Intelligence (B.I.). La Plataforma PentahoBusiness Intelligence (B.I.). La Plataforma Pentaho
Business Intelligence (B.I.). La Plataforma PentahoT.I.C
 
Gestión del Conocimiento
Gestión del ConocimientoGestión del Conocimiento
Gestión del ConocimientoT.I.C
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de SistemasT.I.C
 
Las TIC en el ambito laboral
Las TIC en el ambito laboralLas TIC en el ambito laboral
Las TIC en el ambito laboralT.I.C
 

Más de T.I.C (6)

Instalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQLInstalación y Configuración de Pentaho BI y MySQL
Instalación y Configuración de Pentaho BI y MySQL
 
Pentaho BI
Pentaho BIPentaho BI
Pentaho BI
 
Business Intelligence (B.I.). La Plataforma Pentaho
Business Intelligence (B.I.). La Plataforma PentahoBusiness Intelligence (B.I.). La Plataforma Pentaho
Business Intelligence (B.I.). La Plataforma Pentaho
 
Gestión del Conocimiento
Gestión del ConocimientoGestión del Conocimiento
Gestión del Conocimiento
 
Análisis de Sistemas
Análisis de SistemasAnálisis de Sistemas
Análisis de Sistemas
 
Las TIC en el ambito laboral
Las TIC en el ambito laboralLas TIC en el ambito laboral
Las TIC en el ambito laboral
 

Último

Casco_Angela_Práctica_Infopedagogía4.pdf
Casco_Angela_Práctica_Infopedagogía4.pdfCasco_Angela_Práctica_Infopedagogía4.pdf
Casco_Angela_Práctica_Infopedagogía4.pdfAngelaCasco1
 
Lasso_Alexander_Tarea_4.pdf.infopedagogia
Lasso_Alexander_Tarea_4.pdf.infopedagogiaLasso_Alexander_Tarea_4.pdf.infopedagogia
Lasso_Alexander_Tarea_4.pdf.infopedagogiaalexlasso65
 
Guardianes medioambientales CEIP Atalaya Cartegena
Guardianes medioambientales CEIP Atalaya CartegenaGuardianes medioambientales CEIP Atalaya Cartegena
Guardianes medioambientales CEIP Atalaya CartegenaCEINFPRIATALAYACEINF
 
IMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁClaude LaCombe
 
Tarea 1. Ensayo sobre "La sociedad de la ignorancia"
Tarea 1. Ensayo sobre "La sociedad de la ignorancia"Tarea 1. Ensayo sobre "La sociedad de la ignorancia"
Tarea 1. Ensayo sobre "La sociedad de la ignorancia"elizabethauquilla123
 
Calendario Escolar 2023 - 2024 Venezuela
Calendario Escolar 2023 - 2024 VenezuelaCalendario Escolar 2023 - 2024 Venezuela
Calendario Escolar 2023 - 2024 VenezuelaDiegoVzquez68
 
Rojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdf
Rojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdfRojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdf
Rojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdfcarolinarojas476396
 
Infografía de la U.E. Instituto Diocesano Barquisimeto.pdf
Infografía de la U.E. Instituto Diocesano Barquisimeto.pdfInfografía de la U.E. Instituto Diocesano Barquisimeto.pdf
Infografía de la U.E. Instituto Diocesano Barquisimeto.pdfMoisés Rodríguez
 
Infopedagogia Uzhca_Marcelo_ tarea_No_1.pdf
Infopedagogia Uzhca_Marcelo_ tarea_No_1.pdfInfopedagogia Uzhca_Marcelo_ tarea_No_1.pdf
Infopedagogia Uzhca_Marcelo_ tarea_No_1.pdfMarceloUzhca
 
Laminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdf
Laminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdfLaminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdf
Laminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdfMelanyLaminia
 
Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...
Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...
Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...antognzalz
 
Lasso_Alexander_Practica_2.pdf.INFOPEDAGOGIA
Lasso_Alexander_Practica_2.pdf.INFOPEDAGOGIALasso_Alexander_Practica_2.pdf.INFOPEDAGOGIA
Lasso_Alexander_Practica_2.pdf.INFOPEDAGOGIAalexlasso65
 
reciente evolucion de la economia china y su impacto en el mundo
reciente evolucion de la economia china y su impacto en el mundo reciente evolucion de la economia china y su impacto en el mundo
reciente evolucion de la economia china y su impacto en el mundo Carlos Alberto Aquino Rodriguez
 
Impacto ambiental Green Illustrated Sustainable World
Impacto ambiental Green Illustrated Sustainable WorldImpacto ambiental Green Illustrated Sustainable World
Impacto ambiental Green Illustrated Sustainable WorldJohnCarvajal23
 

Último (20)

Casco_Angela_Práctica_Infopedagogía4.pdf
Casco_Angela_Práctica_Infopedagogía4.pdfCasco_Angela_Práctica_Infopedagogía4.pdf
Casco_Angela_Práctica_Infopedagogía4.pdf
 
Lasso_Alexander_Tarea_4.pdf.infopedagogia
Lasso_Alexander_Tarea_4.pdf.infopedagogiaLasso_Alexander_Tarea_4.pdf.infopedagogia
Lasso_Alexander_Tarea_4.pdf.infopedagogia
 
Grupo_8_Tarea_3 (1).pdf
Grupo_8_Tarea_3 (1).pdfGrupo_8_Tarea_3 (1).pdf
Grupo_8_Tarea_3 (1).pdf
 
Guardianes medioambientales CEIP Atalaya Cartegena
Guardianes medioambientales CEIP Atalaya CartegenaGuardianes medioambientales CEIP Atalaya Cartegena
Guardianes medioambientales CEIP Atalaya Cartegena
 
IMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁIMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
IMÁGENES SUBLIMINALES OCULTAS EN LAS PUBLICACIONES DE LOS TESTIGOS DE JEHOVÁ
 
Tarea 1. Ensayo sobre "La sociedad de la ignorancia"
Tarea 1. Ensayo sobre "La sociedad de la ignorancia"Tarea 1. Ensayo sobre "La sociedad de la ignorancia"
Tarea 1. Ensayo sobre "La sociedad de la ignorancia"
 
Calendario Escolar 2023 - 2024 Venezuela
Calendario Escolar 2023 - 2024 VenezuelaCalendario Escolar 2023 - 2024 Venezuela
Calendario Escolar 2023 - 2024 Venezuela
 
PPT: Tu amor es grande hasta los cielos IASD
PPT: Tu amor es grande hasta los cielos IASDPPT: Tu amor es grande hasta los cielos IASD
PPT: Tu amor es grande hasta los cielos IASD
 
Rojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdf
Rojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdfRojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdf
Rojas_Carolina__Alumno1_Ruiz_Joseph_Alumno2.pdf
 
Infografía de la U.E. Instituto Diocesano Barquisimeto.pdf
Infografía de la U.E. Instituto Diocesano Barquisimeto.pdfInfografía de la U.E. Instituto Diocesano Barquisimeto.pdf
Infografía de la U.E. Instituto Diocesano Barquisimeto.pdf
 
Händel.pdf
Händel.pdfHändel.pdf
Händel.pdf
 
Infopedagogia Uzhca_Marcelo_ tarea_No_1.pdf
Infopedagogia Uzhca_Marcelo_ tarea_No_1.pdfInfopedagogia Uzhca_Marcelo_ tarea_No_1.pdf
Infopedagogia Uzhca_Marcelo_ tarea_No_1.pdf
 
Presentación Probabilidad y estadística.pptx
Presentación Probabilidad y estadística.pptxPresentación Probabilidad y estadística.pptx
Presentación Probabilidad y estadística.pptx
 
Sesión: Tu amor es grande hasta los cielos
Sesión: Tu amor es grande hasta los cielosSesión: Tu amor es grande hasta los cielos
Sesión: Tu amor es grande hasta los cielos
 
Laminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdf
Laminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdfLaminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdf
Laminia_Melany_Tarea_1_La Sociedad de la Ignorancia.pdf
 
Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...
Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...
Infografia (curiosidades sobre el instituto diocesano) estudiante Antonella G...
 
consultas.pptx
consultas.pptxconsultas.pptx
consultas.pptx
 
Lasso_Alexander_Practica_2.pdf.INFOPEDAGOGIA
Lasso_Alexander_Practica_2.pdf.INFOPEDAGOGIALasso_Alexander_Practica_2.pdf.INFOPEDAGOGIA
Lasso_Alexander_Practica_2.pdf.INFOPEDAGOGIA
 
reciente evolucion de la economia china y su impacto en el mundo
reciente evolucion de la economia china y su impacto en el mundo reciente evolucion de la economia china y su impacto en el mundo
reciente evolucion de la economia china y su impacto en el mundo
 
Impacto ambiental Green Illustrated Sustainable World
Impacto ambiental Green Illustrated Sustainable WorldImpacto ambiental Green Illustrated Sustainable World
Impacto ambiental Green Illustrated Sustainable World
 

Etapas del Proceso de la Ingeniería del Software

  • 1. Actividades del Desarrollo de Software 1. Planificación La importante tarea a la hora de crear un producto de software es obtener los requisitos o el análisis de los requisitos. Los clientes suelen tener una idea más bien abstracta del resultado final, pero no sobre las funciones que debería cumplir el software. Una vez que se hayan recopilado los requisitos del cliente, se debe realizar un análisis del ámbito del desarrollo. Este documento se conoce como especificación funcional. 2. Implementación, pruebas y documentación La implementación es parte del proceso en el que los ingenieros de software programan el código para el proyecto. Las pruebas de software son parte esencial del proceso de desarrollo del software. Esta parte del proceso tiene la función de detectar los errores de software lo antes posible. La documentación del diseño interno del software con el objetivo de facilitar su mejora y su mantenimiento se realiza a lo largo del proyecto. Esto puede incluir la documentación de un API, tanto interior como exterior. 3. Despliegue y mantenimiento El despliegue comienza cuando el código ha sido suficientemente probado, ha sido aprobado para su liberación y ha sido distribuido en el entorno de producción. Entrenamiento y soporte para el software es de suma importancia y algo que muchos desarrolladores de software descuidan. Los usuarios, por naturaleza, se oponen al cambio porque conlleva una cierta inseguridad, es por ello que es fundamental instruir de forma adecuada a los futuros usuarios del software. El mantenimiento y mejora del software, de un software con problemas recientemente desplegado, puede requerir más tiempo que el desarrollo inicial del software. Es posible que haya que incorporar código que no se ajusta al diseño original con el objetivo de solucionar un problema o ampliar la funcionalidad para un cliente. Si los costes de mantenimiento son muy elevados puede que sea oportuno rediseñar el sistema para poder contener los costes de mantenimiento.
  • 2. Etapas del Proceso de la Ingeniería del Software 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: I. Análisis de Requisitos (1) Extraer los requisitos de un producto de software es la primera etapa para crearlo. Mientras que los clientes piensan que ellos saben lo que el software tiene que hacer, se requiere habilidad y experiencia para reconocer requisitos incompletos, ambiguos o contradictorios. 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 de trabajo para estos fines. Aunque aún no está formalizada, ya se habla de la Ingeniería de requisitos. La IEEE Std. 830-1998 normaliza la creación de las especificaciones de requisitos de software (Software Requirements Specification). No siempre en la etapa de "análisis de requisitos" las distintas metodologías de desarrollo llevan asociado un estudio de viabilidad y/o estimación de costes. El más conocido de los modelos de estimación de coste del software es el modelo COCOMO II. Especificación (1) 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 rigurosos y formales, los segundas más ágiles e informales. III. Arquitectura (1) La integración de infraestructura, desarrollo de aplicaciones, bases de datos y herramientas gerenciales, requieren de capacidad y liderazgo para poder ser conceptualizados y
  • 3. proyectados a futuro, solucionando los problemas de hoy. El rol en el cual se delegan todas estas actividades es el del Arquitecto. El arquitecto de software es la persona que añade valor a los procesos de negocios gracias a su valioso aporte de soluciones tecnológicas. La arquitectura de sistemas en general, es una actividad de planeación, ya sea a nivel de infraestructura de red y hardware, o de software. 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: Diagramas de clases Diagramas de base de datos Diagrama de despliegue Diagrama de secuencia Siendo los dos primeros los mínimos necesarios para describir la arquitectura de un proyecto que iniciará a ser codificado. Depende del alcance del proyecto, complejidad y necesidades, el arquitecto elige qué diagramas elaborar. Las herramientas para el diseño y modelado de software se denominan CASE, (Computer Aided Software Engineering – Ingeniería de Software Asistido por Computadora) entre las cuales se encuentran: Enterprise Architect Microsoft Visio for Enterprise Architects IV. Programación (2) Reducir un diseño a código puede ser la parte más obvia del trabajo de ingeniería de software, pero no necesariamente es la que demanda mayor trabajo y ni la más complicada. La complejidad y la duración de esta etapa está íntimamente relacionada al o a los lenguajes de programación utilizados, así como al diseño previamente realizado. V. Prueba (2) Consiste en comprobar que el software realice correctamente las tareas indicadas en la especificación del problema. Una técnica de prueba es probar por separado cada módulo del software, y luego probarlo de forma 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
  • 4. hacer sus propias pruebas. En general hay dos grandes formas de organizar un área de pruebas, la primera es que esté compuesta por personal inexperto y que desconozca el tema de pruebas, de esta forma se evalúa que la documentación entregada sea de calidad, que los procesos descritos son tan claros que cualquiera puede entenderlos y el software hace las cosas tal y como están descritas. El segundo enfoque es tener un área de pruebas conformada por programadores con experiencia, personas que saben sin mayores indicaciones en qué condiciones puede fallar una aplicación y que pueden poner atención en detalles que personal inexperto no consideraría. VI. Documentación (2) Todo lo concerniente a la documentación del propio desarrollo del software y de la gestión del proyecto, pasando por modelaciones (UML),diagramas de casos de uso, pruebas, manuales de usuario, manuales técnicos, etc.; todo con el propósito de eventuales correcciones, usabilidad, mantenimiento futuro y ampliaciones al sistema. VII. Mantenimiento (3) Fase dedicada a mantener y mejorar el software para corregir errores descubiertos e incorporar nuevos requisitos. Esto puede llevar más tiempo incluso que el desarrollo del software inicial. Alrededor de 2/3 del tiempo de ciclo de vida de un proyecto está dedicado a su mantenimiento. Una pequeña parte de este trabajo consiste eliminar errores (bugs); siendo que la mayor parte reside en extender el sistema para incorporarle nuevas funcionalidades y hacer frente a su evolución.