SlideShare uma empresa Scribd logo
1 de 10
INGENIERÍA DE SOFTWARE II

Definiciones en la
Ingeniería de Software
Cortés Jamaica Miguel Ángel
Grupo TIC SI 5-2

2014

ACTIVIDAD 1
INTRODUCCIÓN:
A continuación, en éste trabajo, se verán los conceptos
de lo que es Ingeniería de Software, su definición, sus inicios,
porque es importante, así como su utilidad, etc.
Así mismo, vendrán algunos ejemplos de modelos de
desarrollo, como sus características, de igual forma, lo que
es World Wide Web (W3C) y Software Engineering Institute
(SEI).
DEFINICIÓN:
La ingeniería de software es una disciplina formada por un conjunto de
métodos, herramientas y técnicas que se utilizan en el desarrollo de los programas
informáticos (software).
Esta disciplina trasciende la actividad de programación, que es el pilar
fundamental a la hora de crear una aplicación. El ingeniero de software se encarga
de toda la gestión del proyecto para que éste se pueda desarrollar en un plazo
determinado y con el presupuesto previsto.
La ingeniería de software, por lo tanto, incluye el análisis previo de la
situación, el diseño del proyecto, el desarrollo del software, las pruebas necesarias
para confirmar su correcto funcionamiento y la implementación del sistema.

INICIOS:
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.

IMPORTANCIA:
La ingeniería de software es muy importante ya que con ella se puede
analizar, diseñar, programar y aplicar un software de manera correcta y
organizada, cumpliendo con todas las especificaciones del cliente y el usuario
final.

UTILIDAD:
 Facilitar el control en el proceso de desarrollo de software.
 Suministrar a los desarrolladores las bases para construir software de alta
calidad en una forma eficiente.
 Definir una disciplina que garantice la producción y el mantenimiento de los
productos software desarrollados en el plazo fijado y dentro del costo
estimado.
CLASIFICACIÓN DE LOS TIPOS DE APLICACIONES:
 Software de información para trabajadores como Aplicaciones para la
gestión del tiempo, gestión de datos, documentación, software de análisis,
software de ayuda, recursos del sistema y software financiero.
 Software acceso a contenidos como navegadores web, aplicaciones
multimedia, programas de presentación,...
 Software de entretenimiento como: mascotas digitales, salvapantallas,
videojuegos,...
 Software educativo como aplicaciones para la gestión de clases, software de
aprendizaje y entrenamiento, software de referencia, aplicaciones de preparación
de ventas, gestión de encuestas,...
 Software para empresas como software de flujos de trabajo, sistemas de
gestión de bases de datos (DBMS), software Gestión de activos digitales (DAM),
software de gestión de documentos o sistemas de Información Geográfica (SIG)
 Software de simulación como simuladores científicos, sociales o de guerra, de
emergencia, de vehículos o de vuelo.
 Software de desarrollo multimedia para la gestión de imagenes, vídeos o
música. También de animación de gráficos imágenes o vídeos, editores
vectoriales, secuenciadores musicales e Hipermedia.
 Software de ingeniería de producto como asistido por ordenador (CAD),
análisis de elementos finitos, editor de idiomas compiladores de Entornos de
Desarrollo Integrados o depuradores de programas.

Software Engineering Institute (SEI)
El Instituto de Ingeniería de Software (SEI) es un centro de investigación,
desarrollo y formación involucrados en la computadora de software y de red de
seguridad. El SEI trabaja con la industria, las instituciones académicas y el
gobierno de Estados Unidos para mejorar el rendimiento y la fiabilidad de los
sistemas informáticos de gestión de los programas piloto, la realización de
pruebas, la oferta de cursos y la prestación de servicios para la concesión de
licencias y la publicación.

W3C
World Wide Web (W3C) es un consorcio internacional donde la
organización miembro, personal a tiempo completo y el público en general, trabaja
conjuntamente para desarrollar estándares Web. La misión del W3C es:
Guiar la Web hacia su máximo potencial a través del desarrollo de
protocolos y pautas que aseguren el crecimiento futuro de la Web.

