Está en la página 1de 33

Ingeniería de software

TIC SI 5-1
Profesor: Chenoweth Juan R.
Alumno: Carrera Vazquez Wilghen
Introducción

• Tema principal es definiciones, orígenes, su


importancia. Definiciones de Software
Engineering Suit (SEI) y el World Wide Web
Consortium (W3C) que son organizaciones
que se encargan de la ingeniería de software
como nos ayuda a la creación de software de
calidad que también se incluyen los modelos
de desarrollo y sus procesos para el desarrollo
del mismo.
Definición

• Ingeniería de Software es la aplicación de un


enfoque sistemático, disciplinado y
cuantificable al desarrollo operación
(funcionamiento) y mantenimiento
del
software: es decir, la aplicación de ingeniería
al software. [IEEE, 1993]
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. Este
fue ocasionado por el avance desmesurado de
el hardware lo que hacia el software cada vez
mas completo y generalmente nunca se
terminaba a tiempo.
Importancia

LO qt.Je ~ CIJD.nte
rea&rnente necesita
• 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. Lo anterior es posible
gracias a los objetivos que esta propone
• En la construcción y desarrollo de proyectos se
aplican métodos y técnicas para resolver los
problemas, la informática aporta herramientas
y procedimientos sobre los que se apoya la
ingeniería de software.
• Mejorar la calidad de los productos de
software.
• Aumentar la productividad y el trabajo de los
ingenieros de software.
Utilidad

Como el programador
lo escribió

orno fue documentad Lo que el cliente


el proyecto realmente necesltaba
• 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.
Organizaciones
SEI (Software Engineering Institute)

• Es un centro de investigación y desarrollo


fundado por el Departamento de Defensa de
los Estados Unidos y operado por la Carnegie
Mellon University, en Pittsburgh,
Pennsylvania. La SEI ayuda en el avance de los
principios y prácticas de la ingeniería de
software, y sirve como un recurso nacional en
la ingeniería de software, seguridad en
computación, y mejora en procesos.
W3C (World Wide Web Consortium)

• Es la principal organización internacional de


estándares para la World Wide Web. Fue fundada
por Tim Berners-Lee en Octubre de 1994, en la
MIT/LCS (Massachusetts Institute Of Tecnology
Laboratory for Computer Science), y actualmente
es quien lo encabeza. Dicho consorcio está
conformado por organizaciones que mantienen
un staff de tiempo completo con el propósito de
trabajar juntos en el desarrollo de estándares
para la World Wide Web.
Modelos y filosofías de desarrollo de
software.
Modelo en Cascada: Es el enfoque metodológico que ordena
rigurosamente las etapas del proceso para el desarrollo de software,
de tal forma que el inicio de cada etapa debe esperar a la finalización
de
• laAnálisis
etapa anterior. Un ejemplo de dicha metodología es:
de requisitos.
• Diseño del Sistema.
• Diseño del Programa.
• Codificación.
• Pruebas.
• Implantación.
• Mantenimiento.

De esta forma, cualquier error de diseño detectado en la etapa de


prueba conduce necesariamente al rediseño y nueva programación del
código afectado, aumentando los costos del desarrollo.
• Modelo de Prototipos: Se trata de un modelo de
desarrollo de tipo evolutivo. La mecánica consiste en
construir un prototipo en poco tiempo, utilizando los
programas adecuados y tratando de no usar mucho
dinero pues, a partir de que el prototipo sea aprobado,
• se podrá comenzar con el desarrollo del producto final.
• El modelo de prototipos consta de varias etapas.
• Comunicación
• Plan Rápido
• Modelado, Diseño Rápido
• Construcción del Prototipo
Desarrollo, Entrega y Retroalimentación
• Modelo en Espiral: Es un modelo de
desarrollo evolutivo. Las actividades a realizar
se encuentran dentro de una espiral, donde
cada bucle representa un conjunto de
actividades, las cuales no cuentan con ninguna
prioridad, sino que las siguientes se definen
en función del análisis de riesgos.
• Para cada ciclo, habrá cuatro actividades a
realizar.
Determinar o fijar objetivos:
• - Fijar también los productos definidos a
obtener: requerimientos, especificación,
manual de usuario.
• - Fijar las restricciones.
• - Identificación de riesgos del y
proyecto
• estrategias alternativas
- Hay una paraseevitarlos.
cosa que solo hace una vez: la
planificación inicial.
• Análisis del riesgo:
- Se lleva a cabo el estudio de las causas de las
posibles amenazas y probables eventos no
deseados y los daños y consecuencias que éstas
puedan producir.
• Planificar:
- Revisamos todo lo hecho, evaluándolo, y con
ello decidimos si continuamos con las fases
siguientes y planificamos la próxima actividad.
• Desarrollar, verificar y validar (probar):
- Tareas de la actividad propia y de prueba.
- Análisis de alternativas e identificación
deresolución
riesgos.
- Dependiendo del resultado de la evaluación de
los
riesgos, se elige un modelo para el desarrollo, el
que puede ser cualquiera de los otros existentes,
como formal, evolutivo, cascada, etc. Si lo riesgos
de protección son la principal consideración, un
desarrollo basado en transformaciones formales
podría ser el más apropiado.
Ciclo de vida del desarrollo de
software
• 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.
• Implementación

