Está en la página 1de 29

Ingeniería de Software II

Lic. Mario Alfredo Guevara


¿Cuáles son los atributos de un buen software?
• El software debe tener la funcionalidad
y el rendimiento requeridos por el usuario,
además de ser mantenible confiable y
utilizable.

Lic. Mario Alfredo Guevara


Factores que influyen en la calidad y productividad del
sistema

1. Capacidad individual 8.Control de cambios


2. Entendimiento del 9.Notación Adecuada
problema 10.Entrenamiento
3. Comunicación del Adecuado
grupo 11.Habilidades
4. Complejidad del administrativas
producto
5. Habilidades necesarias
6. Facilidades y recursos
7. Metas no adecuadas
Lic. Mario Alfredo Guevara
Problemas del software
• Insatisfacción del cliente por falta de una buena
definición de los requerimientos.
• De cada 6 proyectos de software, 2 son
abandonados.
• Millones de dólares son gastados en proyectos de
software que nunca serán utilizados.

Lic. Mario Alfredo Guevara


Problemas del software

• Muchos sistemas no son presentados en las fechas


especificadas. Cuando hay contratos establecidos, los
costos en intereses pueden ser muy elevados.
• No se tienen datos históricos sobre el proceso de
desarrollo de software. No se pueden hacer buenas
estimaciones.

Lic. Mario Alfredo Guevara


Problemas del software

• No se puede evaluar con precisión la eficacia de las nuevas


herramientas, técnicas o estándares.
• La Tecnología de la Información representa más del 40%
de los gastos en países desarrollados.
• Los mercados de desarrollo de software invierten muchos
millones de dólares en recursos humanos y financieros.

Lic. Mario Alfredo Guevara


Análisis y Definición de Analista
Requerimientos

Diseño del Sistema Diseñador

Paso en el Desarrollo de Software


Diseño del programa
Programador

Roles de los Desarrolladores


Implementación del
programa

Prueba Unitaria
Tester

Prueba de Integración

Prueba del Sistema

Liberación del Sistema


Capacitador
Mantenimiento
Lic. Mario Alfredo Guevara
Cambios y Tendencias

Tecnología de Objetos Problemas con


Modelo en Cascada

CAMBIOS EN
INGENIERIA DE
Desktop computing
SOFTWARE Tiempo para
salir al mercado

Inversión de relación Interfaces


de costo entre HW y SW Interconexión
Gráficas
en Redes
Lic. Mario Alfredo Guevara
Cambios y Tendencias

Lic. Mario Alfredo Guevara


Abstracción

1. Es una descripción del problema a cierto nivel de


generalización que permite concentrarnos en los aspectos
esenciales del problema sin preocuparnos de detalles.
2. Identificar clases de objetos que permiten agrupar
elementos.
3. Formar jerarquías.

Lic. Mario Alfredo Guevara


Abstracción

Dispositivo eléctrico

Sensor

Sensor de Agua Sensor de Aire

Lic. Mario Alfredo Guevara


Prototipos

•Construir una pequeña versión de un sistema


para
•Ayudar al usuario y al cliente a identificar los
requerimientos clave.
•Demostrar la factibilidad de un diseño o
enfoque.
•¿El usuario se siente cómodo con la apariencia y
forma de interacción?
Lic. Mario Alfredo Guevara
Arquitectura

1. La arquitectura de un sistema lo describe en términos de


un conjunto de unidades arquitectónicas y de cómo esas
unidades se relacionan entre sí.
2. Existen distintos “estilos arquitectónicos” y distintos
enfoques para identificar las unidades arquitectónicas.

Lic. Mario Alfredo Guevara


Arquitectura de una casa
1.Para construirla en
forma eficiente se
precisa un equipo
•Requiere
1.Modelado
2.Procesos bien
definidos
3.Herramientas
especializadas

Lic. Mario Alfredo Guevara


Definiciones de arquitectura
• El arte o ciencia de la construcción de edificios para uso humano
• La acción o proceso de construir
• El “estilo” en los detalles de la estructura y la ornamentación
• La estructura conceptual y la organización lógica de una computadora
o de un sistema basado en computadoras, desde el punto de vista de
su uso o diseño; una realización particular de esto.

Lic. Mario Alfredo Guevara


Arquitectura- ¿cómo descomponer?

1. A partir de las funciones: asignar funciones a módulos.


2. Orientada a los datos: a partir de las estructuras de datos externas.
3. Orientada a eventos.
4. Diseño de afuera hacia adentro: basada en las entradas del usuario
al sistema.
5. Diseño orientado a objetos: basado en identificar clases de objetos y
sus interrelaciones.