MODELOS Y FILOSOFÍAS DE DESARROLLO DE
SOFTWARE
MODELO

CARACTERÍSTICAS

VENTAJAS

DESVENTAJAS

Modelos Convencionales

Modelo de
cascada

Rápido De
Aplicaciones

Modelo
Incremental

Modelo de
prototipo

Modelo Espiral

.- Es el más utilizado.
.- Deben desarrollarse todas
sus fases.
.- Las fases continúan hasta
que se cumplió el objetivo.

.- La planificación es
sencilla.
.- Calidad del producto
alta.
.- Permite trabajar con
personal poco
cualificado.

.- Tarda tiempo en
pasar por todo el ciclo.
.- Las revisiones del
proyecto son difíciles.
.- No refleja el proceso
de desarrollo de
software.

.- Con el tiempo, las
aplicaciones fueron siendo
cada vez más exigentes.
.- Es una metodología de
desarrollo ágil.

.- Se adapta al
desarrollo de sistemas
pequeños y grandes.
.- optimiza el tiempo de
desarrollo.
.- permite realizar el
desarrollo del sistema en

.- Se tiene la
definición del costo y
el tiempo de
desarrollo.
.- Se necesita de la
presencia constante
del usuario.

.- Se evita proyectos largos.
.- El usuario se involucra
más.
.- Requiere gestores
experimentados.
.- El resultado puede ser
muy positivo.

.- Permite entregar al
cliente un producto más
rápido.
.- Es versátil.
.- Sencillo al acomodar
cambios.

.- No recomendable
para sistemas en
tiempo real.
.- Requiere de mucha
planeación.
.- Requiere de metas
claras.

.- Incorpora componentes
del producto real.
.- Su objetivo es centrarse a
los aspectos del software.
.- Reduce los costos de
especificaciones erróneas.

.- Es útil cuando el
cliente conoce los
objetivos para el
software.
.- Ofrece un mejor
enfoque al desarrollo del
software.
.- Puede adaptarse al
software.
.- Permite aplicar el
enfoque de construcción
de prototipos.
.- En grandes sistemas
ha doblado la
productividad.

.- Se suele desatender
la calidad y el
mantenimiento.
.- El usuario crea
expectativas cuando
ve el prototipo final.

.- Puede combinarse con
otros modelos.
.- Elimina errores al
comienzo.
.- En cada giro se construye
un nuevo modelo del
sistema.
.- Incorpora objetivos de
calidad.
.- Incorpora gestión de
riesgos.

.- Modelo costoso.
.- Genera mucho
tiempo en el desarrollo
del sistema.
.- No se aconseja para
proyectos pequeños.
Modelos de desarrollo ágil
.- Muy exitosa en
tiempos recientes.
.- Conjunto de pasos de
otras metodologías.
.- Desarrollo más
agradable y sencillo.

.- Se adapta al
desarrollo de sistemas
grandes y pequeños.
.- Optimiza el tiempo
de desarrollo.
.- Permite realizar el
desarrollo de sistemas
en parejas.
.- Código es sencillo y
entendible.
.- Requiere poca
documentación.

.- No tiene la
definición de costos
ni de tiempos.
.- El sistema va
creciendo después
de cada entrega.
.- Necesita presencia
constante del
usuario.
.- Problemas
personales debido a
los celos del código.

.- Puede utilizarse en
diversas profesiones y
áreas.
.- Es especial para
sistemas pequeños.
.- Cubre la necesidad de
rapidez, calidad y
reducción de costos.
.- Trata al desarrollo de
software como una “caja
negra” controlable.
.- No trata el proceso de
software como un
proceso lineal.

.- Evita la burocracia.
.- Se puede comenzar
a trabajar desde el
primer momento.
.- Tiene un contenido
de uso común que se
puede utilizar sin
saber a ciencia cierta
lo que es.
.- Evita pérdidas de
tiempo y de dinero.
.- Permite un ambiente
familiar entre los
miembros de los
equipos.

.- Equipos máximos
de 5 personas.
.- Dificultad de
aplicación en
proyectos y equipos
grandes.
.- Requiere un “agile
champion”
.- Presenta diversos
problemas si se
restringe con una
fecha y un costo
cerrados por
contratos.

