1. Definiciones en la Ingeniería de Software
Ingeniería de Software II
Alumno:
Guillermo Isidro Morales Aguirre
Grupo:
SI 5-2
2. INTRODUCCIÓN
El tema principal del documento es definiciones, orígenes, importancia, utilidad,
Definiciones de Software Engineering Suit y W3C que son organizaciones que se
encargan de la ingeniería de software como nos ayuda a la creación de software
de calidad, también incluye Modelos y filosofías de desarrollo de software y sus
diversas metodologías como espiral, prototipado, cascada, Incremental.
El documento también incluye una conclusión a grandes rasgos de desarrollo de
software, así como las bibliografías de todo lo visto en el documento.
3. DESARROLLO
Ingeniería de software
Definición
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).
Inicios
Desde sus inicios en la década de 1940, escribir software ha evolucionado hasta
convertirse en una profesión que se ocupa de cómo crear software y maximizar su
calidad. La calidad puede referirse a cuán mantenenible es el software, su
estabilidad, velocidad, usabilidad, comprobabilidad, legibilidad, tamaño, costo,
seguridad y número de fallas o "bugs", así como, entre muchos otros atributos, a
cualidades menos medibles como elegancia, concisión y satisfacción del cliente.
Importancia
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 más completo y generalmente nunca se terminaba
a tiempo
4. Utilidad
Clasificación de software
De acuerdo a la forma de representación física de la Información
Hace referencia a la forma de recibir y/o procesar internamente la información.
De acuerdo al Tipo de Uso
Tiene que ver con el tipo de aplicaciones que puede ejecutar
Computadoras de Uso General: Es la computadora que puede utilizarse para
distintas clases de aplicaciones, es decir que puede soportar el trabajo
concurrente de diferentes aplicaciones de usuario y/o del sistema
Computadoras de Uso Específico: Es la computadora que únicamente puede
utilizarse para una o un grupo de aplicaciones determinado o una aplicación muy
5. concreta, este tipo de computadoras son conocidas habitualmente como
embebidas pues se encuentran incorporadas a otros sistemas o equipos.
De acuerdo a la Potencia
Hace referencia a la configuración que presentan las computadoras que les
permite un mejor desempeño.
Software Engineering Institute
Software Engineering Institute (SEI) es un instituto federal estadounidense de
investigación y desarrollo, fundado por Congreso de los Estados
Unidos en 1984 para desarrollar modelos de evaluación y mejora en el desarrollo
de software, que dieran respuesta a los problemas que generaba al ejército
estadounidense la programación e integración de los sub-sistemas de software en
la construcción de complejos sistemas militares. Financiado por el Departamento
de Defensa de los Estados Unidos y administrado por la Universidad Carnegie
Mellon.
W3C
W3C son las siglas de World Wide Web Consorcio, un consorcio fundado en 1994
para dirigir a la Web hacia su pleno potencial mediante el desarrollo de protocolos
comunes que promuevan su evolución y aseguren su interoperabilidad.
El consorcio está compuesto por un grupo de programadores, desarrolladores
web, ejecutivos de la industria y usuarios que ayudan a definir las especificaciones
para el desarrollo de la tecnología web
6. Modelos y filosofías de desarrollo de software.
Modelo en cascada
Es un proceso secuencial de desarrollo en el que los pasos de desarrollo son
vistos hacia abajo (como en una cascada de agua) a través de las fases de
análisis de las necesidades, el diseño, implantación, pruebas (validación), la
integración, y mantenimiento. La primera descripción formal del modelo de
cascada se cita a menudo a un artículo publicado por Winston Royce W. en 1970,
aunque Royce no utiliza el término "cascada" de este artículo.
Los principios básicos del modelo de cascada son los siguientes:
El proyecto está dividido en fases secuenciales, con cierta superposición y
splashback aceptable entre fases.
Se hace hincapié en la planificación, los horarios, fechas, presupuestos y
ejecución de todo un sistema de una sola vez.
Un estricto control se mantiene durante la vida del proyecto a través de la
utilización de una amplia documentación escrita, así como a través de comentarios
y aprobación / signoff por el usuario y la tecnología de la información de gestión al
final de la mayoría de las fases antes de comenzar la próxima fase.
Prototipado
El prototipado es el framework de actividades dedicada al desarrollo de software
prototipo, es decir, versiones incompletas del software a desarrollar.
Incremental
Provee una estrategia para controlar la complejidad y los riesgos, desarrollando
una parte del producto software reservando el resto de aspectos para el futuro.
Los principios básicos son:
Una serie de mini-Cascadas se llevan a cabo, donde todas las fases de la cascada
modelo de desarrollo se han completado para una pequeña parte de los sistemas,
antes de proceder a la próxima incremental.
Se definen los requisitos antes de proceder con lo evolutivo, se realiza un miniCascada de desarrollo de cada uno de los incrementos del sistema.
7. El concepto inicial de software, análisis de las necesidades, y el diseño de la
arquitectura y colectiva básicas se definen utilizando el enfoque de cascada,
seguida por iterativo de prototipos, que culmina en la instalación del prototipo final.
Espiral
Los principios básicos son:
La atención se centra en la evaluación y reducción del riesgo del proyecto
dividiendo el proyecto en segmentos más pequeños y proporcionar más facilidad
de cambio durante el proceso de desarrollo, así como ofrecer la oportunidad de
evaluar los riesgos y con un peso de la consideración de la continuación del
proyecto durante todo el ciclo de vida.
Cada viaje alrededor de la espiral atraviesa cuatro cuadrantes básicos: determinar
objetivos, alternativas, y desencadenantes de la iteración; Evaluar alternativas;
Identificar y resolver los riesgos; desarrollar y verificar los resultados de la
iteración, y plan de la próxima iteración.
Cada ciclo comienza con la identificación de los interesados y sus condiciones de
ganancia, y termina con la revisión y exanimación.
Ciclo de vida del desarrollo de software
Un proceso para el desarrollo de software, también denominado ciclo de vida del
desarrollo de software es una estructura aplicada al desarrollo de un producto
de software. Hay varios modelos a seguir para el establecimiento de un proceso
para el desarrollo de software, cada uno de los cuales describe un enfoque
diferente para diferentes actividades que tienen lugar durante el proceso.
Etapas de Ciclo de vida del desarrollo de software
8. Arquitectura de software
La Arquitectura del Software es el diseño de más alto nivel de la estructura de un
sistema.
Modelos o vistas
La visión estática: describe qué componentes tiene la arquitectura.
La visión funcional: describe qué hace cada componente.
La visión dinámica: describe cómo se comportan los componentes a lo largo del
tiempo y cómo interactúan entre sí.
9. CONCLUSIONES
Las aplicaciones de escritorio y web avanzan muy rápidamente debido a las
necesidades demandadas de los clientes y/o usuarios.
Para elaborar un software de calidad es necesario una buena planeación,
apoyándose en las diversas técnicas de para desarrollo de software, para que el
software sea funcional.