Está en la página 1de 7

d

Ingeniera de software
Unidad 1

Edgardo Ortega Delgado

Edgardo Ortega Delgado 4to

1.1 Conceptos Bsicos


Es la profesin en la que el conocimiento de las ciencias naturales y matemticas obtenidos con el estudio, la prctica y la experiencia se aplica con juicio para desarrollar formas de utilizar de modo econmico, los materiales y fuerzas de la naturaleza para beneficio de la humanidad Es el conjunto de todos los programas que existen dentro de una computadora. Es el producto del desarrollo que realizan los ingenieros de software resultado de requerimientos de informacin. Es una disciplina de la Ingeniera que comprende todos los aspectos de la produccin del software desde las etapas iniciales de la especificacin del sistema hasta el mantenimiento de ste despus de que se libera.

a) Ingeniera

b) Software

c) La Ingeniera de Software

Edgardo Ortega Delgado

1.2 El papel evolutivo del software


El trmino fue introducido a fines del 60 y comienzo del 70, tras la crisis del software que se caracteriz por: Imprecisin en la planificacin del proyecto y estimacin de los costos. Baja calidad del Software. Dificultad de mantenimiento de programas con un diseo poco estructurado, etc. En las dcadas de 1980 y 1990 dos tendencias dominaron la ingeniera de software: El florecimiento explosivo de aplicaciones, incluyendo las de Internet. El Nacimiento de nuevas herramientas y paradigmas (formas de pensamiento, como la orientacin a objetos). El software es tanto un producto como el vehculo para su entrega. Es el transformador de la informacin. El papel del software de computadora ha experimentado un cambio significativo en un periodo un poco mayor a 50 aos. Las mejoras sustanciales en el desempeo del hardware, los cambios profundos en las arquitecturas de cmputo, los enormes incrementos en las capacidades de memoria y almacenamiento, y la amplia variedad de opciones de salida y de entrada han propiciado el surgimiento de sistemas ms elaborados y complejos basados en computadoras. Nadie sabe en realidad el futuro de los sistemas que da a da se construyen, ms sin embargo sin importar el lugar en el que resida el software, ya sea en un celular o dentro de una computadora central, el software realiza la produccin, el manejo, la adquisicin, la modificacin, el despliegue o la transmisin de la informacin que puede ser tan simple como un solo bit o tan compleja como una presentacin multimedia. En su papel de vehculo para la entrega de un producto, el software acta como la base para el control de la computadora (sistemas operativos), la comunicacin de informacin (redes) y la creacin y el control de otros programas (utileras de software y ambientes) El software entrega el producto ms importante de nuestro tiempo: informacin. Transforma los datos personales, por ejemplo las transacciones financieras de un individuo, de modo que los datos sean ms tiles en un contexto local. Maneja informacin de negocio para mejorar la competitividad, proporciona una va para las redes de informacin alrededor del mundo (Internet) y proporciona los medios para adquirir informacin en todas sus formas (pginas web).

Edgardo Ortega Delgado

1.3 Las etapas del proceso de desarrollo de software


1) Investigacin preliminar
Parte de una solicitud de requerimiento de un sistema de informacin, tiene tres partes: a) Aclaracin de la Solicitud b) Estudio de Factibilidad: Tcnica, Econmica, Operacional c) Aprobacin de la Solicitud

2) Anlisis de requerimientos

Comprender todas las facetas importantes de la parte de la empresa bajo estudio: a) Qu es lo que hace? b) Cmo se hace? c) Con qu frecuencia se presenta? d) Volumen de transacciones o decisiones e) Grado de eficiencia de las tareas f) Existe algn problema? g) Qu tan serio y causa que lo origina?

3. Diseo del sistema

Plasma en un modelo los detalles que establecen la forma en la que el sistema cumplir con los requerimientos identificados durante la fase de anlisis

4. Desarrollo de Software 5. Pruebas

Se puede instalar software comprado (software genrico) o escribir programas diseados a la medida del solicitante (software personalizado) La eleccin depende del costo, tiempo y disponibilidad de programadores. En esta fase, el sistema se emplea de manera experimental para asegurarse que el software no tenga fallas, es decir, que funcione de acuerdo a las especificaciones del usuario y en la forma en que los usuarios esperan que lo haga.

6. Implementacin

Es el proceso de: Verificar e Instalar nuevo equipo, capacitar a usuarios, instalar la aplicacin y dejar montada toda la infraestructura para su aplicacin.

Edgardo Ortega Delgado

1.4 Clasificacin De La Tecnologa En El Desarrollo De Software


Tecnologas de desarrollo estructurado
Las tecnologas de desarrollo estructurado son las ms convencionales de las empleadas hoy da. Han surgido de la evolucin de las ideas de programacin estructurada (hace ms de veinte cinco aos) hacia las fases iniciales del ciclo de vida. En su formulacin actual, las notaciones empleadas en las prime-ras fases del ciclo de vida (especificacin de requisitos de usuario y sistema)suelen estar constituidas por lenguajes grficos que permiten: identificar el sistema y el entorno; representar el flujo de informacin entre los elementos; y, describir los datos y las actividades del sistema [12].La idea base de esta tecnologa es que es posible estructurar el modelo de un sistema de software en base a funciones que procesan informacin que reciben de otras funciones (o del exterior) y dirigen la informacin procesada a otros mdulos funcionales (o al exterior). El enfoque seguido, por tanto, es el de pensar en las funciones del sistema necesarias (extradas de los requisitos del sistema) y luego en los datos que requieren.

