monografia parte ii

18
Universidad Católica los Ángeles de Chimbote - Piura “Año de la Diversificación Productiva y del Fortalecimiento De la Educación” DATOS PERSONALES INTEGRANTES : 1.- Castillo Huancas Jesús Salatiel 2.- Cunaique Aguirre Juan Alexander 3.- Herrera Cuniarache Marvin 4.- Urbina Solano Brayan 5.- Ponce Gutiérrez Armando CURSO : Ingeniería de Software I DOCENTE : Ing. Víctor Ancajima Miñan Ingeniería de Sistemas - Ingeniería de Software I

Upload: marvin-alberto-herrera-cunyarache

Post on 06-Nov-2015

14 views

Category:

Documents


0 download

DESCRIPTION

mong

TRANSCRIPT

Universidad Catlica los ngeles de Chimbote - Piura

Ao de la Diversificacin Productiva y del Fortalecimiento De la

EducacinDATOS PERSONALES INTEGRANTES : 1.- Castillo Huancas Jess Salatiel

2.- Cunaique Aguirre Juan Alexander

3.- Herrera Cuniarache Marvin 4.- Urbina Solano Brayan

5.- Ponce Gutirrez Armando

CURSO : Ingeniera de Software I

DOCENTE : Ing. Vctor Ancajima Mian

CICLO : V

DEDICATORIA:Este trabajo se lo queremos dedicar a Dios, al creador de todas las cosas, quien nos da fuerzas para seguir adelante en nuestra carrera profesional.A mi profesor, quien dedica sus conocimientos para obtener un buen aprendizaje y nos orienta para que se lleve a cabo este presente trabajo.AGRADECIMIENTOS:A nuestros padres que gracias a su esfuerzo, hemos podido aprender muchas cosas nuevas, que nos ayudaran a ser mejores buenos profesionales.A la Universidad catlica Los ngeles de Chimbote, que nos brinda la oportunidad de estudiar en sus aulas adquiriendo nuevos conocimientos de bien para el futuro.Un agradecimiento especial al ing. Vctor Ancajima Mian, por la colaboracin, paciencia, apoyo y sobre todo por esa gran enseanza que nos brinda da a da.

SUMARIO:Dedicatoria...Agradecimiento..............................................Captulo I.. MARCO DE REFERNCIA....1.1 Introduccin: .

1.2 Formulacin del problema.

1.3 Objetivo

1.3.1Objetivos general.......

1.3.2Objetivos especficos....

1.4 Marco terico.....

1.6 Qu es un software de calidad?..........................................................................................................................

Captulo II..PROCESO DEL DESARROLLO DEL SOFTWAWE.

2.2 Etapas del proceso de desarrollo de software2.2.1 Anlisis de requisitos.....2.2.2 Principios de especificacin......2.2.3 Diseo y arquitectura....

2.2.4 Programacin: ......

2.2.5 Prueba: ......

2.2.6 Documentacin.....

2.2.7 Mantenimiento: ....Captulo III...3.3 Modelos del ciclo de vida: ...

3.3.1 Modelo en Cascada...

3.3.2 Modelo de desarrollo Evolutivo...

3.3.3 Modelo de Prototipado de Requerimientos. .......

3.3.4 Modelo de desarrollo basado en reutilizacin: .

3.3.5 Modelo de desarrollo en espiral: ...

3.3.6 Modelo de desarrollo incremental.Conclusiones.....................................Bibliografas.La Metodologa de Desarrollo del SoftwareCAPITULO I:1.1- Introduccin:1

CAPITULO I

MARCO DE REFERENCIA

1.

Introduccin:

La presente exposicin se refiere al tema Etapas del Proceso de Desarrollo de Software el cual puede ser definido como un proceso de ingeniera de software,para producir software de calidad, que cumpla con las normas a nivel mundial y que ofrezca flexibilidad en plazos y presupuestos. Gracias a la incorporacin de las mejores prcticas de la ingeniera de software, como: Analisis de requisitos,tambin tenemos Principios de especificacion,Diseo y Arquitectura,Programacion, Prueba,Documentacion,Mantenimiento.

Convierte al PDS en una de las metodologas estndares ms utilizadas para el Analisis de requisitos,tambin tenemos Principios de especificacion,Diseo y Arquitectura,Programacion, Prueba,Documentacion,Mantenimiento. La importancia de la investigacin de esta metodologa radica, en los altos niveles de calidad de software exigidos por las grandes empresas. Ya que puede ser utilizada sin importar el tamao y rubro de la organizacin, sin embargo es ms utilizada en las grandes empresas, debido a la complejidad y tamao de los sistemas

