12
Universidad Católica los Ángeles de Chimbote - Piura Ingeniería de Sistemas - Ingeniería de Software I “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 CICLO : V

Monografia parte II.pdf

Embed Size (px)

Citation preview

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    Ao de la Diversificacin Productiva y del Fortalecimiento De la Educacin

    DATOS 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

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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 software 2.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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    La Metodologa de Desarrollo del Software

    CAPITULO I:

    1.1- Introduccin:

    Cuando se va desarrollar un software intervienen muchas personas como lo es el cliente quien es el que tiene el problema en su empresa y desea que sea solucionado, para esto existe el analista de sistema quien es el encargado de hacerle llegar todos los requerimientos y necesidades que tiene el cliente a los programadores quienes son las personas encargadas de realizar lo que es la codificacin y diseo del sistema para despus probarlo y lo instalan al cliente.

    Es as como intervienen varias personas ya que una sola persona no podra determinar todo lo necesario lo ms seguro que le haga falta algn requerimiento o alguna parte del nuevo sistema y entre ms estn involucradas mejor para cubrir con todos los requerimientos del sistema.

    1.2- Formulacin del problema:

    Cul es la utilidad de la medida del software?

    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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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 software

    1.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)

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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

    En ingeniera de sistemas existen dos tipos de requisitos.

    Un requisito 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.

    Un requisito 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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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 arquitectura Esta etapa Consiste en el diseo de los componentes del sistema que dan respuesta a las

    funcionalidades tambin conocidas como las entidades 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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    Fases de la Programacin

    Los 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 programa

    2.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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    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.

  • Universidad Catlica los ngeles de Chimbote - Piura

    Ingeniera de Sistemas - Ingeniera de Software I

    Conclusiones

    Leer ms:

    http://www.monografias.com/trabajos39/desarrollo-del-software/desarrollo-del-

    software2.shtml#concl#ixzz3ZmWBDFc1

    Bibliografas

    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