Вы находитесь на странице: 1из 9

Presentacion

Introduccion

Instructora:
Jocelyn Simmonds (Oficina A-137)
jsimmond@inf.utfsm.cl (con subject: ILI-236: . . . )

Fundamentos de Ingeniera de SW

Ayudante:
Celeste Bertin

Jocelyn Simmonds

Horario
Clases: Ju 3-4 (B-004) & Vi 5-6 (B-003)
Ayudanta: horarios por definir

ILI-236 (JS)

Intro

1 / 33

Administrivia

resueltos por grupos de 3 alumnos


cambios de equipo deben ser informados al profesor y ayudantes

Evaluacion
2 Certamenes (CE): 30 % c/u
Tareas (informes + presentaciones) (CA): 40 %

Clases regulares

teora + ejercicios

Ayudantas
uso de herramientas, ejercicios, etc.

2 / 33

Modus Operandi
I

Intro

Administrivia

Basado en tareas

ILI-236 (JS)

Prerrequisito

Notas mnimas
Nota final 55
Promedio certamenes 50

if (CE<50) then NF=CE else NF=60 %*CE+40 %*CA

Programacion OO

ILI-236 (JS)

Intro

3 / 33

ILI-236 (JS)

Intro

4 / 33

Calendario

Objetivos y Diseno

Certamenes regulares y examen

Desarrollar habilidades de comprension, aplicacion y reflexion de


conceptos, tecnicas y herramientas en Analisis y Dise
no Orientados a
Objetos
Lograr aplicar conceptos, tecnicas y herramientas de Analisis y Dise
no
durante el desarrollo de un sistema de software

Certamen 1: 21/nov
Certamen 2: 16/ene
Examen: 17/ene
I

La rendici
on del examen no requerira la justificacion de inasistencias,
sin embargo este sera hecho en base a los contenidos de todo el
semestre y s
olo reemplazara un certamen no-rendido.

Intro

Dise
no del Curso
Basado en tareas resueltos por grupos
Iterativo incremental

Si alguien rindio los dos certamenes pero esta reprobando por


certamenes, podra dar el recuperativo, pero en forma aprobativa.

ILI-236 (JS)

Objetivos del Curso

I
I

5 / 33

Agregando complejidad al caso


Agregando conceptos, tecnicas y herramientas que pueden usar para
enfrentar el problema y crear una soluci
on de software

ILI-236 (JS)

Intro

6 / 33

Que es Software?

Que es Software?
I Software no son s
olo los programas que utilizamos

Introduccion

c
odigo fuente NO es lo u
nico que debemos generar
I

ILI-236 (JS)

Intro

7 / 33

Los modelos que describen el problema que resuelven, como fue


resuelto, los datos del programa y la documentacion para ocupar,
instalar o administrar los programas tambien son software

ILI-236 (JS)

Intro

8 / 33

Ejemplo Domestico

Ejemplo Domestico

Una situaci
on cotidiana
I

El software se desarrolla para satisfacer una necesidad

Veamos como un especialista en una materia satisface una necesidad


Ahh . . . los Monitos son de
papel . . . de plastico?

Marlon, Gasfiter
Hola Se
nora, cuenteme cual es
su problema?

ILI-236 (JS)

Juanita, Se
nora Estandar
Hola joven, sabe que el Yeison
estaba jugando con los monitos
en el lavaplatos y ahora el agua
no se va
Intro

De plastico joven, como el Max


Steel ese

Comprendo Se
nora, entonces usted necesita desbloquear la obstruccion
del conducto evacuador del lavaplatos, que es producido por un elemento
solido
9 / 33

ILI-236 (JS)

Intro

10 / 33

Ejemplo Domestico

Que ha hecho Marlon?


Marlon ha escuchado las necesidades de la Sra. Juanita
Marlon ha preguntado lo que necesita, para saber la gravedad del
problema
Marlon ha abstrado elementos no importantes del problema (no le
importan Yeison ni Max Steel)
Basado en lo anterior, Marlon ha descrito lo que necesita la Sra.
Juanita

Y lo puede arreglar, joven?

Por supuesto, Se
nora

Marlon ha Analizado el Problema y lo que necesita la Sra. Juanita


Voy a tener que hacer un corte en el conducto a 10 cm del lavaplatos y
otro a 20 cm del suelo para sacar el elemento, y luego volvere a poner el
mismo tubo. Por u
ltimo sellare todo con silicona.
ILI-236 (JS)

Intro

11 / 33

ILI-236 (JS)

Intro

12 / 33

Ejemplo Domestico

Ejemplo Domestico

Que ha hecho Marlon?