1.2- Formulacin del problema:Cul es la utilidad de la medida del software?Actualmente en El Salvador no se cuenta con suficie

nte informacin acerca de la

metodologa de desarrollo de software RUP, muchos p

rofesionales y estudiantes

del rea de informtica, desconocen el trmino RUP.

Debido al auge que este tiene en el desarrollo de

aplicaciones empresariales a

nivel internacional, y tomando en cuenta que alguna

s empresas orientadas

exclusivamente a tecnologas de informacin en nues

tro pas estn comenzando a

adoptar esta metodologa, se vuelve muy importan

te que todo Informtico est al

tanto de las ltimas tecnologas tanto de desarrol

lo de software como de

programas de aplicacin.

1.3- Objetivos:3.1. Objetivo general:En la construccin y desarrollo de proyectos se aplican mtodos y tcnicas para resolver los problemas, la informtica aporta herramientas y procedimientos sobre los que se apoya la ingeniera de software.3.2. Objetivos especficos:* Disear aplicaciones informticas que se ajusten a las necesidades de las organizaciones.

* Mejorar la calidad de los productos de software.* Aumentar la productividad y trabajo de los ingenieros del software.* Facilitar el control del proceso de desarrollo de software.

* Suministrar a los desarrolladores las bases para construir software de alta calidad en una forma eficiente.

* Definir una disciplina que garantice la produccin y el mantenimiento de los productos software desarrollados en el plazo fijado y dentro del costo estimado.* Organizar la realizacin de pruebas que verifiquen el correcto funcionamiento de los programas y que se ajustan a los requisitos de anlisis y diseo.* Organizar y supervisar el trabajo de su equipo de los tcnicos de mantenimiento y los ingenieros de sistemas y redes.

* Que sea accesible a travs de Internet.1.4- Marco Terico:

La ingeniera de Software es una de las ramas de las ciencias de la computacin, la cual nos brinda conocimientos, tcnicas y metodologas para desarrollar software de calidad brindndonos un enfoque sistemtico, disciplinado y cuantificable.El proceso de desarrollo de software por lo tanto es el conjunto de actividades necesarias para transformar los requisitos del cliente en un sistema de software1.5- Qu es software de calidad?:Los requisitos del software constituyen la calidad del mismo. Debemos estar claros que el software no se certifica con calidad, no se puede medir la calidad del software de forma correcta debido a su naturaleza lo que se certifica son los procesos de desarrollo, la correcta consecucin de los mismos.El usuario final mide la calidad del software segn los resultados que este le. de quien la juzgue. Existen tambin formas ms objetivas de evaluar el software, estas son: mtricas, estadsticas, etc.CAPITULO II: PROCESO DEL DESARROLLO DEL SOFTWARE.2.1 Etapas del proceso de desarrollo de software:Estas etapas son un reflejo del proceso que se sigue a la hora de resolver cualquier tipo de problema. Ya en 1945, mucho antes de que existiese la Ingeniera del Software, el matemtico George Polya describi este proceso en su libro How to solve it (el primero que describe la utilizacin de tcnicas heursticas en la resolucin de problemas). Bsicamente, resolver un problema requiere:

- Comprender el problema (anlisis)

- Plantear una posible solucin, considerando soluciones alternativas (diseo)

- Llevar a cabo la solucin planteada (implementacin)

- Comprobar que el resultado obtenido es correcto (pruebas)

2.1.1 Anlisis de requisitos:El anlisis global de los requisitos de una aplicacin es un proceso de conceptualizacin y formulacin de los conceptos que involucra de forma concreta. Es una parte fundamental del proceso de desarrollo de una aplicacin, la mayor parte de los defectos encontrados en el software entregado se originan en la fase de anlisis de requisitos, y adems son los mas caros de reparar. Siempre se ha discutido quin es el dueo de los requisitos: el cliente o el desarrollador. Para gestionar esto, es habitual presentar el anlisis de requisitos en dos secciones: Requisitos de cliente: documentan los deseos y necesidades de los clientes y se expresan en lenguaje claro para l.

.Requisitos detallados: Determina los requisitos de manera especfica y estructurada y estn destinadas especficamente hacia los desarrolladores.Los objetivos de este tema son: Distinguir entre requisitos de clientes y requisitos detallados. Disponer de recursos para formular de forma clara y sistemtica los requisitos del cliente

