CONCEPTOS BASICOS DE INGENIERIA DE SOFTWARE
al equipamiento lógico o soporte lógico de
una computadora digital;
incluyen,las
aplicaciones informáticas; tales como el procesador de textos
conjunto organizado de partes interactuantes e
interdependientes, se relacionan formando un todo unitario
Un cambio en una de las unidades del sistema,
Es la tendencia de los sistemas a desgastarse,
Tipos de Sistemas
Un sistema es estable cuando se halla formado o dominado por un
bucle negativo.
clasificacion de sistemas
La clasificación de un sistema al igual que el análisis de los aspectos del
mismo es un proceso relativo
Abiertos: Sistemas que intercambian materia, energía o información con
el ambiente.
Cerrado: Sistemas que no intercambian materia, energía o información
con el ambiente
SEGÚN SU NATURALEZA
Abstractos: Sistemas simbólicos o conceptuales
Concretos: Sistema físico o tangible.
SEGÚN SU ORIGEN
Naturales: Sistemas generados por la naturaleza.
Artificiales: Sistemas que son productos de la actividad humana, son
concebidos y construidos por el hombre.
Ciclo de vida de un proyecto de software
Consta de los siguientes procedimientosc
Definición de objetivos
Análisis de los requisitos y su viabilidad
- Diseño general
Diseño en detalle
- Programación
- Prueba de unidad
Integración
- Prueba beta
Documentación
Mantenimiento
Planificación y gestión del proyecto
2 Determinación de requerimientos
Análisis y diseño
programacion
5 Pruebas e Implementación
Definición de Ingeniería:
Historia de la ingeniería de software
“la aplicación inteligente de principios
probados, técnicas, lenguajes y herramientas para la creación y mantenimiento,
dentro de un coste razonable,
Mitos del software
Son creencias acerca del software y de los procesos empleados para
construirlo
Las Cuatro Capas de La ingeniería de software
1.- Un enfoque de Calidad, 2.- Procesos, 3.- Métodos, 4.- Herramientas
Definición de ingeniería de software
Características del software
El software se desarrolla, no se fabrica en un sentido clásico.
b.-El software no se estropea.
c.-La mayoría de software se construye a medida, en lugar de ensamblar
componentes existentes
Capas de la ingeniería de software
El fundamento de la ingeniería de software es la capa del proceso. El
proceso de la ingeniería de software es la unión
El proceso del software
Actividades requeridas para desarrollar un sistema de software.
1.- Especificación, 2.- Diseño, 3.- Validación, 4.- Evolución
Características del proceso de software
Entendible:
Visible
Soportable
Aceptable
Confiable
Robusto
Mantenible
Rapidez
Problemas
Software de alta calidad
Las inspecciones de software surgen a partir de la necesidad de producir
software de alta calidad
El control de la calidad
es una serie de revisiones, y pruebas utilizados
a lo largo del ciclo del desarrollo
La principal meta de un equipo desarrollador de software debería ser
siempre producir software catalogado como de alta calidad
MODELO DE CAPACIDAD DE MADUREZ
Nivel 0: Incompleto
Nivel 1: Realizado
Nivel 2: Administrado
Nivel 3: Definido
Nivel 4: Administrativo en forma cuantitativa
8 Factores de calidad y productividad
La calidad del software desarrollado, así como la productividad del
programador son factores de difícil pero no imposible medida.
Utilización de una notación adecuada
Este factor es de gran importancia para facilitar la comunicación entre las
partes involucradas (incluido el usuario).
Es importante que se empleen técnicas que sean de amplio consenso y bien
conocidas por los integrantes del equipo de desarrollo
Este factor esta vinculado a otros anteriores, ya que es básico conocer el
tiempo
Este factor, es determinante
en la medida en que se conozcan productos o herramientas (automáticas o no)
PARADIGMAS DE LA INGENIERÍA DE SOFTWARE.
Paradigma
Métodos
Herramientas
El enfoque estructurado
En el Enfoque Estructurado se usan los DFD (Diagramas de Flujos de Datos)
como principal herramienta para entender al sistema antes de plasmarlo
Diagramas de flujos de datos
Los componentes de un Diagrama de Flujo son*Proceso *Flujo *Almacén *Terminador
Diccionarios de datos
CONTENIDO DEL DICCIONARIO DE DATOS
Nombre
Alias
Definición
Descripción
Dónde se usa/cómo se usa
Descripción del contenido
Diseño de módulos.
Unidad de diseño que presenta una división de
Software clara y manejable con sus interfaces definidas
Criterios del Diseño Modular.
El objetivo principal del diseño estructurado es desarrollar una estructura de
programa en la que queden bien definidas las divisiones
Conceptos de División
Abstracción
1.- De procesos 2.-De datos 3.-De control.
Modularidad: División del Software en elementos con función propia
distinguibles de otros que se comunican e intercambian información
Diseño estructurado
Nos da una guía para modularizar un problema
Consistencia en el DFD
Jerarquía de DFD's:
c
En un DFD completo cada proceso tiene un número único que lo
identifica en función de su situación en la jerarquía
Descomposición en procesos.
En ellos,
se detallará la entrada y salida que tenga, además de la descripción asociada
que explique lo que realiza
cuatro niveles de descomposición de diagramas.
Nivel 0: Diagrama de contexto
Nivel 1: Subsistemas
Nivel 2: Funciones de cada subsistema
Nivel 3: Subfunciones asociadas
Nivel 4: Procesos necesarios para el tratamiento de cada subfunción
Entiende todo proceso como un : “CONJUNTO DE TAREAS LOGICAMENTE
RELACIONADAS QUE EXISTEN PARA OBTENER UN RESULTADO BIEN
DEFINIDO DENTRO DE UN NEGOCIO”.
El Enfoque Orientado a Objetos
La orientación a objetos puede describirse como el conjunto de disciplinas que
desarrollan y modernizan software
Un objeto
es la instancia de una clase. Una clase es la representación
abstracta de un concepto en el mundo real
Todos los objetos están compuestos de tres cosas:
Interfaz
Implementación:
Estado
1 Análisis
El modelo de análisis se extiende luego para describir la manera en que
interactúan los actores y el sistema
Conceptos de análisis
Estas capas dan mayor poder a la representación de la complejidad del
análisis y el diseño en sistemas flexibles
Capa Clase/Objeto
Capa de Estructura
- Capa de Atributos:
Capa de Servicios
5.- Capa de Tema
Para representar las clases, los objetos y las clases objetos, se utiliza la
siguiente notación
Los objetos que tienen ocurrencia de una clase son representados por un
cuadro sombreado rodeado por la clase
Diseño
Especificación de servicios:
Selección de componentes
Reestructuración del modelo de objetos
Optimización del modelo de objetos
El enfoque plantea que el análisis es razonablemente independiente de la
tecnología, en cambio el diseño viene a ser entonces cada vez más orientado
hacia un lenguaje OO particular y a un ambiente de desarrollo.
Procedimientos
Nivel 5: Mejorado
Un sistema es inestable cuando el bucle es positivo
Es el equilibrio dinámico entre las partes del sistema