Sesion 01

5
Análisis y diseño de Sistemas Prof. Giancarlo Escobedo Valdivia INGENIERÍA DE SOFTWARE El término Ingeniería se define como un conjunto de conocimientos y técnicas que permiten aplicar el saber científico a la utilización de la materia y de las fuentes de energía. Su aplicación permite la utilización racional de los materiales y de los recursos naturales mediante invenciones, construcciones y otras realizaciones provechosas para el hombre. ¿Qué es software de computadora? El software es un elemento lógico del sistema que se desarrolla, no se estropea y en la mayoría de casos se construye a medida. El software se define también como el producto que abarca programas que se ejecutan dentro de una computadora de cualquier tamaño y arquitectura, documentos que comprenden formularios e impresos y datos que combinan números y texto, y también incluyen representaciones de información de audio, video e imágenes. ¿Qué es la ingeniería de software? La Ingeniería del Software es una disciplina o área de la informática o ciencias de la computación, que ofrece métodos y técnicas para desarrollar y mantener software de calidad que resuelven problemas de todo tipo. Esta disciplina trata con áreas muy diversas de la informática y de las ciencias de la computación, tales como construcción de sistemas operativos, compiladores o desarrollo de aplicaciones en Intranet / Internet. Aborda todas las fases del ciclo de vida de desarrollo de cualquier tipo de sistemas de información y es aplicable a una infinidad de áreas tales como: negocios, investigación científica, medicina, producción, logística, banca y finanzas, derecho, etc. El proceso del software Es el marco de trabajo de las tareas, que se requieren para construir software de alta calidad. Un proceso de software, define el enfoque que se toma cuando el software es tratado por la ingeniería. La ingeniería de software es una tecnología multicapa como se muestra a continuación:

description

Primeros comceptos en el analisis y diseño de sistemas