Eningeniera de sistemasexisten dos tipos de requisitos.

Unrequisito funcional:Puede ser una descripcin de lo que un sistema debe hacer. Este tipo de requisito especifica algo que el sistema entregado debe ser capaz de realizar.

Unrequisito no funcional:De rendimiento, de calidad, etc; especifica algo sobre el propio sistema, y cmo debe realizar sus funciones. Algunos ejemplos de aspectos solicitables son la disponibilidad, el testeo, el mantenimiento, la facilidad de uso, etc.

2.1.2 Principios de especificacin:Es la tarea de describir detalladamente el software a ser escrito, de una forma rigurosa. Se describe el comportamiento esperado del software y su interaccin con los usuarios y/o otros sistemas.La especificacin, independientemente del modo en que se realice, puede ser vista como un proceso de representacin. Los requerimientos se representan de forma que conduzcan finalmente a una correcta implementacin del software.

Una buena especificacin debe procurar:

- Separar funcionalidad de implementacin. Una especificacin es una descripcin de lo que se desea, en vez de cmo se realiza. Esto en la prctica puede llegar a no suceder del todo, sin embargo es un buen lineamiento a seguir.

- Una especificacin debe abarcar el entorno en el que el sistema opera. Similarmente, el entorno en el que opera el sistema y con el que interacta debe ser especificado.

- Debe ser modificable. Ninguna especificacin puede ser siempre totalmente completa. El entorno en el que existe es demasiado complejo para ello. Una especificacin es un modelo, una abstraccin, de alguna situacin real (o imaginada). Por tanto, ser incompleta. Adems, al ser formulada existirn muchos niveles de detalle.

2.1.3 Diseo y arquitecturaEsta etapa Consiste en el diseo de los componentes del sistema que dan respuesta a las funcionalidades tambin conocidas como lasentidades de negocio. Generalmente se realiza en base a diagramas que permitan describir las interacciones entre las entidades y su secuenciado.Mientras que los modelos utilizados en la etapa de anlisis representan los requisitos del usuario desde distintos puntos de vista (el qu), los modelos que se utilizan en la fase de diseo representan las caractersticas del sistema que nos permitirn implementarlo de forma efectiva (el cmo). Un software bien diseado debe exhibir determinadas caractersticas. Su diseo debera ser modular en vez de monoltico.

En la fase de diseo se han de estudiar posibles alternativas de implementacin para el sistema de informacin que hemos de construir y se ha de decidir la estructura general que tendr el sistema (su diseo arquitectnico). El diseo de un sistema es complejo y el proceso de diseo ha de realizarse de forma iterativa. La solucin inicial que propongamos probablemente no resulte la ms adecuada para nuestro sistema de informacin, por lo que deberemos refinarla. Afortunadamente, tampoco es necesario que empecemos desde cero. Existen autnticos catlogos de patrones de diseo que nos pueden servir para aprender de los errores que otros han cometido sin que nosotros tengamos que repetirlos.

El diseo de un sistema de informacin tambin presenta distintas facetas:

- Por un lado, es necesario abordar el diseo de la base de datos, un tema que trataremos detalladamente ms adelante.

- Por otro lado, tambin hay que disear las aplicaciones que permitirn al usuario utilizar el sistema de informacin. Tendremos que disear la interfaz de usuario del sistema y los distintos componentes en que se descomponen las aplicaciones. De esto ltimo hablaremos en las dos secciones siguientes.2.1.4 Programacin: Es la implementacin de un lenguaje de programacin para crear las funciones definidas durante la etapa de diseo.Se traduce el diseo a cdigo. Es la parte ms obvia del trabajo de ingeniera de software y la primera en que se obtienen resultados tangibles. No necesariamente es la etapa ms larga ni la ms compleja aunque una especificacin o diseo incompletos/ambiguos pueden exigir que, tareas propias de las etapas anteriores se tengan que realizarse en esta.En esta etapa, a cada uno de los procesos definidos en la etapa de revisin de diseo lgico y diseo fsico, se le realiza su codificacin en trminos del Cliente y Servidor.Para esta etapa se consideran los siguientes hitos que corresponden a los pasos a seguir, pero no definen un proceso necesariamente secuencial, ya que algunas de ellas deben ser construidas en forma paralela para lograr el objetivo de comunicacin deseado entre el programa Cliente, y el programa Servidor.