Marlon ha pensado en como resolver el problema
Marlon ha pensado en que puede reutilizar en su soluci
on propuesta
(podra haber usado otro tubo y cobrar mas, pero el sabe que con el
mismo funciona, y Marlon es muy etico)
Marlon ha descrito su solucion en terminos de los elementos que
intervienen en la solucion

Marlon ha Dise
nado una Solucion

Voy a entrar a Picar


Marlon esta Implementando la Solucion

ILI-236 (JS)

Intro

Ejemplo Domestico

Listo Se
nora, pruebe nomas, lo
probe y funciona

ILI-236 (JS)

13 / 33

Intro

14 / 33

Ejemplo Domestico

Que ha hecho Marlon?


Marlon ha probado su solucion
Marlon ha ofrecido sus servicios para una eventual mantencion de la
soluci
on

Funciona perfecto, joven!

Muy bien Se
nora, esta es mi tarjeta, cualquier problema con el arreglo me
avisa
ILI-236 (JS)

Intro

15 / 33

ILI-236 (JS)

Intro

16 / 33

Ejemplo Domestico

En resumen:
Marlon
Marlon
Marlon
Marlon
Marlon

Como hacemos SW?

analizo el Problema requisitos


dise
no la Solucion dise
no
implemento la Solucion sistema/programa
probo la Solucion certeza
ofrecio realizar la mantencion de la Soluci
on

El enfoque usado por Marlon es adecuado tambien para resolver un


problema de software
Alguna crtica hacia Marlon?

I
I

tal vez la Sra. Juanita no se convenza de que el entendi


o el problema
tal vez la Sra. Juanita no entiende como lo va a resolver

ILI-236 (JS)

Intro

17 / 33

Como hacer SW?

Intro

18 / 33

Hay tecnicas para analizar y describir ambas perspectivas?


S!
El c
omo analizar un problema de informacion y luego, dise
nar el
software a construir es parte de la Ingeniera de Software (ISW)

Como analizamos un problema de negocio?


Abstrayendo lo importante de lo insignificante (seg
un nuestro objetivo):
Modelando
Entendiendo el mundo (dominio del problema) desde constructos
basicos comunes

C
omo interact
uan con su entorno (formularios, software, personas,
m
aquinas) para llevar a cabo su pega?

Para la perspectiva estatica:


De que hablan estas tareas? Que datos manejan?
I

ILI-236 (JS)

Tareas (pegas): Que actividades que agregan valor desde el punto de


vista de la informacion pueden distinguir?
Roles: Quienes hacen las pegas?Con quienes interact
uan para hacer
su pega exitosamente?

. . . Solos? quizas en grupos peque


nos
Problema: El software moderno . . .

Como hacer SW?

Como hemos intuido en el analisis del caso hay principalmente dos


perspectivas:
I Perspectiva Din
amica:

Tratamos de entender lo que nos piden


Ideamos una solucion
Construimos la aplicacion
Probamos la aplicacion (lo hacemos?)
Dejamos la tarjeta ,
Es mas difcil de entender y resolver; es complejo, quizas con
sub-partes especializadas
Requiere de plazos mas extensos para ser resuelto
Tpicamente requiere equipos, no individuos aislados
Se deben generar productos intermedios en el desarrollo

El uso de lenguaje excesivamente tecnico


I

Sabemos hacer software?

Identificar Personas, lugares, organizaciones, cosas, eventos, formularios


o papeles, tr
amites y/o registros acerca de las que usted habl
o en la
descripci
on de las pegas

I
I
I

C
omo comienza a entender el mundo una guagua?
R1: Caaaaasaaaa peeeerrroooo
R2: Identificando Objetos (y sus relaciones)

Hay relaciones especiales entre ellos (todo-partes y conceptos similares


pero que sean mas especficos o generales que otros)?
ILI-236 (JS)

Intro

19 / 33

ILI-236 (JS)

Intro

20 / 33

Como hacer SW?

Historia
1 programador-usuario
Problema simple
Codificar-corregir

Inicialmente
En este curso hablaremos de . . .
I
I

Ingeniera de Software (ISW)


Tecnicas de analisis y dise
no
Orientacion a objetos (OO)
I
I

El desarrollo de software era tarea de una sola persona.

El problema (de tipo cientfico o ingenieril) estaba bien acotado y


bien comprendido.

Generalmente, el usuario final (cientfico o ingeniero) era el mismo


programador, quien desarrollaba software para apoyar su propio
trabajo.

La aplicaci
on era mas bien simple y el desarrollo se reduca a la
codificacion en un lenguaje, tpicamente de bajo nivel.
El modelo usado era de codificar-corregir:

Este
ser
a el foco de nuestro curso
Trabajaremos con tecnicas para hacer an
alisis y dise
no OO

Escribir el codigo; y revisar y eliminar los errores o mejorar/aumentar la