• Mantenimiento: para todos los


procedimientos correctivos (mantenimiento
correctivo) y las actualizaciones secundarias
del software (mantenimiento continuo).
Arquitectura de Software
• 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.
Patrones de Arquitectura de Software

• Cliente-Servidor
• Blackboard
• Modelo entre capas
• Intérprete
• Orientado a servicios
Cuenta con varios modelos
• Estructurales, dinámicos y de procesos.
Conclusión

• Esta actividad nos mostró una investigación


de un glosario de las definiciones que son muy
específicas, así como definiciones de la
Ingeniería de Software y que sin importar su
modelo o definición de diferentes
organizaciones y puntos de vista se utiliza
para
la creación de un mejor software de calidad
con el desarrollo de software mediante a sus
procesos métodos e herramientas que posee.
Bibliografía
• http://html.rincondelvago.com/conceptos-y-evolucion-de-la-ingenieria-del-

• software.html
• http://zarza.fis.usal.es/~fgarcia/doctorado/iweb/05-07/Trabajos/e
• -elearning.pdf http://www.desarrolloweb.com/articulos/499.php http://
• www.arrakis.es/~abelp/ApuntesJava/ClasesAbstractas.htm http://www.inf
• or.uva.es/~mlaguna/is1/apuntes/1-intro.pdf http://mexcontrol.blogspot.m
• x/2010/08/el-sistema-minimo.html http://es.scribd.com/doc/96228551/Sis
• tema-Embebido http://www.proyectosagiles.org/que-es-scrum http://es.w
• ikipedia.org/wiki/Desarrollo_%C3%A1gil_de_software http://es.wikipedia.o
• rg/wiki/Sistema_de_planificaci%C3%B3n_de_recursos_empre
sariales
• http://es.kioskea.net/contents/entreprise/business-intelligence.php3
• http://en.wikipedia.org/wiki/Evaluation_Assurance_Level
• http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_procesos_de_negocio
• http://www.desarrolloweb.com/articulos/2358.php
• http://www.mercadeo.com/blog/2010/01/software-como-servicio/
• http://html.rincondelvago.com/conceptos-y-evolucion-de-la-ingenieria-del-software.html
• http://zarza.fis.usal.es/~fgarcia/doctorado/iweb/05-07/Trabajos/e-elearning.pdf
• http://www.desarrolloweb.com/articulos/499.php
• http://www.arrakis.es/~abelp/ApuntesJava/ClasesAbstractas.htm
• http://www.infor.uva.es/~mlaguna/is1/apuntes/1-intro.pdf
• http://mexcontrol.blogspot.mx/2010/08/el-sistema-minimo.html
• http://es.scribd.com/doc/96228551/Sistema-Embebido
• http://www.proyectosagiles.org/que-es-scrum
• http://es.wikipedia.org/wiki/Desarrollo_%C3%A1gil_de_software
• http://es.wikipedia.org/wiki/Sistema_de_planificaci%C3%B3n_de_recursos_empresariales
• http://es.kioskea.net/contents/entreprise/business-intelligence.php3
• http://en.wikipedia.org/wiki/Evaluation_Assurance_Level
• http://es.wikipedia.org/wiki/Gesti%C3%B3n_de_procesos_de_negocio
• http://www.desarrolloweb.com/articulos/2358.php
• http://www.mercadeo.com/blog/2010/01/software-como-servicio/
Videos relacionados (nota: no son mis videos los tomes como
consulta adicional están interesantes):

• http://www.youtube.com/watch?v=YFin8nNnARA
• http://www.youtube.com/watch?v=Xxsf0wXq5OY
• http://www.youtube.com/watch?v=wCnrPpuWV
• cU http://www.youtube.com/watch?v=r9hRk-S2
qrQ

También podría gustarte