Transcript of Sesion 01

  • Anlisis y diseo de Sistemas

    Prof. Giancarlo Escobedo Valdivia

    INGENIERA DE SOFTWARE

    El trmino Ingeniera se define como un conjunto de conocimientos y tcnicas que permiten aplicar el saber

    cientfico a la utilizacin de la materia y de las fuentes de energa. Su aplicacin permite la utilizacin racional

    de los materiales y de los recursos naturales mediante invenciones, construcciones y otras realizaciones

    provechosas para el hombre.

    Qu es software de computadora?

    El software es un elemento lgico del sistema que se desarrolla, no se estropea y en la mayora de

    casos se construye a medida. El software se define tambin como el producto que abarca programas

    que se ejecutan dentro de una computadora de cualquier tamao y arquitectura, documentos que

    comprenden formularios e impresos y datos que combinan nmeros y texto, y tambin incluyen

    representaciones de informacin de audio, video e imgenes.

    Qu es la ingeniera de software?

    La Ingeniera del Software es una disciplina o rea de la informtica o ciencias de la computacin, que

    ofrece mtodos y tcnicas para desarrollar y mantener software de calidad que resuelven problemas

    de todo tipo.

    Esta disciplina trata con reas muy diversas de la informtica y de las ciencias de la computacin, tales

    como construccin de sistemas operativos, compiladores o desarrollo de aplicaciones en Intranet /

    Internet. Aborda todas las fases del ciclo de vida de desarrollo de cualquier tipo de sistemas de

    informacin y es aplicable a una infinidad de reas tales como: negocios, investigacin cientfica,

    medicina, produccin, logstica, banca y finanzas, derecho, etc.

    El proceso del software

    Es el marco de trabajo de las tareas, que se requieren para construir software de alta calidad. Un

    proceso de software, define el enfoque que se toma cuando el software es tratado por la ingeniera.

    La ingeniera de software es una tecnologa multicapa como se muestra a continuacin:

  • Anlisis y diseo de Sistemas

    Prof. Giancarlo Escobedo Valdivia

    Cualquier enfoque de ingeniera debe apoyarse sobre un compromiso de organizacin de calidad. El

    fundamento de la ingeniera del software es la capa de proceso. Los mtodos de la ingeniera del

    software indican cmo construir tcnicamente el software. Las herramientas de la ingeniera del

    software Proporcionan un enfoque automtico o semi-automtico para el proceso y para los mtodos,

    Ej.: CASE.

    Las fases genricas de un proceso de software

    Las fases genricas del proceso del software son tres:

    La fase de definicin

    La fase de desarrollo

    La fase de mantenimiento

    La fase de definicin

    Se centra sobre el qu. El que desarrolla el software intenta identificar qu informacin ha de ser

    procesada, que funcin y rendimiento se desea, qu comportamiento del sistema, qu inter-fases van

    a ser establecidas, qu restricciones de diseo existen y qu criterios de validacin se necesitan para

    definir un sistema correcto. Por tanto, han de identificarse los requisitos clave del sistema. Tendrn

    lugar tres tareas clave:

    La ingeniera de sistemas o de informacin

    La planificacin de proyectos de software

    Anlisis de requisitos

    La fase de desarrollo

    Se centra en el cmo. Durante el desarrollo, se intenta definir cmo han de disearse las estructuras

    de datos, cmo ha de implementarse la funcin dentro de una arquitectura de software, cmo han de

    implementarse los detalles proced mentales, cmo han de caracterizarse interfaces, cmo ha de

    traducirse el diseo en un lenguaje de programacin y cmo han de realzarse las pruebas. Las tres

    tareas especficas tcnicas que tendrn lugar son:

    El diseo del software

    La generacin de cdigo

    Las pruebas de software

    La fase de mantenimiento

    Se centra en el cambio que va asociado a la correccin de errores, a las adaptaciones requeridas a

    medida que evoluciona el entorno del software y a cambios debidos a las mejoras producidas por los

    requisitos cambiantes del cliente. Durante la fase de mantenimiento se encuentran cuatro tipos de

    cambios:

    Correccin

    Adaptacin

    Mejora

    Prevencin

    Entre las actividades tpicas de esta categora se incluyen:

    Seguimiento y control del proyecto de software

  • Anlisis y diseo de Sistemas

    Prof. Giancarlo Escobedo Valdivia

    Revisiones tcnicas formales que garanticen de calidad del software

    Gestin de configuracin del software

    Preparacin y produccin de documentos

    Gestin de reutilizacin y de riesgos

    Modelos de proceso de software

    Para resolver los problemas reales de una industria, se debe incorporar una estrategia de desarrollo,

    que acompae al proceso, a los mtodos, las herramientas y las fases genricas tratadas en los puntos

    anteriores. Esta estrategia a menudo se llama Modelo de Proceso o Paradigma de Ingeniera del

    Software. Se seleccionar un modelo de proceso para la ingeniera del software segn la naturaleza

    del proyecto y de la aplicacin.

    A continuacin se presentan los modelos de procesos para la ingeniera del software:

    El Modelo Lineal Secuencial

    El Modelo de Construccin de Prototipos

    El Modelo DRA

    Modelos Evolutivos de Proceso del Software:

    o El modelo incremental

    o El modelo espiral

    o El modelo de desarrollo concurrente

    Desarrollo basado en componentes

    MODELO LINEAL

    MODELO PROTOTIPO

  • Anlisis y diseo de Sistemas

    Prof. Giancarlo Escobedo Valdivia

    MODELO INCREMENTAL

    Metodologa de desarrollo de software

    Es una estrategia de desarrollo que, resuelve problemas reales de la industria del software, explicando

    cmo hay que obtener los distintos productos. La Metodologa de desarrollo de software puede seguir

    uno o varios modelos de proceso de software. Las metodologas se clasifican en:

    Convencionales

    Estructurales

    Orientadas a Objetos

    giles.

    Metodologas de Desarrollo de Software Orientadas a Objetos

    No es sorprendente que se proponga una visin orientada a objetos para la creacin de software de

    computadora, una abstraccin que modela el mundo de forma tal que nos ayuda a entenderlo y

    administrarlo mejor.

    Entre las metodologas destacan:

    - BoochOOD.

    - Rumbaugh OMT.

    - Catalysis.

    - CBDIe.

    - Objectory Process 3.8, 4.0,4.1.

    - Proceso Unificado 1999.

    - Rational Unified Process 5.1, 5.1.1.

    Metodologas giles

    Las metodologas giles forman parte del movimiento de desarrollo gil de software. Se basan en la

    adaptabilidad de cualquier cambio como medio para aumentar las posibilidades de xito de un

    proyecto.

    Una metodologa gil es la que tiene como principios que:

    Los individuos y. sus interacciones son ms importantes que los procesos y las herramientas.

    El software que funciona es ms importante que la documentacin exhaustiva.

    La colaboracin con el cliente en lugar de la negociacin de contratos.

  • Anlisis y diseo de Sistemas

    Prof. Giancarlo Escobedo Valdivia

    La respuesta delante del cambio en lugar de seguir un plan cerrado.

    Se puede decir que, este movimiento empez a existir a partir de febrero de 2001, cuando

    se reunieron los representantes de cada una de estas metodologas y terminaron poniendo

    en comn sus ideas en una declaracin conjunta.

    Entre las metodologas giles destacan:

    Extreme Programming (XP)

    Mtodo del Desarrollo Dinmico de Sistemas (DSDM)

    Desarrollo conducido por Caractersticas (FDD)

    ICONIX