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

Materia: INGENIERIA DE SOFTWARE I

Lic. Angela Mara Gimnez Armbulo San Lorenzo, Paraguay 2011

FACULTAD POLITCNICA CARRERA DE INGENIERA INFORMTICA

Agenda
Presentaciones iniciales. Desarrollo de las clases: Metologa de clases Contenido programtico La Materia: Justificacin en la carrera, Objetivos a alcanzar Historia de la Ingeniera de Software Principios de la Ingeniera de Software Software su naturaleza y cualidades El MODELADO en la Ingeniera de Software Conformar los equipos de trabajo e inicio de la PRIMERA ACTIVIDAD PRACTICA.

Presentaciones iniciales.

Metodologa de Clases.
Clases Tericas Clases Prcticas Talleres Mtodo de Evaluacin

Metodologa de Clases.
Clases Tericas: material a ser provedo por el profesor y profundizadas con la Bibliografa detallada en el Programa. Clases Prcticas: Desarrollo de Casos Prcticos a ser provistos por el profesor y que sern expuestos por los grupos de trabajo. Taller: Desarrollo de casos prcticos con herramientas de anlisis y diseo (CASE)

Mtodo de Evaluacin.
1. Trabajo Prctico (T.P) 50 Pts. Se desarrolla todo el semestre 2. Cada Examen Parcial 100 Pts. 3. Examen Final 100 Pts. 4. El examen Parcial abarcar el contenido del programa desarrollado hasta la ltima semana antes del comienzo de los parciales. El mismo ser escrito. 5. El examen Final abarcar todo el programa. La parte escrita se dividir en teora y ejercicios. 6. La entrega del T.P. con todos los documentos desarrollados en el transcurso del semestre habilita al alumno para el Examen Final. 7. El T.P. consistir en realizar el anlisis y diseo de un proyecto de SW, siendo la entrega de toda la documentacin del este proyecto los elementos para alcanzar los 50 Pts que suman a los 100 puntos del examen final. NOTA FINAL= 40%(Promedio Parciales)+ 60%(EF+TP)

FECHAS DE PRESENTACION TOPICOS DEL TRABAJO PRACTICO:


10/09: Presentacin del ALCANCE DEL PROYECTO DE SOFTWARE. (10 Puntos) 05/11: Presentacin del Anlisis de Requerimientos. (20 Puntos) 4/12 en adelante: Presentacin del Diseo Fsico. (20 Puntos) y los dems documentos anteriormente evaluados.

Se establecern Clases destinadas a la revisin del Trabajo Prctico en todo el semestre.-

EVALUACION.

OBS: La entrega del Trabajo Prctico habilita al alumno para el Examen Final.

Programa a ser Desarrollado


Ingeniera del Software: conceptos, fundamentos, historia, su desarrollo. Software: su naturaleza y sus cualidades. El Proceso Unificado de Desarrollo de Software:

Tcnicas y Problemticas del desarrollo, implementacin y verificacin del software. Medicin de calidad del Proyecto de Software.

Fases del Proceso: fundamentos y orientacin. Lenguaje Unificado del Modelado (UML): Fundamentos, Tipos de Modelos. El Analisis de Requerimientos del Software El Diseno del Proyecto de Software

INICIAMOS EL DESARROLLO DE CLASES.

JUSTIFICATIVOS DE LA MATERIA.
La Ingeniera de Software, a nivel mundial, es una disciplina relativamente nueva y todava en bsqueda de madurez.
Existe una resistencia al rigor y la formalidad y una escasa predisposicin al anlisis detallado de requerimientos del usuario, el diseo con enfoque tcnico, y por ende la prctica tiende a seguir un proceso de implementacin directa a travs del ciclo de prueba-error que no resulta adecuado para soluciones informticas de alta complejidad y/o gran envergadura.

OBJETIVOS A ALCANZAR EN EL PRESENTE SEMESTRE DENTRO DE LA MATERIA.


