Ingeniería de software: definición, metodologías y organizaciones clave
1.
2.
A continuación se presentan definición
inicio de la ingeniera de software, tanto
como metodologías y organizaciones
que se encargan de la ingeniería de
software.
3. 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).
La ingeniería del software es el
desarrollo, operación y mantenimiento
del software de forma sistemática,
disciplinada y cuantificable, y el estudio
de dichos métodos.
4.
La ingeniería del software comienza a
formalizarse a finales de la década del
1960. 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.
5.
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.
6. 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.
7.
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.
8.
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.
9.
La ingeniería de software dispone de
varios modelos, paradigmas y filosofías
de desarrollo, en los cuales se apoya
para la construcción del software, entre
ellos se puede citar:
10.
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.
11.
El prototipo es el framework de
actividades dedicada al desarrollo de
software prototipo, es decir, versiones
incompletas del software a desarrollar.
12.
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 una mini-Cascada de desarrollo
de cada uno de los incrementos del sistema.
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.
13.
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: (1) determinar objetivos, alternativas,
y desencadenantes de la iteración; (2) Evaluar
alternativas; Identificar y resolver los riesgos; (3) desarrollar
y verificar los resultados de la iteración, y (4) 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 examinación.
14.
Objetivo clave es para un rápido desarrollo y
entrega de una alta calidad en un sistema de
relativamente bajo coste de inversión.
Intenta reducir el riesgo inherente del proyecto
partiéndolo en segmentos más pequeños y
proporcionar más facilidad de cambio
durante el proceso de desarrollo.
Orientación dedicada a producir sistemas de
alta calidad con rapidez, principalmente
mediante el uso de iteración por prototipos (en
cualquier etapa de desarrollo), promueve la
participación de los usuarios y el uso de
herramientas de desarrollo computarizadas.
15.
La simplicidad es la base de la
programación extrema. Se simplifica el
diseño para agilizar el desarrollo y
facilitar el mantenimiento. Un diseño
complejo del código junto a sucesivas
modificaciones por parte de diferentes
desarrolladores hacen que la
complejidad aumente
exponencialmente.
16.
La necesidad del manejo de la
arquitectura de un sistema de software
nace con los sistemas de mediana o gran
envergadura, que se proponen como
solución para un problema determinado.
En la medida que los sistemas de software
crecen en complejidad, bien sea por
número de requerimientos o por el impacto
de los mismos, se hace necesario
establecer medios para el manejo de esta
complejidad (Hofmeister etal., 1996).
17.
Esto nos a mostrado una investigación
nos muestras los procesos en el
desarrollo del software solo tomando lo
mas básico para el comienzo de los
proyectos con el fin de que estos sean
mas sencillos