Programación
Extrema

Scrum
CICLO DE VIDA DEL DESARROLLO DE SOFTWARE
El término ciclo de vida del software describe el desarrollo de software, desde la
fase inicial hasta la fase final. El propósito de este programa es definir las distintas
fases intermedias que se requieren para validar el desarrollo de la aplicación, es
decir, para garantizar que el software cumpla los requisitos para la aplicación
y verificación de los procedimientos de desarrollo: se asegura de que los métodos
utilizados son apropiados.
Estos programas se originan en el hecho de que es muy costoso rectificar los
errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida
permite que los errores se detecten lo antes posible y por lo tanto, permite a los
desarrolladores concentrarse en la calidad del software, en los plazos de
implementación y en los costos asociados.
El ciclo de vida básico de un software consta de los siguientes procedimientos:
Definición de objetivos: definir el resultado del proyecto y su papel en la
estrategia global.
Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los
requisitos del cliente y examinar cualquier restricción que se pueda aplicar.
Diseño general: requisitos generales de la arquitectura de la aplicación.
Diseño en detalle: definición precisa de cada subconjunto de la aplicación.
Programación (programación e implementación): es la implementación de
un lenguaje de programación para crear las funciones definidas durante la
etapa de diseño.
Prueba de unidad: prueba individual de cada subconjunto de la aplicación
para garantizar que se implementaron de acuerdo con las especificaciones.
Integración: para garantizar que los diferentes módulos se integren con la
aplicación. Éste es el propósito de la prueba de integración que está
cuidadosamente documentada.
Prueba beta (o validación), para garantizar que el software cumple con las
especificaciones originales.
Documentación: sirve para documentar información necesaria para los
usuarios del software y para desarrollos futuros.
Mantenimiento: para todos los procedimientos correctivos (mantenimiento
correctivo) y las actualizaciones secundarias del software (mantenimiento
continuo).
El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de
una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el
cliente y el equipo de desarrolladores.

ARQUITECTURA DE SOFTWARE
La arquitectura de software es un conjunto de patrones que proporcionan un
marco de referencia necesario para guiar la construcción de un software,
permitiendo a los programadores, analistas y todo el conjunto de desarrolladores
del software compartir una misma línea de trabajo y cubrir todos los objetivos y
restricciones de la aplicación.
Es considerada el nivel más alto en el diseño de la arquitectura de un sistema
puesto que establecen la estructura, funcionamiento e interacción entre las partes
del software.
CONCLUSIÓN
La ingeniería de software es una disciplina de la ingeniería
que nos ayuda a desarrollar sistemas de software a tiempo y
a la vez que se cumpla con las expectativas de calidad y que
permanezca dentro del presupuesto.
El proyecto de software cumple con un ciclo de vida, para
todo proyecto de software se debe elegir el modelo en el que
se trabaja, es muy importante realizar prototipos de los
productos de software para el mejor diseño y entendimiento
de lo que requiere el cliente.
BIBLIOGRAFÍA:
http://definicion.de/ingenieria-de-software/
http://histinf.blogs.upv.es/2010/12/28/ingenieria-del-software/
http://ingenieriadesoftware3.blogspot.mx/p/importancia-de-la-ingenieria-del.html
http://www.tiposdesoftware.com/tipos-de-aplicaciones-de-software.htm
http://searchsoftwarequality.techtarget.com/definition/Software-EngineeringInstitute-SEI
http://mx.answers.yahoo.com/question/index?qid=20100318193148AAtAia4
http://es.kioskea.net/contents/223-ciclo-de-vida-del-software
http://www.ecured.cu/index.php/Arquitectura_de_software

Mais conteúdo relacionado

Mais procurados

Futuro del Software: Impacto en las organizaciones y en los profesionales
Futuro del Software:  Impacto en las organizaciones  y en los profesionalesFuturo del Software:  Impacto en las organizaciones  y en los profesionales
Futuro del Software: Impacto en las organizaciones y en los profesionalesAISTI
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)David Hernandez
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software'Jorge Martinez
 