Comprender las principales problemticas que caracterizan el proceso de anlisis de requerimientos, el diseo y desarrollo del software. Comprender los fines, principios y objetivos de la Ingeniera del Software. Utilizar adecuadamente mtodos y tcnicas de anlisis y especificacin de requisitos (con nfasis en el Lenguaje de Modelado Unificado y el Proceso Unificado de Requerimientos) Utilizar adecuadamente mtodos y tcnicas de diseo de software (con nfasis en aquellas orientadas a objetos)

Comprender las principales problemticas que caracterizan a los procesos posteriores al anlisis y diseo: el desarrollo (construccin), test de aceptacin, implantacin y verificacin del software.

Qu es la Ingeniera de Software?

Historia de la Ingeniera de Software.

Qu es la Ingeniera de Software?
Hasta 1965 las computadoras de gran porte fueron catalogadas como de 2a. generacin. En 1965 surgen las computadoras de tercera generacin, nuevos lenguajes de programacin (COBOL) autodocumentables (?) 1980 1990 auge extraordinario en el desarrollo de software

Qu es la Ingeniera de Software? Problemas del Desarrollo Tradicional:


Relacionamiento Usuario - Analista Comunicacin Cambios naturales exigidos por los sistemas Falta de Herramientas Documentacin Profesionales Dificultad de definicin del problema

Qu es la Ingeniera de Software?
Qu fracasa en el desarrrollo de SW? Problema 1. Es muy difcil para el I. SW aprender lo suficiente del negocio para poder ver los requerimientos del sistema a travs de los ojos del usuario. Problema 2. La comunidad usuaria no conoce an lo suficiente de tecnologa, como para saber lo que es factible y lo que no lo es. Problema 3. El I. SW puede rpidamente verse abrumado por los detalles, tanto los detalles del negocio, como por los detalles tcnicos del nuevo sistema.

Qu es la Ingeniera de Software?
Qu fracasa en el desarrrollo de SW?
Problema 4. El documento donde ubicamos los detalles de un nuevo sistema (especificacin del sistema) constituye un contrato efectivo entre el departamento de usuario y el grupo de desarrollo. Este documento no es efectivo para la negociacin, por lo tanto recin una vez implantado el sistema tienen algo para entender, y podrn reaccionar en ese momento, y ser tarde. Problema 5. Las especificaciones tcnicas para los programadores y diseadores limitan la libertad de los mismos, y normalmente son fsicos prematuramente.

Qu es la Ingeniera de Software?
En la dcada de los 70 surgieron una gran variedad de metologistas y metodologas entre ellos se destacan Gane Sarson, Yourdon, Demarco, cuyas investigaciones se basaban en los principios de la programacin estructurada. En la dcada del 80-90 surgen los lenguajes de cuarta generacin (generadores de programas), orientacin a objetos.

Qu es la Ingeniera de Software?
En las ltimas dcadas se ha trabajado en el rea de desarrollo de sistemas para encontrar tcnicas que permitan incrementar la productividad y el control de calidad en cualquier proceso de elaboracin de software, y hoy en da la tecnologa CASE (Computer Aided Software Engineering) reemplaza al papel y al lpiz por el ordenador para transformar la actividad de desarrollar software en un proceso automatizado.

Qu es la Ingeniera de Software?

En la dcada del 80-90 surge la guerra de los mtodos, tanto que los desarrolladores de software quedaron muy confundidos sin saber cual era la metodologa ms adecuada para elaborar sus proyectos. En los 90s el paradigma estructurado

evolucion hacia el paradigma orientado a objetos

Qu es la Ingeniera de Software?
el UML oficialmente se present cuando Rumbaugh, Booch y Jacobson unifican sus estudios con una semntica y notacin, para lograr compatibilidad en el anlisis y diseo orientado a objetos (a fines de 1997) "El Lenguaje de Modelado Unificado UML es un lenguaje estndar para escribir planos de software. UML puede utilizarse para visualizar, especificar, construir y documentar los artefactos de un sistema que involucra gran cantidad de software"

