Present Ac I Pon

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 37

SOFTWARE

Conjunto de:
• Programas

• Procedimientos

• Reglas

• Documentación

• Datos
Software, en general, es un set de
programas y la documentación
que acompaña.
Existen tres tipos básicos de software.
Estos son:
Software de Sistemas
Utilitarios
Software de Aplicación

3
¿Qué es la Ingeniería de Software?

• Una definición aproximada y simplificada...


– Se ocupa de construir un producto de software de buena
calidad lidiando con las múltiples restricciones (tiempo,
presupuesto, y otros...)
• Sus dos problemáticas fundamentales son:
– Lidiar con la escala y complejidad de sistemas de
software.
– Identificar que significa buena calidad y luego lograrla
• Requiere (como todas las ingenierías)
– Rigor, creatividad, documentación y gestión.

Ingeniería de Software I – FCEN - UBA


La ingeniería del software es una de las disciplinas modernas de la
ingeniería. Su principal interés es permitir el crecimiento de las industrias
digitales garantizando la estabilidad para los desarrollos de sistemas de
software. Es aquí donde es importante conocer y definir qué es el software,
entendido como algo intangible, no material, pero sí necesario para cada
proceso actual desarrollado.
El software es definido como las instrucciones utilizadas de manera
detallada para controlar los procesos y el funcionamiento de un sistema de
cómputo.
Las principales funciones de un software están definidas para controlar y
administrar los recursos físicos computacionales denominados hardware; a
su vez, tiene la responsabilidad de distribuir el rendimiento de estos
recursos para sacar el máximo provecho de cada elemento que integra un
ordenador. El software también se convierte en el intérprete de información
almacenada en equipos de cómputo de los usuarios.
Principales tipos de software
Es importante contar con una clasificación y la mejor manera es de acuerdo a su
funcionabilidad, por lo que presentaremos una breve descripción de las categorías
más relevantes. Cada uno de sus componentes y elementos son influyentes para el
funcionamiento del software.
De acuerdo a esto decimos que la ingeniería de software no es una actividad aislada
sino que es parte de un proceso de ingeniería de sistemas más amplio.
Por lo tanto, los sistemas de software no son sistemas aislados sino que son
componentes esenciales de sistemas más amplios que tienen un propósito humano,
social u organizacional.
Pero… entonces…
• ¿De donde salen las pre-post condiciones?
• ¿Cómo expresamos requerimientos que transcurren en
tiempo?
• ¿Cómo describir procesos qué requieren de la
aplicación de varias operaciones?
• ¿Cuál es la pre y post condición para un sistema de
despachos de taxis?
• ¿Qué pasa si tengo que modificar en vez de desarrollar?

Ingeniería de Software I – FCEN - UBA


Ingeniería de Software
- Algunas Definiciones -

Ingeniería de software es la aplicación de un acercamiento


sistemático, disciplinado y cuantificable al
Desarrollo, operación y mantenimiento de software,

IEEE Standard Glossary of Software


Engineering Terminology, IEEE std 610.12-1990

No es solo desarrollo

Ingeniería de Software I – FCEN - UBA


Ingeniería de Software
- ¿Qué temas abarca? -

La disciplina Ingeniería de Software de engloba


é para definir los
requerimientos de software, y llevar a cabo el diseño del
software, su construcción, testing y tareas de mantenimiento,
La ingeniería de software también se basa en el conocimiento de
otros campos como la ingeniería en computación, ciencias
informáticas, matemáticas, administración de proyectos , Interdisciplinario
.
administración de la calidad, e ingeniería de sistemas.

The Software Engineering Body


of Knowledge, IEEE CS and ACM
Disciplinas Técnicas

Disciplinas de Gestión

Disciplinas de Soporte
• Requerimientos • Planificación de • Gestión de
• Análisis y Diseño Proyecto Configuración
• Construcción • Monitoreo y de Software
• Prueba Control de • Aseguramiento
Proyectos de Calidad
• Despliegue
• Métricas
Controlar
Diseñar Configura-
ción

Estimar Planificar

Recolectar
Requeri-
mientos
Desarrollar
Software Programar

Revisar
Técnica- Probar
mente
Monitorear
y Controlar
Desarrollar Software
Proceso: La secuencia de pasos
ejecutados para un propósito dado
(IEEE)
Proceso de Software: Un conjunto B
de actividades, métodos, A D
prácticas, y transformaciones que C
la gente usa para desarrollar o
mantener software y sus
productos asociados (Sw-CMM) Procedimientos y métodos

Personas con
habilidades,
entrenamiento y PROCESO
motivación
Herramientas y
Equipos
14
Asume que podemos
repetir el mismo proceso
una y otra vez,
indefinidamente, y obtener
los mismos resultados.
La administración y control
provienen de la
predictibilidad del proceso
definido.

15
El conocimiento empírico
es aquel basado en la
experiencia

 Asume procesos complicados con variables


cambiantes. Cuando se repite el proceso, se
pueden llegar a obtener resultados
diferentes.
 La administración y control es a través de