Diseño de una infraestructura TI para un ambiente de Integración Continua en ...
Diseño de una infraestructura TI para un ambiente de Integración Continua en ...Diseño de una infraestructura TI para un ambiente de Integración Continua en ...
Diseño de una infraestructura TI para un ambiente de Integración Continua en ...Lis Pater
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agilesAdam Guevara
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareLia IS
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwarejuankexmisiodj
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativaDiego Sinche
 
Tarea(1)
Tarea(1)Tarea(1)
Tarea(1)daniel
 
Ciclo de vida del sw
Ciclo de vida del swCiclo de vida del sw
Ciclo de vida del swRVintimilla
 
Metodologias de software ISI-311 Trabajo Practico#2
Metodologias de software ISI-311 Trabajo Practico#2Metodologias de software ISI-311 Trabajo Practico#2
Metodologias de software ISI-311 Trabajo Practico#2RICARDOANDRESSAUCEDO
 
Ingenieria del software ( grupo 2)
Ingenieria del software ( grupo 2)Ingenieria del software ( grupo 2)
Ingenieria del software ( grupo 2)mariaccuyares
 

Mais procurados (18)

MeRinde
MeRindeMeRinde
MeRinde
 
Exposición aydsi
Exposición aydsiExposición aydsi
Exposición aydsi
 
mobile
mobilemobile
mobile
 
Futuro del Software: Impacto en las organizaciones y en los profesionales
Futuro del Software:  Impacto en las organizaciones  y en los profesionalesFuturo del Software:  Impacto en las organizaciones  y en los profesionales
Futuro del Software: Impacto en las organizaciones y en los profesionales
 
Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)Mobile D (programacion dispositivos moviles)
Mobile D (programacion dispositivos moviles)
 
Tecnicas de ingenieria de software
Tecnicas de ingenieria de softwareTecnicas de ingenieria de software
Tecnicas de ingenieria de software
 
Diseño de una infraestructura TI para un ambiente de Integración Continua en ...
Diseño de una infraestructura TI para un ambiente de Integración Continua en ...Diseño de una infraestructura TI para un ambiente de Integración Continua en ...
Diseño de una infraestructura TI para un ambiente de Integración Continua en ...
 
Metodologias agiles
Metodologias agilesMetodologias agiles
Metodologias agiles
 
Comunicacion y colaboracion
Comunicacion y colaboracionComunicacion y colaboracion
Comunicacion y colaboracion
 
Introduccion a la Ingeniería de Software
Introduccion a la Ingeniería de SoftwareIntroduccion a la Ingeniería de Software
Introduccion a la Ingeniería de Software
 
Tecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.softwareTecnicas.de.ingenieria.de.software
Tecnicas.de.ingenieria.de.software
 
Carrera de informatica_educativa
Carrera de informatica_educativaCarrera de informatica_educativa
Carrera de informatica_educativa
 
Tarea(1)
Tarea(1)Tarea(1)
Tarea(1)
 
Ciclo de vida del sw
Ciclo de vida del swCiclo de vida del sw
Ciclo de vida del sw
 
Modelos
ModelosModelos
Modelos
 
Metodologias de software ISI-311 Trabajo Practico#2
Metodologias de software ISI-311 Trabajo Practico#2Metodologias de software ISI-311 Trabajo Practico#2
Metodologias de software ISI-311 Trabajo Practico#2
 
Proceso desarrollo software
Proceso desarrollo softwareProceso desarrollo software
Proceso desarrollo software
 
Ingenieria del software ( grupo 2)
Ingenieria del software ( grupo 2)Ingenieria del software ( grupo 2)
Ingenieria del software ( grupo 2)
 

Destaque

Diapositivas De Software
Diapositivas De SoftwareDiapositivas De Software
Diapositivas De Softwareguest6df70d
 
Unidad 1 ciclo de vida
Unidad 1 ciclo de vidaUnidad 1 ciclo de vida
Unidad 1 ciclo de vidaIsabel
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del softwaremasferrer1998
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_softwareMiguel Castro
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vidaFSILSCA
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones RegularesIsabel
 
