Publicado el 14 de Enero del 2017
3.150 visualizaciones desde el 14 de Enero del 2017
242,8 KB
31 paginas
Creado hace 19a (06/08/2004)
Ingeniería Técnica en Informática de Gestión
U.N.E.D.
Apuntes de
INGENIERÍA
DEL
SOFTWARE
Apuntes realizados por Antonio Reyes. C.A.Tenerife
1
Universidad Nacional de Educación a Distancia (UNED)
Ingeniería Técnica en Informática de Gestión
Ingeniería del Software. RESUMEN
Concepto
1. INTRODUCCIÓN
1.1. Concepto de Ingeniería de Sistemas
Sistema
Descripción
Ingeniería de sistemas
Subsistemas
Sistemas
computador
basados
en
Es un conjunto de cosas que ordenadamente relacionadas entre sí contribuyen a
determinado objeto.
La ingeniería de sistemas atiende a los aspectos de organización de sistemas informáticos
así como al proceso de su desarrollo.
Son las partes de un sistema.
Son los sistemas que ha de concebir y distribuir el ingeniero en informática. Contienen uno
o más computadores dedicados a controlar el conjunto. Algunos sistemas sólo se pueden
construir con equipos multidisciplinares.
La tarea de tratamiento de información que realizan los sistemas informáticos puede ser realizada por tres elementos:
• Hardware, de una forma directa,
• Software, cuando la operación se puede programar, y
• Usuario, que aunque no forme parte del sistema artificial se debe indicar como debe interactuar el usuario que
opere en el sistema.
La concepción de un sistema informático, que es la actividad de la ingeniería de sistemas basados en computadores,
consiste en decidir qué elementos hardware y software se utilizarán o desarrollarán y qué usuarios operarán dicho
sistema. También repartirá y asignará las actividades de cada uno de los elementos descritos.
1.2. Características del Software
Hardware
Software
Son todos los elementos físicos del computador.
Son los programas, pero también los documentos, bases de datos o los procedimientos de
operación o de mantenimiento periódico.
La ingeniería de software presenta las características especiales de que en su proceso de fabricación, lo realmente costoso
es el proceso de desarrollo inicial, ya que posteriormente se limitará a distribuir miles de copias a un costo muy bajo. Es
decir, el costo de producir miles de unidades de un producto software es similar al costo de fabricar uno solo.
Tareas de mantenimiento
El software no se desgasta. Las tareas de mantenimiento de software deben considerarse
como tareas adicionales de desarrollo, realizadas ocasionalmente.
1.3. Concepto de Ingeniería de Software
Utilizado por primera vez a finales de los años sesenta en la OTAN, el término de ingeniería de software se utiliza para
designar el empleo de técnicas y procedimientos de la ingeniería en general en el desarrollo de productos software.
Además amplia su visión de desarrollo de software con las actividades de análisis y diseño previos, y de integración y
verificaciones posteriores, algo que se llama “ciclo de vida” del desarrollo software.
1.3.1. Perspectiva histórica
El aumento de la capacidad de los computadores hizo evolucionar la actividad de desarrollo de software, que en un
principio era una actividad casi artesanal y que dependía de la habilidad y creatividad del programador, hacia la
aplicación de técnicas que permitieran: a) el trabajo en equipo; b) una organización del trabajo y; c) empleo de
herramientas adecuadas. Se crearon metodologías de desarrollo específicas y particulares como las destinadas a la
creación de los sistemas de información.
CASE
Computer Aided Software Engineering. Son herramientas de soportes que permiten aplicar
las técnicas de la ingeniería de software. Sirven para apoyar las actividades inmediatamente
anteriores a la codificación. Se emplearon en los años 80.
Integrated Project Support Environment.
Integrated CASE.
Las IPSE e ICASE son las herramientas que se utilizan en la actualidad y permiten
automatizar aún más la producción de software. Pueden ser utilizadas durante todo el ciclo
de vida de desarrollo.
La crisis del software, iniciada en los años 60, debido a la fuerte evolución del hardware que requería desarrollar
aplicaciones software más complejas, persiste hasta nuestros días, habiéndose convertido dicha crisis en una evolución
constante del hardware, lo que obliga a la ingeniería del software a una evolución también contínua siendo dicha
evolución insuficiente.
IPSE
ICASE
Herramientas actuales
1.3.2. La crisis del software
1.3.3.Mitos del software
Apuntes realizados por Antonio Reyes. C.A.Tenerife
2
hardware
La continua evolución de las disciplinas en el desarrollo del software ha provocado que se hayan creado ciertos mitos
difíciles de erradicar:
El
es más
importante que el software
El software es
fácil de
desarrollar
El
software
exclusivamente
programas ejecutables
El desarrollo de software es
sólo
de
programación
Es natural que el software
contenga errores
Es falso ya que el usuario interactúa con el software principalmente. Es censurable la
realización de copias piratas.
Esto es falso para cualquier aplicación de cierta importancia. El desarrollo de grandes
sistemas es muy complejo y costoso.
Un sistema informático se compone de hardware, software, personas y procedimientos de
utilización. También es software toda la documentación del desarrollo que se necesita para
el mantenimiento.
Es falso ya que las tareas de análisis y diseño son el fundamento para el resto del desarrollo.
No exactamente. Si bien el desarrollo de software es susceptible de errores, no es admisible
que un software contenga siempre errores. Los errores del software son errores durante su
desarrollo inicial y deben reducirse a un nivel lo más bajo posible.
consiste
en
una
labor
1.4. Formalización del proceso de desarrollo
Una de las características de la ingeniería es la existencia de procedimientos bien establecidos para la realización de
actividades de desarrollo, construcción, fabricación, etc. En el caso de la ingeniería de software tenemos varios
procedimientos o modelos:
1.4.1 El ciclo de vida del software. Modelos clásicos
Ciclo de vida del software Constituye uno de los primeros logros de la ingeniería del software y consiste en identificar
con detalle la forma que adopta el proceso de desarrollo del software.
1.4.1.1. El modelo en cascada
Es el modelo de ciclo de vida más antiguo y en él figuran distintas fases ordenadas secuencialmente de forma que el
resultado de una se utiliza como entrada de la siguiente. Su secuencia es: Análisis Diseño Codificación
Integración Mantenimiento. Existen diferentes variantes en el que una de las fases se desarrolla aún más.
Análisis
Consiste en analizar las necesidades de los usuarios potenciales del software para
determinar qué hace el sistema a desarrollar y, a partir de ello, escribir la especificación
precisa.
Descompone y organiza el sistema en elementos que se pueden desarrollar por separado. Se
aprovecha así la división del trabajo. Produce la especificación de cada componente.
En esta fase se escribe el código fuente de cada elemento por separado.
En esta fase se combinan todos los elementos y se comprueba el sistema completo. Se
harán pruebas exhaustivas.
Durante la explotación se harán cambios no previstos, se corregirán errores no detectados, o
se introducirán mejoras.
El hecho de estar dividido en fases el ciclo de vida en cascada, hace que se permita una
especialización, pudiendo encontrar analistas, diseñadores, programadores, etc.
Los documentos que en cada fase se producen son:
SRD (Software Requirements Document). Es producto de la fase de análisis y consiste en
una especificación precisa y completa del sistema. Se prescinde de detalles.
SDD (Software Design Document). Es producto de la fase de diseño. Es una descripción
de la estructura global del sistema, y la especificación de qué debe hacer cada una de sus
partes y cómo se combinan entre sí.
Es el producto de la fase de codificación. Contiene el programa fuente debidamente
comentado.
Es el producto de la fase de integración. Se deben documentar las pruebas realizadas.
Diseño
Codificación
Integración
Mantenimiento
Especialización
Documentos
Documento de Requisitos
del Software
Documento de diseño del
Software
Código Fuente
Sistema
El
ejecutable
Documentos de Cambios
Software
1.4.1.2. El modelo en V
Se debe hacer después de cada modificación realizada durante el mantenimiento. Se
incluirá el problema detectado, la solución adoptada y la modificación realizada.
Es importante destacar la necesidad de terminar correctamente una fase antes de comenzar la siguiente, y ello porque es
muy costoso corregir errores de una fase anterior si parte del trabajo de esa fase ya está hecho. En esos casos hay que
retornar a un punto anterior del ciclo de vida.
Este modelo, que incluye las mismas fases que el modelo en cascada, tiene forma de V, e incluye en el tramo descendente
de la V las fases de Análisis Diseño Codificación, mientras que en el trazo ascendente están las fases de
Codificación Integración Explotación. En la rama izquierda el sistema se va descomponiendo en elementos cada
vez más sencillos mientras que en la rama derecha se van construyendo poco a poco hasta disponer del sistema completo.
Verificación
Consiste en comprobar que una parte del sistema cumple con sus especificaciones formales.
Validación
Consiste en comprobar que un elemento satisface las necesidades
Comentarios de: Apuntes de INGENIERÍA DEL SOFTWARE (0)
No hay comentarios