Contenido programtico 28/07/05


Qu es la Ingeniera de Software?

Versiones del UML


Se conformo un consorcio del UML donde estaban: DEC, HP, Intellicorp, Microsoft, Oracle y lo puso a consideracin del OMG (Object Management Group) como respuesta a su propuesta para un lenguaje de modelado estndar. El consorcio aumento y genero la versin 1.1 y se puso de nuevo a consideracin del OMG. El grupo acepto esta versin a finales de 1997, encargndose del mantenimiento del UML y produjo otras dos revisiones en 1998. El UML ha llegado a ser el estndar de facto de la industria del Software y su evolucin continua.

Qu es la Ingeniera de Software?

La ingeniera del software pretende utilizar los recursos computacionales de tal manera que se produzcan soluciones eficientes y eficaces a los problemas informticos, el xito de un proyecto involucra elementos como la planeacin, la administracin y la utilizacin de metodologas de desarrollo de software.

Qu es la Ingeniera de Software?
Un software de calidad debe ser eficaz, es decir, que debe realizar las funciones establecidas, debe ser amigable. Un usuario debe utilizar el software porque produce resultados confiables, realiza todas las operaciones que se requieren, ejecuta las operaciones en un tiempo aceptado y es fcilmente usado por el grupo de usuarios a quien este dirigido.
Un software de calidad debe ser eficiente, es decir el costo de su desarrollo tomando todos los recursos y el costo de su operacin debe ser tal que las organizaciones involucradas en su desarrollo y uso obtengan el mximo beneficio o por lo menos un beneficio aceptable en un perodo de tiempo establecido.

Qu es la Ingeniera de Software?

La relacin de la Ingeniera del Software con otras reas de la Ciencia de la Computacin. La relacin de la Ingeniera de Software con otras disciplinas.

Qu es la Ingeniera de Software?

Principios de la Ingeniera de Software.


Rigor y formalidad. Separacin de intereses. Modularidad. Abstraccin. Anticipacin al cambio. Generalidad. Incrementalidad.

Qu es la Ingeniera de Software?

Software: su naturaleza y sus cualidades


Se define el trmino Software como el conjunto de partes que interactan entre si para alcanzar un objetivo, partes hechas por el hombre y que interactan o son controlados por una o ms computadoras.

Qu es la Ingeniera de Software?
Componentes de un software automtico: HW Sistemas Bases Personas: los que operan el sistema, los que proveen su material de entrada y consumen su material de salida, y los que proveen actividades de procesamiento manual en un sistema. Datos: la informacin que el sistema recuerda durante un periodo. Procedimientos: las polticas formales e instrucciones de operacin del sistema.

Qu es la Ingeniera de Software?

Tipos de Sistemas:
Sistemas Operativos: programas que sirven a otros programas en
el trabajo de desarrollo como compiladores, editores,etc

Sistemas en tiempo real : Software encargado de analizar datos


del mundo en forma real tales como anlisis de datos, control automatizado, monitoreo de datos

Sistemas de gestin: a esta categora se incluye el software


comercial a nivel empresarial, nominas, inventarios,etc.

Qu es la Ingeniera de Software?
Tipos de Sistemas:

Sistemas de ingeniera y de carcter cientfico:

es software que posee un amplio manejo numrico usado en biologa, astronoma, etc. software que se encuentra residente en memoria, tales como : controles automticos en los vehculos, sistemas de background, partes del sistema operativo, software comercial de uso local como procesadores de texto, hojas electrnicas, navegadores Web, calendarios, agendas, recetarios, software de procesamiento especial sistemas expertos, sistemas basados en el conocimiento, generalmente no usan algoritmos numricos.

Sistemas empotrados

Sistemas de computacin personal: Sistemas de inteligencia