Acti deaprendizaje equipo_software1
Acti deaprendizaje equipo_software1Acti deaprendizaje equipo_software1
Acti deaprendizaje equipo_software1Dalia Sandiego
 
Ciclos De Vida de Software
Ciclos De Vida de SoftwareCiclos De Vida de Software
Ciclos De Vida de Softwareguest5fa3fc
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del softwarearealisherrera
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareWilliam Matamoros
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaamendez45
 
Compiladores
CompiladoresCompiladores
CompiladoresIsabel
 
Modelos Del ciclo de vida del Software
Modelos Del ciclo de vida del SoftwareModelos Del ciclo de vida del Software
Modelos Del ciclo de vida del Softwareguest37183b
 
Pip instituto laredo
Pip instituto laredo Pip instituto laredo
Pip instituto laredo Aaron Ruiz
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del softwareGUEOVANNY20
 
Diapositivas De Software
Diapositivas De SoftwareDiapositivas De Software
Diapositivas De Softwareguest6df70d
 
Diapositivas hardware y software
Diapositivas hardware y softwareDiapositivas hardware y software
Diapositivas hardware y softwareSabina
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo SoftwareDaniel Román
 

Destaque (20)

Programación
ProgramaciónProgramación
Programación
 
Diapositivas De Software
Diapositivas De SoftwareDiapositivas De Software
Diapositivas De Software
 
Unidad 1 ciclo de vida
Unidad 1 ciclo de vidaUnidad 1 ciclo de vida
Unidad 1 ciclo de vida
 
Power point
Power pointPower point
Power point
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
1. ciclo de_vida_de_software
1. ciclo de_vida_de_software1. ciclo de_vida_de_software
1. ciclo de_vida_de_software
 
Ciclo de vida
Ciclo de vidaCiclo de vida
Ciclo de vida
 
Expresiones Regulares
Expresiones RegularesExpresiones Regulares
Expresiones Regulares
 
Acti deaprendizaje equipo_software1
Acti deaprendizaje equipo_software1Acti deaprendizaje equipo_software1
Acti deaprendizaje equipo_software1
 
Ciclos De Vida de Software
Ciclos De Vida de SoftwareCiclos De Vida de Software
Ciclos De Vida de Software
 
Ciclo de vida del software
Ciclo de vida del softwareCiclo de vida del software
Ciclo de vida del software
 
Modelos o Ciclos de vida de software
Modelos o Ciclos de vida de softwareModelos o Ciclos de vida de software
Modelos o Ciclos de vida de software
 
Modelo de cascadaa
Modelo de cascadaaModelo de cascadaa
Modelo de cascadaa
 
Compiladores
CompiladoresCompiladores
Compiladores
 
Modelos Del ciclo de vida del Software
Modelos Del ciclo de vida del SoftwareModelos Del ciclo de vida del Software
Modelos Del ciclo de vida del Software
 
Pip instituto laredo
Pip instituto laredo Pip instituto laredo
Pip instituto laredo
 
Ciclos de vida del software
Ciclos de vida del softwareCiclos de vida del software
Ciclos de vida del software
 
Diapositivas De Software
Diapositivas De SoftwareDiapositivas De Software
Diapositivas De Software
 
Diapositivas hardware y software
Diapositivas hardware y softwareDiapositivas hardware y software
Diapositivas hardware y software
 
Etapas de Desarrollo Software
Etapas de Desarrollo SoftwareEtapas de Desarrollo Software
Etapas de Desarrollo Software
 

Semelhante a Desarrollo de software

Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadXKWDX
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Edwin Belduma
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruizjhonatanalex
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanjhonatanalex
 
Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literariodiegos08
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueJosue Zelaya
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxMaikoUrizar1
 
Investigación de ingeniería de software
Investigación de ingeniería de software Investigación de ingeniería de software
Investigación de ingeniería de software ingenieriadsoftware
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de softwareAbner Garcia
 
Alfredo garcia ing.pdf
Alfredo garcia ing.pdfAlfredo garcia ing.pdf
Alfredo garcia ing.pdfAlfredo Garcia
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos bren1995
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de softwareJhonJairoPerez
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofwareMcDonald's
 