Se debe considerar:Programacin de la Base de Datos

Debemos mencionar la programacin de la base de datos como uno de los hitos ms importantes del desarrollo, es en el servidor, y en particular en la programacin de la base de datos donde se concentra la inteligencia del sistema a desarrollar.

En resumen esta etapa incluye: La especificacin de tipos, campos, tablas, mdulos, valores por defecto, reglas de validacin y otros en el repositorio de la herramienta de desarrollo propuesta para el desarrollo. La generacin de procedimientos que permiten cargar las tablas, triggers, y procedimientos de apoyo a la Base de Datos generada. - La programacin de los servicios a construir y la prueba de cada uno de ellos en forma individual.Programacin de las Aplicaciones Cliente. En esta fase, nuevamente la herramienta de productividad juega un papel fundamental en mejorar los tiempos y la productividad de los desarrolladores, ya que al tener las especificaciones claramente definidas en el repositorio de la herramienta, es posible generar parte del cdigo del Form necesario para la interfaz cliente, dejando al programador el complemento de esta programacin, y la preocupacin de entregar una interfaz amigable al usuario.

Adems, esta etapa contempla el enlace con los servicios ya programados en el servidor de datos, y la generacin de su correcto llamado utilizando los parmetros de entrada y salida necesarios. Fases de la ProgramacinLos programas que se escriben con instrucciones, a este proceso se pueden dividir en pasos:

1. Comprender el problema

2. Plantear la lgica

3. Codificar el programa

4. Traducir el programa a lenguaje mquina

5. Prueba del programa

6. Ejecucin del programa2.1.5 Prueba: Consiste en comprobar que el software responda/realice correctamente las tareas indicadas en la especificacin. Es una buena praxis realizar pruebas a distintos niveles (por ejemplo primero a nivel unitario y despus de forma integrada de cada componente) y por equipos diferenciados del de desarrollo (pruebas cruzadas entre los programadores o realizadas por un rea de test independiente).En esta etapa el errar es humano y la etapa de pruebas tiene como objetivo detectar los errores que se hayan podido cometer en las etapas anteriores del proyecto (y, eventualmente, corregirlos). Lo suyo, adems, es hacerlo antes de que el usuario final del sistema los tenga que sufrir. De hecho, una prueba es un xito cuando se detecta un error (y no al revs, como nos gustara pensar).

La bsqueda de errores que se realiza en la etapa de pruebas puede adaptar distintas formas, en funcin del contexto y de la fase del proyecto en la que nos encontremos:

- Las pruebas de unidad sirven para comprobar el correcto funcionamiento de un componente concreto de nuestro sistema.

- Las pruebas de integracin son las que se realizan cuando vamos juntando los componentes que conforman nuestro sistema.

- Sirven para detectar errores en sus interfaces. En algunas empresas, como Microsoft, se hace una compilacin diaria utilizando los componentes del sistema tal como estn en ese momento (daily build) y se somete al sistema a una serie de pruebas bsicas (la prueba de humo, smoke test) que garanticen que el proyecto podr seguir avanzando al da.2.1.6 Documentacin:Realizacin del manual de usuario, y posiblemente un manual tcnico con el propsito de mantenimiento futuro y ampliaciones al sistema. Las tareas de esta etapa se inician ya en el primera fase pero slo finalizan una vez terminadas las pruebas.En general se habla mucho de la documentacin, pero no se la hace, no se le asigna presupuesto, no se la mantiene y casi nunca est al da en los proyectos de desarrollo de software. Lo importante es la disponibilidad de la documentacin que se necesita en el momento en que se la necesita.

Muchas veces se hace porque hay que hacerla y se escribe, con pocas ganas, largos textos, a la vez que se est convencido de estar haciendo un trabajo intil. A veces se peca por exceso y otras por defecto. Ocurre mucho en la Web y con productos RAD. En ocasiones se olvida que el mantenimiento tambin debe llegar a la documentacin.

La documentacin se suele clasificar en funcin de las personas o grupos a los cuales est dirigida:

Documentacin para los desarrolladores

Documentacin para los usuarios