artificial:

Qu es la Ingeniera de Software?
Papel del Ingeniero de Software.
como Consultor: Se contrata personal externo, para realizar innovaciones en la organizacin. como Especialista de Apoyo: Es el personal interno/externo, que se dedica a realizar tareas de desarrollo, mantenimiento, implementacion de sistemas. como Agente de Cambio: Personal externo interno, contratado para ser especialista de apoyo, incorporando al ambiente laboral innovaciones en cuanto a metodologa, administracin, etc. a travs de la implementacin de sistemas de informacin.

Qu es la Ingeniera de Software?

Cualidades del Ingeniero de Software


1. IMAGINACIN 2. CAPACIDAD DE CRITICA 3. CAPACIDAD ANALITICA 4. PERSISTENCIA 5. CLARIDAD DE RACIOCINIO 6. VISION DE CONJUNTO 7. ESPIRITU DE EQUIPO 8. HUMILDAD 9. SATISFACIN PROFESIONAL 10.CAPACIDAD DE COMUNICACIN

Qu es la Ingeniera de Software? Habilidades Especiales del Ingeniero de Software:

Innovador : explorar aplicaciones novedosas y mas tiles de las computadoras as como formas nuevas de hacer negocios. Mediador: el medio ambiente es "distintos tipos de usuarios" , los cuales frecuentemente estn en desacuerdo entre s. Lider de proyecto : debe manejar recursos humanos (programadores).

Ingeniera de Software I: aspectos a cubrir.

Documentaciones, propuestas de estndares, mtodos, tcnicas.

La importancia de MODELAR.
Solo entre nosotros..

Si se quiere construir una caseta para un perro, se puede comenzar muy bien con un montn de madera, algunos clavos y unas cuantas herramientas bsicas, tales como un martillo, un serrucho y una cinta mtrica.

La importancia de MODELAR.
Solo entre nosotros..

En pocas horas, con poca planificacin previa, es probable que se acabe con una caseta razonablemente funcional, y que probablemente se pueda hacer sin la ayuda de nadie.

La importancia de MODELAR.
Solo entre nosotros..

Mientras sea bastante grande y no tenga goteras, el perro estar contento. Si no sale bien, siempre se puede volver a empezar, o buscar un perro menos exigente.

La importancia de MODELAR.
Curiosamente, un montn de empresas de desarrollo de software comienzan queriendo construir un rascacielos, pero enfocan el problema como si estuvieran enfrentndose a la caseta de un perro.

SI REALMENTE SE QUIERE CONSTRUIR EL SOFTWARE EQUIVALENTE A UNA CASA O A UN RASCACIELOS, EL PROBLEMA ES ALGO MS QUE UNA CUESTION DE ESCRIBIR GRANDES CANTIDADES DE SOFTWARE

La importancia de MODELAR.
Construimos modelos arquitectnicos de casas y rascacielos para ayudar a sus usuarios a visualizar el PRODUCTO FINAL. El MODELADO no es propio de la industria del software; sera inconcebible crear una aeronave o un automvil sin contar primeramente con un modelo. Todos los artefactos requieren algn grado de modelado para comprender mejor el sistema y comunicar las ideas a otros.

La importancia de MODELAR.
Qu es entonces un MODELO?

UN MODELO ES UNA SIMPLIFICACION DE LA REALIDAD.

CULES SON LOS OBJETIVOS DEL MODELADO?


Nos ayudan a visualizar como es o queremos que sea un sistema. Nos permiten especificar la estructura o el comportamiento de un sistema. Nos proporcionan plantillas que nos guan en la construccin de un sistema Documentan las decisiones que hemos adoptado durante el proceso del desarrollo del software que estamos creando.

PORQUE CONSTRUIMOS MODELOS DE SISTEMAS?


Porque no podemos comprender el sistema en su totalidad. Porque cuanto ms complejo es un proyecto, ms probable es que se fracase o no se construya el producto apropiado si no se hace nada de modelado.