Semelhante a Desarrollo de software (20)

Ingeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidadIngeniería de software Definicion,inicion,importancia y utilidad
Ingeniería de software Definicion,inicion,importancia y utilidad
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ensayo sobre la calidad de software
Ensayo sobre la calidad de softwareEnsayo sobre la calidad de software
Ensayo sobre la calidad de software
 
Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.Ciclo de vida de un proyecto de Software.
Ciclo de vida de un proyecto de Software.
 
Trabajo diapositiva Software por Jhonatan Ruiz
Trabajo diapositiva  Software por Jhonatan RuizTrabajo diapositiva  Software por Jhonatan Ruiz
Trabajo diapositiva Software por Jhonatan Ruiz
 
Trabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatanTrabajo diapositiva modulo 3 de jhonatan
Trabajo diapositiva modulo 3 de jhonatan
 
UNIDAD_I.ppt
UNIDAD_I.pptUNIDAD_I.ppt
UNIDAD_I.ppt
 
Ingenieria de software -analizis literario
Ingenieria de software -analizis literarioIngenieria de software -analizis literario
Ingenieria de software -analizis literario
 
Trabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josueTrabajo diapositiva modulo 3 de josue
Trabajo diapositiva modulo 3 de josue
 
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptxingenieradesoftwareii-140115210933-phpapp01 (1).pptx
ingenieradesoftwareii-140115210933-phpapp01 (1).pptx
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Investigación de ingeniería de software
Investigación de ingeniería de software Investigación de ingeniería de software
Investigación de ingeniería de software
 
Trabajo de desarrollo desoftware
Trabajo de desarrollo desoftwareTrabajo de desarrollo desoftware
Trabajo de desarrollo desoftware
 
Metodología de desarrollo de software
Metodología de desarrollo de softwareMetodología de desarrollo de software
Metodología de desarrollo de software
 
Alfredo garcia ing.pdf
Alfredo garcia ing.pdfAlfredo garcia ing.pdf
Alfredo garcia ing.pdf
 
Investigación de modelos
Investigación de modelos Investigación de modelos
Investigación de modelos
 
Ingeniería de software
Ingeniería de softwareIngeniería de software
Ingeniería de software
 
Trabajo de sistemas de software
Trabajo de sistemas de softwareTrabajo de sistemas de software
Trabajo de sistemas de software
 
Proceso de desarrollo de sofware
Proceso de desarrollo de sofwareProceso de desarrollo de sofware
Proceso de desarrollo de sofware
 