Lic. Mario Alfredo Guevara


La arquitectura del software es
diferente
•No hay reglas equivalentes a • Adaptabilidad, evolución
las de la física • Bajos costos de replicación y
• Es necesario definir reglas distribución
• No es tangible
• Hay que hacer modelos
• Es compleja
•Muchos estados!
• Cambios en los
requerimientos y la
tecnología
Lic. Mario Alfredo Guevara
Definiciones de arquitectura de software
1.La arquitectura del Software es la organización fundamental del sistema que incluye a
sus componentes, sus relaciones entre ellos y el ambiente y los principios que dictan
su diseño y evolución.
2.Involucra un conjunto de decisiones significativas acerca de la organización del
sistema.
3.Selección de sus elementos estructurales y sus interfaces.
4.Comportamiento, especificado en función de la colaboración de los elementos.
5. Composición de sub-sistemas mas grandes a partir de elementos estructurales y
elementos con comportamiento.

Lic. Mario Alfredo Guevara


La arquitectura de software también involucra:
• Funcionalidad • Aspectos estéticos
• Usabilidad • Patrones
• Tolerancia a cambios
• Performance(rendimiento)
• Reutilización
• Restricciones económicas y
tecnológicas
• (equilibrio)

Lic. Mario Alfredo Guevara


Proceso
• Proceso de desarrollar software (organización y
disciplina en las actividades).
• Contribuir a la calidad del software y a la velocidad
con la que se desarrolla.

Lic. Mario Alfredo Guevara


Reuso
• Sacar partido de los elementos comunes entre
aplicaciones reutilizando elementos de desarrollos
previos.
• Componentes Reusables como bienes de activo del
negocio.

Lic. Mario Alfredo Guevara


Mediciones
• Cuantificando dónde estamos y lo que
podemos, describimos nuestras acciones y sus
resultados en un lenguaje matemático común
que nos permite evaluar nuestro progreso.

Lic. Mario Alfredo Guevara


Herramientas y Ambientes Integrados

• Utilizar herramientas para mejorar el desarrollo de software,


ayudan en:
• Análisis y diseño
• Registrar el avance
• Depurar programas
• Probar programas

Lic. Mario Alfredo Guevara


¿Cuáles son los costos de la ingeniería del software?

• A grandes rasgos, el 60 por ciento de los costos


son de desarrollo, el 40 por ciento restante son de
pruebas En & caso del software personalizado, los
costos de evolución a menudo exceden los de
desarrollo

Lic. Mario Alfredo Guevara


• Se debe recordar que muchas veces el
software está diseñado para hacer cambios en
el entorno, pero para poder desarrollar software
que impacte y que sea funcional se debe
considerar factores humanos y organizacionales.

Lic. Mario Alfredo Guevara


A continuación, se mencionan algunos cambios que impactan
en el desarrollo del software:
•Cambios en el proceso
• Muchas veces si los cambios en el proceso son
significativos, es importante considerar que si habrá
personas que pierdan su trabajo, existe el peligro que haya
resistencia al cambio. (resistencia al uso del sistema).

Lic. Mario Alfredo Guevara


A continuación, se mencionan algunos cambios que impactan en el desarrollo del
software:

•Cambios en el trabajo
• Muchas veces se encuentra que los cambios en el trabajo o
en la forma en cómo se hacen las cosas, impactan en
documentos, procedimientos, reglas, etc.

Lic. Mario Alfredo Guevara


A continuación, se mencionan algunos cambios que impactan en el desarrollo del
software:

•Cambios organizacionales
• Un elemento importante es que los sistemas llegan a dar
un gran poder, por ejemplo, aquellos que dominen más un
software se hacen siempre requeridos en las empresas.

Lic. Mario Alfredo Guevara


Preguntas de Apoyo
• Brinde al menos una definición de Ing. de software (IS)
• ¿Cuántos años tiene como disciplina?
• ¿Con qué otras disciplinas está relacionada?
• ¿Qué se entiende por “crisis del software”?
• ¿Cómo afecta a la IS que el software esté presente en las más
diversas áreas?
• ¿Qué implicancias tiene la IS sobre la ética y responsabilidad?
• ¿Qué relación tiene la IS con cuestiones legales?
• ¿Cuál es la diferencia entre falta (o defecto) y una falla del software?

Lic. Mario Alfredo Guevara

También podría gustarte