LOS MODELOS

son

Se construyen Para

UNA REPRESENTACIN SIMPLIFICADA DE LA REALIDAD

COMUNICAR IDEAS A OTROS

COMPRENDER MEJOR EL SISTEMA QUE ESTAMOS DESARROLLANDO

TENER UNA VISION DEL SISTEMA EN SU TOTALIDAD

Participantes en el Juego de Sistemas USUARIOS: Operacional Supervisor Ejecutivo ADMINISTRACION AUDITORES, PERSONAL DE CONTROL DE CALIDAD ANALISTAS DE SISTEMAS DISEADORES DE SISTEMAS PROGRAMADORES PERSONAL DE OPERACIONES

Los modelos de datos se construyen por tres motivos principales:


Para individualizar las caractersticas importantes del proyecto dejando de lado las menos importantes; Para discutir las alteraciones y correcciones de los requisitos del usuario a ms bajo costo y con un mnimo de riesgo;

Para confirmar que se entiende el ambiente del usuario a tal punto de poder documentarlo para que los proyectistas y programadores puedan construir el proyecto

PORQUE CONSTRUIMOS MODELOS DE SISTEMAS?


Todos los sistemas interesantes y tiles tienen una tendencia natural a crecer en complejidad con el paso del tiempo. Aunque no le haya parecido necesario modelar en el inicio, cuando el sistema evolucione se lamentar esa decisin y entonces ser demasiado tarde.

PRINCIPIOS DEL MODELADO EN LA INGENIERIA DE SOFTWARE.


La eleccin de qu Modelos crear tiene una profunda influencia sobre cmo se enfrenta un problema dado y cmo se da forma a la solucin a plantear. (Hay que elegir el Modelo adecuado al problema a resolver). Los modelos adecuados pueden arrojar mucha luz sobre los problemas de desarrollo mas horribles, ofreciendo una comprensin que simplemente no podramos obtener de otra manera; los modelos errneos desorientaran, haciendo que uno se centre en cuestiones irrelevantes.

PRINCIPIOS DEL MODELADO EN LA INGENIERIA DE SOFTWARE.


Todo Modelo puede ser expresado en distintos niveles de precisin. A veces un pequeo y sencillo modelo de interfaz del usuario es exactamente lo que se necesita; otras veces, hay que bajar y enredarse con los bits como cuando se estn especificando interfaces entre sistemas o luchando con cuellos de botella en redes.

PRINCIPIOS DEL MODELADO EN LA INGENIERIA DE SOFTWARE.


Los mejores modelos estn ligados a la realidad; es mejor tener modelos que tengan una clara conexin con la realidad, y donde esta conexin sea dbil saber exactamente cmo se apartan esos modelos del mundo real. Todos los modelos simplifican la realidad; el truco est en asegurarse de que las simplificaciones no enmascaran ningn detalle importante.

PRINCIPIOS DEL MODELADO EN LA INGENIERIA DE SOFTWARE.


No existe un nico modelo de la realidad; se necesitan varias vistas complementarias y entrelazadas que contengan tanto aspectos estructurales como de comportamiento del sistema. En conjunto, estas vistas representan los planos del software.

Actividad 1 Presentando modelos para el cliente

Usted es el jefe de un equipo de desarrollo de software asignado a la automatizacin integral de una empresa. Debe convencer a los directivos de la necesidad de desarrollar los modelos de las diferentes perspectivas del sistema .

Presente entonces en un documento: Una breve descripcin de la empresa que le ha contratado,

qu perspectivas de usuarios considerar necesaria entrevistar?


A quines entrevistar?

Cmo se va a conformar el equipo de profesionales por parte de su empresa de desarrollo y la empresa que lo ha contratado?
Haga una lista de los participantes para el desarrollo integral del Proyecto de Software.

Preguntas?

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