funcionalidad.
ILI-236 (JS)

Intro

21 / 33

Historia

1 programador-usuario
Problema simple
Codificar-corregir

ILI-236 (JS)

Intro

22 / 33

Historia

Mejor HW
PC masificado
Problemas mas complejos

1 programador-usuario
Problema simple
Codificar-corregir

Mejor HW
PC masificado
Problemas mas complejos

Mantenci
on de SW
Demanda por calidad

Mas tarde:

Luego:
I

El hardware aumento sus capacidades y disminuyo sus costos

Paso a haber una gran masa de software pre-existente

Se ampli
o el ambito de aplicaciones y se masifico el uso de
computadores.

Aparece un problema a
un mayor: mantener los sistemas.

Usuarios-programadores ya no manejan todo el proceso de SW

Se incursion
o en areas donde los problemas no estaban bien acotados
(p.ej. administrativos) y el desarrollo se torno mas complejo.

Surgen demandas por mayor calidad y confiabilidad de las


aplicaciones y del proceso de SW.

ILI-236 (JS)

Intro

23 / 33

ILI-236 (JS)

Intro

24 / 33

Historia

Crisis del Software

1 programador-usuario
Problema simple
Codificar-corregir

Mejor HW
PC masificado
Problemas mas complejos

Mantenci
on de SW
Demanda por calidad

Grupos de desarrollo
Calidad

Finalmente:
I

El desarrollo se convierte en una actividad de grupo

Exige planificar, organizar y estructurar el trabajo en torno a


proyectos.

La comunicacion entre humanos (usuario-desarrollador y


desarrollador-desarrollador) se convierte en un problema.

Problemas identificados:
I

Los proyectos no terminaban en plazo.

Los proyectos no se ajustaban al presupuesto inicial.

La calidad del software generado era baja.

Software no cumpla con las especificaciones.

El codigo era inmantenible dificultaba la gestion y evolucion del


proyecto.

Crisis del software a fines de los 60

ILI-236 (JS)

Intro

25 / 33

Crisis del Software

Problemas actuales

26 / 33

Intro

Objeto de estudio
Construccion sistematica, eficaz y eficiente de software eficaz y eficiente

A quien le importa (o debiera importarle)


Organizaciones que deben vivir y prosperar haciendo software
Profesionales que participaran en tales organizaciones
Gestores que administraran tales organizaciones y profesionales

OJO! SW funciona muchas veces tambien . . . pero a


un se debe
mejorar

ILI-236 (JS)

Intro

Ingeniera de Software (ISW)

Carencia de informacion respecto a que se hace


Insatisfaccion relativa de clientes y usuarios
Calidad sospechosa
Mantencion difcil y costosa
Insatisfaccion de la demanda
I

ILI-236 (JS)

27 / 33

ILI-236 (JS)

Intro

28 / 33

Ingeniera de Software

Proceso de software

Propuesta de la disciplina

El proceso de desarrollo a la antigua, como caja negra.

enfoque ingenieril
sistematizar y transmitir experiencia
I

Ingeniera de Software
Establecimiento y uso de principios con caracteres de ingeniera
apropiados para obtener, eficientemente, software confiable, que opere
eficaz y eficientemente en maquinas reales
Concepto creado en 1968, en una Conferencia de la OTAN, para
enfatizar el uso de filosofas y paradigmas de disciplinas ingenieriles
establecidas para resolver la mtica crisis del software

ILI-236 (JS)

Intro

ILI-236 (JS)

29 / 33

Proceso de software

Intro

30 / 33

Actividades de desarrollo
Estrategias de Desarrollo

El proceso de desarrollo como se concibe ahora.

I
I

Las actividades para el desarrollo de software pueden ser organizadas


de acuerdo a distintas estrategias, conocidas como Modelos de
Proceso o Paradigmas de Desarrollo
Version simplista
Especificacion Dise
no Validacion Evolucion [Ian Sommerville]

Pero hay mas actividades para hacer Software

Formalizar las actividades en un Proceso de Desarrollo


Administrar cambios y versiones de los productos de trabajo (Gestion
de la configuracion)
Gestionar, planificar y medir la ejecucion del desarrollo
Obtener, desarrollar o adaptar herramientas y metodos para el
desarrollo
Asegurar la Calidad del Software

ILI-236 (JS)

Intro

31 / 33

ILI-236 (JS)

Intro

32 / 33

ISW

Objetivos
Maximizar calidad (de procesos y productos)
Maximizar productividad (de procesos y productos)
Minimizar riesgos (de procesos y productos)

Entonces necesitamos
constructores basicos mas poderosos
mejores tecnicas de control de calidad
mejores herramientas y metodos
mejores procesos

ILI-236 (JS)

Intro

33 / 33

Вам также может понравиться