Desarrollo de software

  • 1. INGENIERÍA DE SOFTWARE II Definiciones en la Ingeniería de Software Cortés Jamaica Miguel Ángel Grupo TIC SI 5-2 2014 ACTIVIDAD 1
  • 2. INTRODUCCIÓN: A continuación, en éste trabajo, se verán los conceptos de lo que es Ingeniería de Software, su definición, sus inicios, porque es importante, así como su utilidad, etc. Así mismo, vendrán algunos ejemplos de modelos de desarrollo, como sus características, de igual forma, lo que es World Wide Web (W3C) y Software Engineering Institute (SEI).
  • 3. DEFINICIÓN: La ingeniería de software es una disciplina formada por un conjunto de métodos, herramientas y técnicas que se utilizan en el desarrollo de los programas informáticos (software). Esta disciplina trasciende la actividad de programación, que es el pilar fundamental a la hora de crear una aplicación. El ingeniero de software se encarga de toda la gestión del proyecto para que éste se pueda desarrollar en un plazo determinado y con el presupuesto previsto. La ingeniería de software, por lo tanto, incluye el análisis previo de la situación, el diseño del proyecto, el desarrollo del software, las pruebas necesarias para confirmar su correcto funcionamiento y la implementación del sistema. INICIOS: 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. IMPORTANCIA: La ingeniería de software es muy importante ya que con ella se puede analizar, diseñar, programar y aplicar un software de manera correcta y organizada, cumpliendo con todas las especificaciones del cliente y el usuario final. UTILIDAD:  Facilitar el control en el proceso de desarrollo de software.  Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.  Definir una disciplina que garantice la producción y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.
  • 4. CLASIFICACIÓN DE LOS TIPOS DE APLICACIONES:  Software de información para trabajadores como Aplicaciones para la gestión del tiempo, gestión de datos, documentación, software de análisis, software de ayuda, recursos del sistema y software financiero.  Software acceso a contenidos como navegadores web, aplicaciones multimedia, programas de presentación,...  Software de entretenimiento como: mascotas digitales, salvapantallas, videojuegos,...  Software educativo como aplicaciones para la gestión de clases, software de aprendizaje y entrenamiento, software de referencia, aplicaciones de preparación de ventas, gestión de encuestas,...  Software para empresas como software de flujos de trabajo, sistemas de gestión de bases de datos (DBMS), software Gestión de activos digitales (DAM), software de gestión de documentos o sistemas de Información Geográfica (SIG)  Software de simulación como simuladores científicos, sociales o de guerra, de emergencia, de vehículos o de vuelo.  Software de desarrollo multimedia para la gestión de imagenes, vídeos o música. También de animación de gráficos imágenes o vídeos, editores vectoriales, secuenciadores musicales e Hipermedia.  Software de ingeniería de producto como asistido por ordenador (CAD), análisis de elementos finitos, editor de idiomas compiladores de Entornos de Desarrollo Integrados o depuradores de programas. Software Engineering Institute (SEI) El Instituto de Ingeniería de Software (SEI) es un centro de investigación, desarrollo y formación involucrados en la computadora de software y de red de seguridad. El SEI trabaja con la industria, las instituciones académicas y el gobierno de Estados Unidos para mejorar el rendimiento y la fiabilidad de los sistemas informáticos de gestión de los programas piloto, la realización de pruebas, la oferta de cursos y la prestación de servicios para la concesión de licencias y la publicación. W3C World Wide Web (W3C) es un consorcio internacional donde la organización miembro, personal a tiempo completo y el público en general, trabaja conjuntamente para desarrollar estándares Web. La misión del W3C es: Guiar la Web hacia su máximo potencial a través del desarrollo de protocolos y pautas que aseguren el crecimiento futuro de la Web. MODELOS Y FILOSOFÍAS DE DESARROLLO DE SOFTWARE
  • 5. MODELO CARACTERÍSTICAS VENTAJAS DESVENTAJAS Modelos Convencionales Modelo de cascada Rápido De Aplicaciones Modelo Incremental Modelo de prototipo Modelo Espiral .- Es el más utilizado. .- Deben desarrollarse todas sus fases. .- Las fases continúan hasta que se cumplió el objetivo. .- La planificación es sencilla. .- Calidad del producto alta. .- Permite trabajar con personal poco cualificado. .- Tarda tiempo en pasar por todo el ciclo. .- Las revisiones del proyecto son difíciles. .- No refleja el proceso de desarrollo de software. .- Con el tiempo, las aplicaciones fueron siendo cada vez más exigentes. .- Es una metodología de desarrollo ágil. .- Se adapta al desarrollo de sistemas pequeños y grandes. .- optimiza el tiempo de desarrollo. .- permite realizar el desarrollo del sistema en .- Se tiene la definición del costo y el tiempo de desarrollo. .- Se necesita de la presencia constante del usuario. .- Se evita proyectos largos. .- El usuario se involucra más. .- Requiere gestores experimentados. .- El resultado puede ser muy positivo. .- Permite entregar al cliente un producto más rápido. .- Es versátil. .- Sencillo al acomodar cambios. .- No recomendable para sistemas en tiempo real. .- Requiere de mucha planeación. .- Requiere de metas claras. .- Incorpora componentes del producto real. .- Su objetivo es centrarse a los aspectos del software. .- Reduce los costos de especificaciones erróneas. .- Es útil cuando el cliente conoce los objetivos para el software. .- Ofrece un mejor enfoque al desarrollo del software. .- Puede adaptarse al software. .- Permite aplicar el enfoque de construcción de prototipos. .- En grandes sistemas ha doblado la productividad. .- Se suele desatender la calidad y el mantenimiento. .- El usuario crea expectativas cuando ve el prototipo final. .- Puede combinarse con otros modelos. .- Elimina errores al comienzo. .- En cada giro se construye un nuevo modelo del sistema. .- Incorpora objetivos de calidad. .- Incorpora gestión de riesgos. .- Modelo costoso. .- Genera mucho tiempo en el desarrollo del sistema. .- No se aconseja para proyectos pequeños.
  • 6. Modelos de desarrollo ágil .- Muy exitosa en tiempos recientes. .- Conjunto de pasos de otras metodologías. .- Desarrollo más agradable y sencillo. .- Se adapta al desarrollo de sistemas grandes y pequeños. .- Optimiza el tiempo de desarrollo. .- Permite realizar el desarrollo de sistemas en parejas. .- Código es sencillo y entendible. .- Requiere poca documentación. .- No tiene la definición de costos ni de tiempos. .- El sistema va creciendo después de cada entrega. .- Necesita presencia constante del usuario. .- Problemas personales debido a los celos del código. .- Puede utilizarse en diversas profesiones y áreas. .- Es especial para sistemas pequeños. .- Cubre la necesidad de rapidez, calidad y reducción de costos. .- Trata al desarrollo de software como una “caja negra” controlable. .- No trata el proceso de software como un proceso lineal. .- Evita la burocracia. .- Se puede comenzar a trabajar desde el primer momento. .- Tiene un contenido de uso común que se puede utilizar sin saber a ciencia cierta lo que es. .- Evita pérdidas de tiempo y de dinero. .- Permite un ambiente familiar entre los miembros de los equipos. .- Equipos máximos de 5 personas. .- Dificultad de aplicación en proyectos y equipos grandes. .- Requiere un “agile champion” .- Presenta diversos problemas si se restringe con una fecha y un costo cerrados por contratos. Programación Extrema Scrum
  • 7. CICLO DE VIDA DEL DESARROLLO DE SOFTWARE El término ciclo de vida del software describe el desarrollo de software, desde la fase inicial hasta la fase final. El propósito de este programa es definir las distintas fases intermedias que se requieren para validar el desarrollo de la aplicación, es decir, para garantizar que el software cumpla los requisitos para la aplicación y verificación de los procedimientos de desarrollo: se asegura de que los métodos utilizados son apropiados. Estos programas se originan en el hecho de que es muy costoso rectificar los errores que se detectan tarde dentro de la fase de implementación. El ciclo de vida permite que los errores se detecten lo antes posible y por lo tanto, permite a los desarrolladores concentrarse en la calidad del software, en los plazos de implementación y en los costos asociados. El ciclo de vida básico de un software consta de los siguientes procedimientos: Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global. Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar. Diseño general: requisitos generales de la arquitectura de la aplicación. Diseño en detalle: definición precisa de cada subconjunto de la aplicación. Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño. Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones. Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada. Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales. Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros. Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).
  • 8. El orden y la presencia de cada uno de estos procedimientos en el ciclo de vida de una aplicación dependen del tipo de modelo de ciclo de vida acordado entre el cliente y el equipo de desarrolladores. ARQUITECTURA DE SOFTWARE La arquitectura de software es un conjunto de patrones que proporcionan un marco de referencia necesario para guiar la construcción de un software, permitiendo a los programadores, analistas y todo el conjunto de desarrolladores del software compartir una misma línea de trabajo y cubrir todos los objetivos y restricciones de la aplicación. Es considerada el nivel más alto en el diseño de la arquitectura de un sistema puesto que establecen la estructura, funcionamiento e interacción entre las partes del software.
  • 9. CONCLUSIÓN La ingeniería de software es una disciplina de la ingeniería que nos ayuda a desarrollar sistemas de software a tiempo y a la vez que se cumpla con las expectativas de calidad y que permanezca dentro del presupuesto. El proyecto de software cumple con un ciclo de vida, para todo proyecto de software se debe elegir el modelo en el que se trabaja, es muy importante realizar prototipos de los productos de software para el mejor diseño y entendimiento de lo que requiere el cliente.