Documentacin para los administradores o soporte tcnico.La documentacin para desarrolladores es aqulla que se utiliza para el propio desarrollo del producto y, sobre todo, para su mantenimiento futuro. Se documenta para comunicar estructura y comportamiento del sistema o de sus partes, para visualizar y controlar la arquitectura del sistema, para comprender mejor el mismo y para controlar el riesgo, entre otras cosas. Obviamente, cuanto ms complejo es el sistema, ms importante es la documentacin. En este sentido, todas las fases de un desarrollo deben documentarse: requerimientos, anlisis, diseo, programacin, pruebas, etc.. Una herramienta muy til en este sentido es una notacin estndar de modelado, de modo que mediante ciertos diagramas se puedan comunicar ideas entre grupos de trabajo.2.1.7Mantenimiento:Mantenimiento del Software es la modificacin de un producto software despus de haber sido entregado [a los usuarios o clientes] con el fin de corregir defectos, mejorar el rendimiento u otros atributos, o adaptarlo a un cambio en el entorno.En esta etapa se realizan un mantenimiento correctivo (resolver errores) y un mantenimiento evolutivo (mejorar la funcionalidades y/o dar respuesta a nuevos requisitos).Tambiem tenemos al Mantenimiento Adaptativo, Mantenimiento Perfectivo, Mantenimiento Preventivo.Mantenimiento Correctivo:El mantenimiento correctivo tiene por objetivo localizar y eliminar los posibles defectos de los programas. Un defecto en un sistema es una caracterstica del sistema con el potencial de causar un fallo. Un fallo ocurre cuando el comportamiento de un sistema es diferente del establecido en la especificacin.

Entre otros, los fallos en el software pueden ser de:

Procesamiento, por ejemplo, salidas incorrectas de un programa.

Rendimiento, por ejemplo, tiempo de respuesta demasiado alto en una bsqueda de informacin.

Programacin, por ejemplo, inconsistencias en el diseo de un programa.

Documentacin, por ejemplo, inconsistencias entre la funcionalidad de un programa y el manual de usuario.

Mantenimiento Adaptativo:

Este tipo de mantenimiento consiste en la modificacin de un programa debido a cambios en el entorno (hardware o software) en el cual se ejecuta.

Estos cambios pueden afectar al sistema operativo (cambio a uno ms moderno), a la arquitectura fsica del sistema informtico (paso de una arquitectura de red de rea local a Internet/Intranet) o al entorno de desarrollo del software (incorporacin de nuevos elementos o herramientas como ODBC). El tipo de cambio necesario puede ser muy diferente: desde un pequeo retoque en la estructura de un mdulo hasta tener que re escribir prcticamente todo el programa para su ejecucin en un ambiente distribuido en una red.Mantenimiento Perfectivo: Cambios en la especificacin, normalmente debidos a cambios en los requisitos de un producto software, implican un nuevo tipo de mantenimiento llamado perfectivo. Desde algo tan simple como cambiar el formato de impresin de un informe, hasta la incorporacin de un nuevo mdulo aplicativo. Podemos definir el mantenimiento perfectivo como el conjunto de actividades para mejorar o aadir nuevas funcionalidades requeridas por el usuario.Mantenimiento Preventivo: Este ltimo tipo de mantenimiento consiste en la modificacin del software para mejorar sus propiedades (por ejemplo, aumentando su calidad y/o su mantenimiento) sin alterar sus especificaciones funcionales. Por ejemplo, se pueden incluir sentencias que comprueben la validez de los datos de entrada, re estructurar los programas para mejorar su legibilidad, o incluir nuevos comentarios que faciliten la posterior comprensin del programa. En algunos casos se ha planteado el Mantenimiento para la Reutilizacin, consistente en modificar el software (buscando y modificando componentes para incluirlos en bibliotecas) para que sea ms fcilmente reutilizable. En realidad este tipo de mantenimiento es preventivo, especializado en mejorar la propiedad de reusabilidad del software.Conclusiones

Leer ms:http://www.monografias.com/trabajos39/desarrollo-del-software/desarrollo-del-software2.shtml#concl#ixzz3ZmWBDFc1Bibliografas

1.- http : / / books . google . com . pe / book sid = MY0zo XYFVd8C & printsec = front cover&d q= software & hl = es &s a= X & e i = 6PUdVLP g N YH9ygOuzoGQBA&ved=0CCMQ6AEwAA#v=onepage&q=software&f=false.

2.- http : / / www . monogafias . com / trabajos 3 9 / desarrollo - del - software / desarrollo - del - software . shtml # i xzz3 Dt4 x EfXv

Ingeniera de Sistemas - Ingeniera de Software I