Tecnologas orientadas a objetos


Las tecnologas de desarrollo estructurado han demostrado sus limitaciones a la hora de organizar y facilitar la evolucin de sistemas de software complejos. La descomposicin en funciones hace difcil al diseador mantener la relacin con los objetos del mundo real sobre los que se modifican generalmente los requisitos del usuario. Los mtodos de descomposicin orientada a objetos constituyen la tendencia ms influyente observada en la ingeniera de sistemas de software en los ltimos aos. Con ellos nos referimos a un conjunto de mtodos (an en fase de desarrollo o evolucin) que permiten al analista y diseador concebir su sistema identificando clases de objetos, operaciones permitidas y relaciones entre ellos como base para la estructura del sistema a disear.

Edgardo Ortega Delgado

1.5 Definicin E Historia De Las Herramientas Case


Qu son las Herramientas CASE
Se puede definir a las Herramientas CASE como un conjunto de programas y ayudas que dan asistencia a los analistas, ingenieros de software y desarrolladores, durante todos los pasos del Ciclo de Vida de desarrollo de un Software. Como es sabido, los estados en el Ciclo de Vida de desarrollo de un Software son: Investigacin Preliminar, Anlisis, Diseo, Implementacin e Instalacin. CASE se define tambin como: Conjunto de mtodos, utilidades y tcnicas que facilitan la automatizacin del ciclo de vida del desarrollo de sistemas de informacin, completamente o en alguna de sus fases. La sigla genrica para una serie de programas y una filosofa de desarrollo de software que ayuda a automatizar el ciclo de vida de desarrollo de los sistemas. Una innovacin en la organizacin, un concepto avanzado en la evolucin de tecnologa con un potencial efecto profundo en la organizacin. Se puede ver al CASE como la unin de las herramientas automticas de software y las metodologas de desarrollo de software formales.

Historia de las Herramientas CASE


Las Herramientas CASE tienen su inicio con el simple procesador de palabras que fue usado para crear y manipular documentacin. Los setentas vieron la introduccin de tcnicas grficas y diagramas de flujo de estructuras de datos. Sobre este punto, el diseo y especificaciones en forma pictrica han sido extremadamente complejos y consuman mucho tiempo para realizar cambios. La introduccin de las herramientas CASE para ayudar en este proceso ha permitido que los diagramas puedan ser fcilmente creados y modificados, mejorando la calidad de los diseos de software. Los diccionarios de datos, un documento muy usado que mantiene los detalles de cada tipo de dato y los procesos dentro de un sistema, son el resultado directo de la llegada del diseo de flujo de datos y anlisis estructural, hecho posible a travs de las mejoras en las Herramientas CASE. Pronto se reemplazaron los paquetes grficos por paquetes especializados que habilitan la edicin, actualizacin e impresin en mltiples versiones de diseo. Eventualmente, las herramientas grficas integradas con diccionarios de base de datos para producir poderosos diseos y desarrollar herramientas, podran sostener ciclos completos de diseo de documentos. Como un paso final, la verificacin de errores y generadores de casos de pruebas fueron incluidos para validar el diseo del software. Todos estos procesos pueden saberse integrados en una simple herramienta CASE que soporta todo el ciclo de desarrollo.
Edgardo Ortega Delgado

1.6 Clasificacin de las Herramientas Case


No existe una nica clasificacin de herramientas CASE y, en ocasiones, es difcil incluirlas en una clase determinada. Podran clasificarse atendiendo a: Las plataformas que soportan. Las fases del ciclo de vida del desarrollo de sistemas que cubren. La arquitectura de las aplicaciones que producen. Su funcionalidad. Las herramientas CASE, en funcin de las fases del ciclo de vida abarcadas, se pueden agrupar de la forma siguiente: 1. Herramientas integradas, I-CASE (Intgrate CASE, CASE integrado): abarcan todas las fases del ciclo de vida del desarrollo de sistemas. Son llamadas tambin CASE workbench. 2. Herramientas de alto nivel, U-CASE (Upper CASE - CASE superior) o frontend, orientadas a la automatizacin y soporte de las actividades desarrolladas durante las primeras fases del desarrollo: anlisis y diseo. 3. Herramientas de bajo nivel, L-CASE (Lower CASE - CASE inferior) o back end, dirigidas a las ltimas fases del desarrollo: construccin e implantacin. 4. Juegos de herramientas o Tools-Case, son el tipo ms simple de herramientas CASE. Automatizan una fase dentro del ciclo de vida. Dentro de este grupo se encontraran las herramientas de reingeniera, orientadas a la fase de mantenimiento

Edgardo Ortega Delgado