inspecciones frecuentes y adaptaciones
 Son procesos que trabajan bien con
procesos creativos y complejos.

16
Para la Ingeniería de Software el
paradigma es una agrupación de
métodos, herramientas y
procedimientos con el fin de describir
u modelo.
Un "paradigma" es un modelo
para comprender la realidad, que nos
permite relacionarnos con el mundo
circundante y tener un sentido de
identidad dentro de lo que percibimos
que es "el mundo real".
• Analizar un aspecto del problema a
Modelo resolver o artefacto a construir para
lograr mayor confianza
Sirve para • Comunicar en forma precisa aspectos
del problema y la solución a otros

Los modelos • Son significativamente más barato de


son construir que el sistema
efectivos • Permiten detectar errores y falencias
tempranamente
porque

Ingeniería de Software I – FCEN - UBA


Modelos y Diagramas

• Un modelo captura una vista de un sistema del mundo


real. Es una abstracción de dicho sistema,
considerando un cierto propósito. Así, el modelo
describe completamente aquellos aspectos del sistema
que son relevantes al propósito del modelo, y a un
apropiado nivel de detalle.

• Diagrama: una representación gráfica de una colección


de elementos de modelado, a menudo dibujada como
un grafo con vértices conectados por arcos.

Ingeniería de Software I – FCEN - UBA


Modelos y Diagramas

Un proceso de desarrollo de software debe


ofrecer un conjunto de modelos que permitan
expresar el producto desde cada una de las
perspectivas de interés

El código fuente del sistema es el modelo más


detallado del sistema (y además es ejecutable).
Sin embargo, se requieren otros modelos ...

Cada modelo es completo desde su punto de


vista del sistema,sin embargo, existen
relaciones de trazabilidad entre los diferentes
modelos
Ingeniería de Software I – FCEN - UBA
Modelo

El modelo es conocimiento depurado

Ingeniería de Software I – FCEN - UBA


Conocimiento implícito y explícito
El conocimiento sobre un proyecto está fragmentado, repartido entre
muchas personas y documentos, y está mezclado con otra información
de tal manera que ni siquiera conocemos cuáles son los fragmentos de
información que realmente necesitamos.

este conocimiento puede es en gran medida personal y muy


explícito:

implícito:
Conocimiento

Conocimiento
difícil de formalizar, dificultando
expresarse en palabras y mucho la comunicación o el ser
números y compartido en la compartido por otros.
forma de datos, fórmulas Los pálpitos subjetivos, las
científicas, especificaciones, intuiciones, los presentimientos caen
dentro de esta categoría.
manuales, etc. Puede Es difícil de verbalizar, dado que
transmitirse entre las está íntimamente enraizado en las
personas formal y acciones y experiencias de una
sistemáticamente persona, además de los ideales,
valores o emociones que esa persona
pueda adoptar.

Ingeniería de Software I – FCEN - UBA


Conocimiento implícito y explícito
Relación -de acuerdo a varios autores- entre conocimiento tácito y explícito

10% Conocimiento
visible, comunicable,
formalizable (Explícito)

90% Conocimiento
oculto, ligado a la
experiencia
(Implícito)
El proceso de software
El objetivo principal de la ingeniería de software es desarrollar métodos
para sistemas grandes, que ayuden a los desarrolladores a obtener
software de alta calidad en un tiempo mínimo y a bajo costo. Por lo
tanto, es esencial realizar el desarrollo de software en fases.
De acuerdo a la IEEE 1074, los procesos de ciclo de vida de software se
presentan de la siguiente manera:
• Análisis de los requisitos del software
• Diseño
• Desarrollo
• Pruebas
Dentro de las etapas de la ingeniería de software se presentan tres
variables que conllevan a presentar algunas limitaciones las cuales
ayudan a tomar la decisión de continuar o no.
Estas tres variables son: técnica, tiempo y presupuesto, tal y como se
explica en el video principal de esta pantalla.

https://www.youtube.com/watch?v=NNdvDHlXoCE
El proceso de software
Modelos de proceso del software
El desarrollo de un sistema de software está enmarcado por los recursos, el
tiempo y un conjunto de requerimientos.
La descripción de un proceso del software es la representación o visión del
mismo. Los modelos pueden incluir actividades que son parte de los procesos
y productos de software y las personas involucradas en la ingeniería
del software.
El ciclo de vida del software está conformado por un conjunto de etapas que
involucran métodos y técnicas de la ingeniería de software para su
producción, a continuación se presenta cada uno de los modelos mas
utilizados en la industria del software.
Un ciclo de vida de software es un
representación de un proceso. Grafica una
descripción del proceso desde una
perspectiva particular
Los modelos especifican
 Las fases de proceso.
 Ejemplo: requerimientos,
especificación, diseño…
 El orden en el cual se llevan a cabo
29
Hay tres tipos básicos de Ciclos
de Vida
Secuencial
Iterativo/Incremental
Recursivo

30
100% Secuencial

Requerimientos Arquitectura Desarrollo Test

100% Iterativo

31

También podría gustarte