UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE …€¦ ·  · 2015-04-25UNIVERSIDAD DISTRITAL FRANCISCO...

26
Daniel Esteban Berrío Méndez 20131078012 David Andrés Rodríguez Erazo 20131078002 Gerald Alexander Torres Guzmán 20131078094 UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS FACULTAD TECNOLÓGICA PROYECTO CURRICULAR DE SISTEMATIZACIÓN DE DATOS CURSO DE ANÁLISIS DE SISTEMAS PARCIAL 01 1. Explique la propiedad de Encapsulamiento por medio de 2 ejemplos: 1. Al dueño de un auto solo le interesa que este encienda, le funcionen las luces, pueda acelerar y frenar, información como el estado del motor, del carburador, de la transmisión solo es de interés para el mecánico. Auto freno acelerador luces transmisión motor carburador llantas Mantenimiento()Hacer_andar() 2. Un usuario de un computador solo necesita de un computador, que a este le funcione el audio, el video, el mouse y el teclado. No le interesa saber el estado de la memoria RAM, del disco duro, de la board o de la BIOS, datos que si le interesan al técnico de computadores. Computador audio video mouse teclado ram disco_duro board bios Arreglar() Utilizar() 2. Describa mediante un ejemplo el concepto de modelo de software Tenemos un laboratorio que está encargado de administrar o gestionar las salas de informática de una universidad, este tiene internamente un sistema de administración que cuenta con procesos y procedimientos, manuales y otros mecanismos de control propios que permiten el funcionamiento correcto del mismo, para ello se necesita sistematizar todos estos mecanismos de gestión y administración para mejorar y optimizar sus funciones. Mediante un modelo se tiene como objetivo representar el funcionamiento de este laboratorio, identificando todos los componentes que conforman este sistema de administración y así dar un análisis más completo y una referencia a lo que se quiere desarrollar en el software. Para eso se debe identificar los roles que ejerce cada persona que pertenece al laboratorio y que actividades

Transcript of UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE …€¦ ·  · 2015-04-25UNIVERSIDAD DISTRITAL FRANCISCO...

  • Daniel Esteban Berro Mndez 20131078012 David Andrs Rodrguez Erazo 20131078002 Gerald Alexander Torres Guzmn 20131078094

    UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS

    FACULTAD TECNOLGICA PROYECTO CURRICULAR DE SISTEMATIZACIN DE DATOS

    CURSO DE ANLISIS DE SISTEMAS PARCIAL 01

    1. Explique la propiedad de Encapsulamiento por medio de 2 ejemplos: 1. Al dueo de un auto solo le interesa que este encienda, le funcionen las luces, pueda acelerar y frenar, informacin como el estado del motor, del carburador, de la transmisin solo es de inters para el mecnico.

    Auto

    freno acelerador luces transmisin motor carburador llantas

    Mantenimiento()Hacer_andar()

    2. Un usuario de un computador solo necesita de un computador, que a este le funcione el audio, el video, el mouse y el teclado. No le interesa saber el estado de la memoria RAM, del disco duro, de la board o de la BIOS, datos que si le interesan al tcnico de computadores.

    Computador

    audio video mouse teclado ram disco_duro board bios

    Arreglar() Utilizar()

    2. Describa mediante un ejemplo el concepto de modelo de software

    Tenemos un laboratorio que est encargado de administrar o gestionar las salas de informtica

    de una universidad, este tiene internamente un sistema de administracin que cuenta con

    procesos y procedimientos, manuales y otros mecanismos de control propios que permiten el

    funcionamiento correcto del mismo, para ello se necesita sistematizar todos estos mecanismos

    de gestin y administracin para mejorar y optimizar sus funciones. Mediante un modelo se

    tiene como objetivo representar el funcionamiento de este laboratorio, identificando todos los

    componentes que conforman este sistema de administracin y as dar un anlisis ms

    completo y una referencia a lo que se quiere desarrollar en el software. Para eso se debe

    identificar los roles que ejerce cada persona que pertenece al laboratorio y que actividades

  • desarrolla en el mismo teniendo en cuenta todos los procesos y procedimientos que se

    ejecutan en el laboratorio, como:

    EJEMPLO

    ROLES Y ACTIVIDADES

    Coordinador del laboratorio (Supervisin a los laboratoristas, Toma de decisiones importantes

    como peticiones al proyecto curricular al que pertenece; designacin de cargos.),

    Laboratoristas (Elaboracin de actas, Cuidado de las salas de informtica, Control de

    Inventario),

    Monitores (Apoyo y acompaamiento a las funciones de los laboratoristas).

    Usuarios como profesores y estudiantes (Peticiones de uso de las salas de informtica y

    elementos especializados).

    PROCESOS Y PROCEDIMIENTOS

    Prstamo de Salas.

    Practica Libre

    o Solicitud de un usuario para hacer uso de los equipos de la sala de

    informtica.

    PROCEDIMIENTO:

    Verificar requerimientos para el prstamo que certifiquen que el usuario se

    encuentra activo en la universidad y se hace responsable del equipo que se le

    prestara. Requerimientos como:

    o Carnet refrendado para estudiantes o Carnet como funcionario para los

    profesores.

    o Recibo de pago actual cancelado, es decir, que valide el estado activo del

    estudiante en el periodo acadmico de momento.

    Registro del estudiante

    o Registro del cdigo del estudiante en una hoja de Excel y el horario de entrada

    a la sala de informtica y que equipo tiene designado.

    Prstamo de equipo.

    o Se le designa un equipo al usuario en una sala que este disponible.

    o Se le otorga una ficha con el nombre del equipo y se guarda el documento del

    usuario con el que certifico el estado activo en la universidad.

  • Solicitud de clase en una sala de informtica:

    El maestro requiere una sala de informtica para dictar una catedra o clase.

    PROCEDIMIENTO:

    Solicitud

    o El maestro debe requerir con anterioridad el prstamo de la sala mnimo 8 das

    de anticipacin, teniendo en cuenta los horarios de uso las salas de

    informtica.

    Prstamo

    o Si hay disponibilidad de salas se le asigna una en el horario que requiri el

    maestro,

    o Se registran los datos del profesor en un formato con datos bsicos como

    nombre, cdigo.

    o Se aparta la sala para el profesor y se espera el da del prstamo.

    o El profesor firma el formato de prstamo de la sala para hacer acta de

    recibimiento de la sala en buenas condiciones y se hace responsable del lugar

    y los equipos que se encuentran all, en el horario correspondiente del uso de

    la sala.

    Entrega de la sala

    o Se verifica el funcionamiento y estado de todos los equipos de la sala de

    informtica.

    o El maestro firma la entrega de la sala en el formato diligenciado en el

    momento del prstamo.

    En el modelo se busc generar una representacin del funcionamiento del laboratorio para dar

    una base de conocimiento del sistema, identificando el paso a paso y el diario vivir del

    laboratorio, ya que en la vida real no existe ningn objeto que represente de manera exacta

    totalmente estas funciones o se presentan ambigedades que generan desorganizacin.

    3. Explique mediante un ejemplo en qu consiste un ciclo de vida del software

    Se requiere hacer un programa que integre una base de datos de archivos (PDF) con una

    interfaz web, a travs del cual el usuario pueda leer los PDF en lnea o descargarlos a su PC.

    - Requerimientos:

    Entornos de desarrollo (Software):

    1. DBMS para la base de datos (MySQL)

    2. Editor de lenguaje PHP

    Hardware:

    1. Servidor con acceso a internet o WEB

    2. Equipo de desarrollo (PC)

  • - Diseo:

    Modelo Entidad - Relacin

    Usuario Usuario_PDF Archivos PDF

    ID INT

    Nombre VARCHAR(20)

    Apellido VARCHAR(20)

    Correo VARCHAR(20)

    ID_USUARIO INT

    ID_PDF_INT

    ID INT

    Ttulo VARCHAR(20)

    Autor VARVHAR(20)

    Pginas VARCHAR(20)

    Direccin_PDF VARCHAR(50)

    Ao DATE

    Diagrama de clases

    Usuario Archivos PDF

    Int ID

    String Nombre

    String Apellido

    String Correo

    ID INT

    String Ttulo

    String Autor

    String Pginas

    String direccin_PDF

    String Ao

    Descargar();

    Leer();

    - Implementacin / Codificacin:

    1. Levantamiento de informacin y desarrollo de la base de datos con SQL teniendo

    en cuenta el diseo del modelo entidad relacin ya normalizado.

    2. Codificacin en PHP usndolo como un lenguaje orientado a objetos para la

    definicin de las clases, atributos, y funciones.

    3. Configuracin del servidor elegido para el soporte de la aplicacin

    - Pruebas:

    1. Funcionamiento correcto del servidor: Se pueden subir y descargar archivos de la

    base de datos

    2. Interfaz web: Los usuarios se pueden registrar en la aplicacin y no tienen

    problemas en la visualizacin de los PDF en lnea.

    - Mantenimiento:

  • 1. A travs de los feedback de los usuarios se mejora la visualizacin de los PDF en

    lnea

    2. Se revisa constantemente si los archivos siguen estando en lnea o tiene problemas

    para su visualizacin o descarga.

    4. Describa mediante un ejemplo las etapas del modelo de ciclo de vida en Espiral.

    Se desea hacer una calculadora bsica, los pasos a seguir serian los siguientes: Primer ciclo:

    Determinar objetivos: Se determina que para el final del primer ciclo la calculadora debe poder sumar. Anlisis de riesgo: Se evala las posibilidades de que la calculadora no funcione correctamente al final del primer ciclo, por ejemplo, que no sume correctamente. Desarrollar y probar: Crear el programa y verificar que opere las sumas correctamente, en caso contrario corregir el error. Planificacin: Se prepara el siguiente ciclo y como es el primer ciclo, no es necesario integrar el progreso al proyecto que se lleva.

    Segundo ciclo: Determinar objetivos: Se determina que para el final del segundo ciclo la calculadora debe poder restar. Anlisis de riesgo: Se evala las posibilidades de que la calculadora no funcione correctamente al final del segundo ciclo, por ejemplo, que no opere las restas correctamente. Desarrollar y probar: Crear el programa y verificar que realice las restas correctamente, en caso contrario corregir el error. Planificacin: Se prepara el ciclo final y como ya es el segundo ciclo, se empieza a integrar esta nueva funcionalidad al progreso del proyecto que se llevaba.

    Tercer ciclo: Determinar objetivos: Se determina que para el final del tercer y ltimo ciclo la calculadora debe poder multiplicar y dividir. Anlisis de riesgo: Se evala las posibilidades de que la calculadora no funcione correctamente al final del segundo ciclo, por ejemplo, que no controle errores aritmticos, como divisiones entre 0, o que no opere correctamente los productos y las divisiones. Desarrollar y probar: Crear el programa y verificar que realice las operaciones de multiplicacin y divisin correctamente, en caso contrario corregir el error. Planificacin: Finalmente se integra esta ltima funcionalidad al progreso del proyecto que se llevaba.

    5. Explique en qu consisten las fases y flujos de trabajo de la metodologa RUP

    Las fases y flujos de trabajo de la metodologa RUP se dividen de la siguiente manera:

    FLUJOS DE TRABAJO (WORKFLOWS)

    Se dividen en dos:

    WokFlows de proceso o de Ingeniera:

  • Modelado del negocio:

    Se determina todo lo relacionado a la organizacin como: Activos, Objetivos, Reglas del

    negocio, Arquitectura inicial, Vocabulario.

    Para esto se hace uso de modelo de procesos, modelo de dominio, Glosario de trminos.

    Requerimientos:

    El cliente y el grupo de trabajo debe acordar o pactar los que el sistema debe realizar, es decir

    especificar las funciones que desarrollara.

    Anlisis y diseo:

    En anlisis se debe realizar una descripcin de como se implementara el sistema en la

    organizacin. Para ello se debe realizar las siguientes actividades:

    Ejecutar las tareas y funciones descritas en los casos de uso

    Satisfacer todos los requerimientos

    Hacer el sistema flexible a cambios

    En diseo se debe empezar a identificar la arquitectura del sistema, esa es la nica prioridad

    en esta etapa ya que a partir de las validaciones que se le de a la arquitectura, se desarrollara

    todo el proyecto, por eso se deben realizar un correcto modelo de diseo que incluya:

    Clases estructuradas en paquetes

    Diseos de subsistemas con interfaces definidas (componentes)

    Forma de colaboracin entre las clases.

    Implementacin:

    En este flujo se trabaja ms internamente el sistema, es decir, luego de todo el anlisis y

    diseo ya se empieza pensar en el cdigo, en cmo estar divido, en los componentes

    desarrollados y en la integracin de los mismos.

    Prueba:

    Aqu se busca identificar mediante diagnsticos a los diferentes componentes del sistema

    como por ejemplo la integridad e interaccin de los objetos, constante verificacin de si lo que

    se realiza si se est acoplando a los requerimientos planteados anteriormente y por ltimo,

    identificar errores y defectos de ltima hora antes de posterior instalacin.

    Implantacin:

    El objetivo principal de este flujo es lograr entregar al usuario final el producto desarrollado,

    por lo cual se incluyen las tareas de la realizacin de un relase, empaquetar, distribuir e

    instalar el software y por supuestos la debida capacitacin y acompaamiento al usuario.

    WokFlows de soporte o trabajo de apoyo:

    Manejo de configuraciones:

  • Se establece cmo controlar los elementos producidos por todos los integrantes del equipo de

    proyecto en cuanto a: utilizacin/actualizacin concurrente de elementos, control de

    versiones, entre otras.

    Administracin del proyecto:

    Es el arte de balancear objetivos contrarios, manejar riesgos y producir software que satisface

    a clientes y usuarios.

    Involucra actividades con las que se busca producir un producto que satisfaga las necesidades

    de los clientes.

    Entorno:

    Contiene actividades que describen los procesos y herramientas que soportarn el equipo de

    trabajo del proyecto; as como el procedimiento para implementar el proceso en una

    organizacin.

    FASES:

    Inicio

    Esta fase tiene como objetivo definir y acordar el alcance del proyecto, identificar riesgos

    asociados al proyecto, proponer una visin muy general de la arquitectura de software y

    producir el plan de las fases y el de iteraciones posteriores.

    Elaboracin

    En la fase de elaboracin se seleccionan los casos de uso que permiten definir la arquitectura

    base del sistema y se desarrollaran en esta fase, se realiza la especificacin de los casos de uso

    seleccionados y el empieza a encontrar un primer anlisis y dominio del problema, se disea la

    solucin preliminar.

    Construccin

    El propsito de esta fase es completar la funcionalidad del sistema, para ello se deben clarificar

    los requisitos pendientes, administrar los cambios de acuerdo a las evaluaciones realizados por

    los usuarios y se realizan las mejoras para el proyecto.

    Transicin

    El propsito de esta fase es asegurar que el software est disponible para los usuarios finales,

    ajustar errores y defectos encontrados en las pruebas, capacitacin a los usuarios y brindar el

    soporte tcnico necesario. Se debe verificar que el producto cumpla con las especificaciones

    entregadas por las personas involucradas en el proyecto.

  • 6. Explique la propiedad de polimorfismo por medio de dos ejemplos

    1. Ejemplo 1: Figuras geomtricas

    FIGURA

    rea();

    CRCULO CUADRADO TRINGULO

    Radio Alto

    Ancho

    Base

    Altura

    rea(); rea(); rea();

    En la figura, se ejemplifica el polimorfismo con una clase llamada FIGURA, a partir de la

    cual se derivan CRCULO, TRINGULO y CUADRADO. Como se puede ver, todas tienen

    el mismo mtodo rea(), solo que al invocarlo, cada clase realizar la operacin

    correspondiente de acuerdo a quien lo est invocando, es decir, los algoritmos del

    clculo de rea son diferentes en cada clase derivada.

    2. Ejemplo 2: Animales

    ANIMAL

    String tipo

    HacerRuido();

    PERRO GATO

    String tipo String tipo

    HacerRuido(); HacerRuido();

    En la figura, se ejemplifica el polimorfismo con una clase llamada ANIMAL, a partir de

    la cual se derivan PERRO y GATO. Como se puede ver, todas tienen el mismo mtodo

    HacerRuido();, solo que al invocarlo, cada clase realizar la operacin correspondiente

  • de acuerdo a quien lo est invocando, es decir, cada funcin devolver el String del

    sonido que hace el animal respectivo.

    7. Dos ejemplos que expliquen las etapas de un proyecto de ingeniera 1. Anlisis: Para construir una casa, se analizan los requisitos, como el nmero de habitaciones, baos, cocinas, etc. Se fijan las expectativas del proyecto. Se cotiza el precio de la obra, y el tiempo estimado para la misma, analizando los recursos humanos, materiales y financieros con los que se pueden contar. Diseo: Se organizan las tareas a hacer, se estiman tiempos para cada tarea, y se estima tambin cunto costar entregar la obra cumpliendo los requisitos, finalmente se realizan los planos de la construccin para poder tener una idea ms clara de las tareas por asignar. Implementacin: Se ponen en marcha todas las tareas asignadas en la planificacin, como el levantamiento de muros, la instalacin de tuberas, cableado y dems medios para permitir el acceso de servicios pblicos al interior de la casa, la postura de pisos, etc. Y se van haciendo breves anlisis para administrar el proyecto y saber qu progreso lleva el mismo. Pruebas: Se asegura de haber cumplido con los requisitos establecidos, como el buen funcionamiento de los servicios pblicos, una estructura slida y todo lo dems, se compara con la calidad esperada en el proceso de planificacin, y se corrigen los errores que hayan antes de que se cumpla el tiempo establecido. Mantenimiento: Se hacen arreglos mnimos y se aaden detalles finales de la construccin. 2. Anlisis: Se requiere un software bsico para hacer la contabilidad de una tienda pequea, para esto se analizan los requisitos del software, como son todas las funciones que tendr, y las especificaciones del usuario, se hace una cotizacin del proyecto, y se hace un acta que contenga los requisitos y sea firmada por el usuario. Diseo: Se organizan las tareas a hacer, se hace una estimacin de tiempo para cada tarea, y una estimacin para saber cunto costar entregar la obra con los requisitos y dentro de los lmites establecidos. Finalmente se hacen diagramas para entender de forma ms clara lo que se tiene que hacer y finalmente se reparten las tareas dentro del grupo de trabajo Implementacin: Se ponen a andar todas las tareas asignadas, como la escritura del cdigo del software, la parte grfica, la parte de seguridad, etc. y finalmente se hace un anlisis para cerciorarse de que todo el progreso de las tareas va de forma paralela y de acuerdo al cronograma.

  • Pruebas: Se verifica el cumplimiento de los requisitos establecidos, como la buena realizacin de las operaciones aritmticas, la ausencia de fallos o errores, la seguridad como se determin, etc. Se compara la calidad del proyecto con lo que se esperaba, y si hay errores se corrigen antes de que se cumpla el tiempo establecido. Mantenimiento: Se asegura de que se cumplan los requisitos y los tiempos especificados en el acta, se aaden detalles mnimos al diseo y se crean actualizaciones si es necesario.

    8. Explique 2 metodologas de desarrollo de software mediante un ejemplo

    respectivamente

    Metodologas de desarrollo XP

    Fase de planeacin:

    Un cliente llega a una empresa de desarrollo de software para solicitar un software que sea

    capaz de gestionar la administracin de la informacin de un laboratorio de mecnica dental.

    El cliente especifica que solo requiere que se sistematice la informacin pertinente a los

    trabajos que se realizan en el laboratorio, como registro de informacin de pacientes,

    doctores, clnicas, materiales, precios de los trabajos, estructura de los trabajos.

    Prioriza los requerimientos del software y con el grupo de trabajo se estiman los costes de

    desarrollo de las historias que conformaran el proyecto.

    Fase de diseo:

    El grupo de trabajo empieza a realizar los correspondientes diseos que deben ser de carcter

    simplificado, para que el cliente y todos los desarrolladores identifiquen los objetivos a

    cumplir. Como pasos y recomendaciones es desarrollar glosarios de trminos, y buenos

    modelos de procesos y clases.

    Fase de codificacin:

    El trabajo de codificacin se dividir en parejas para que el trabajo sea ms ptimo, este

    trabajo en parejas permite un constante seguimiento y desarrollo en menor tiempo. Aqu el

    equipo de desarrollo debe enfocarse al comienzo en la pruebas de unidad para las historias del

    usuario.

    Fase de pruebas:

    El equipo de desarrollo debe empezar a poner a prueba el software que el cliente solicito,

    como test a las bases de datos con las posibles consultas que puede generar el usuario final,

    test al interfaz como su correcto funcionamiento, conexin con el servidor, entre otras

    pruebas.

    As, el equipo de trabajo repetir estos trabajos con la lista de requerimientos priorizados

    hasta terminar todo el proyecto.

  • Metodologa de desarrollo SCRUM

    Un cliente se pone en contacto con una empresa que fabrica computadores.

    El cliente les realiza el pedido donde se especifica que quiere un computador que sea ptimo

    para jugar videojuegos de alta gama.

    Posteriormente el cliente se rene con el dueo del producto el cual toma apuntes de la idea

    que concibe el cliente.

    El Dueo de Producto divide el proyecto en historias que son las que componen la pila de

    producto, es decir, los diferentes componentes del computador como lo son: la tarjeta madre

    (Velocidad, numero de puertos expandibles, etc.), el procesador (marca y velocidad), la

    memoria RAM (Tipo de Bus, Velocidad), Tarjeta Grfica (Tipo de bus), entre otras.

    El Scrum Master es un miembro del equipo que tiene el papel de comunicar y gestionar las

    necesidades del Dueo de Producto y la pila de Sprint.

    El Dueo de Producto le entrega la pila de producto para que estimen el coste de creacin del

    producto (el computador).

    El equipo se rene para estimar el coste de cada historia de la pila de producto.

    En este caso utilizan Planning Poker.

    El cliente, una vez aprobado el presupuesto, reordena la pila de producto para que el equipo

    vaya trabajando segn la prioridad del cliente.

    El equipo comienza su trabajo desglosando la primera historia de la pila de producto, la cual

    subdividen en tareas menores para crear la pila de sprint.

    La pila de sprint tiene como utilidad fraccionar el trabajo de un periodo de 15 das en tareas

    ms pequeas, que tarden como mucho dos das.

    Estas tareas se colocan en una pila, la cual prioriza el Dueo de Producto, que ha consultado

    con el cliente, antes de comenzar el sprint.

    El equipo comienza el sprint tomando las tareas priorizadas.

    Una vez concluida una se toma la siguiente de la lista.

    Se convoca todos los das una reunin del equipo donde se cuenta las tareas realizadas el da

    anterior y cuales se van a realizar ese da.

    Una vez finalizado el sprint, el Dueo de Producto le muestra al cliente el resultado del trabajo

    realizado.

    El cliente ya tiene el primer contacto con su encargo y adems puede volver a priorizar la pila

    de producto antes de que comience otro sprint.

  • El equipo de trabajo celebra su buen hacer con una reunin de retrospectiva, donde se analiza lo ocurrido durante el sprint.

    9. Explique detalladamente 4 problemas que afectan el desarrollo de software

    - Naturaleza lgica del software

    El principal reto del desarrollo de software es la comunicacin humano-maquina. El

    conocimiento terico para realizar un proyecto que involucre esta condicin es un

    desafo intelectual que sin dudas significa un reto importante en el desarrollo.

    - Mala gestin de los proyectos:

    Por lo general este problema a surge gracias a la falta de planificacin antes de

    comenzar el desarrollo de un producto, por lo tanto se convierte en un factor

    fundamental a la hora de evaluar la calidad de un proyecto de software. Sus

    caractersticas fundamentales son:

    1. Falta de comunicacin

    2. Ausencia de datos

    3. Desfases respecto al tiempo de entrega

    4. Sobrecosto del proyecto

    5. Falta de control

    6. No hay evaluacin de resultados

    - Ausencia de entrenamiento formal en nuevas tcnicas:

    Otro factor fundamental cuando se realiza un proyecto de desarrollo de software son

    las personas encargadas de llevarlo a cabo. Para que un producto cumpla con los

    estndares mnimos de calidad requiere de un equipo de individuos capacitados y muy

    bien preparados para enfrentar los desafos que conlleva el desarrollo de software.

    Esto genera confianza en el producto y por lo tanto confianza en el cliente.

    Sin embargo, tener un buen equipo de programadores no es suficiente, sobre todo

    cuando el software tiene la caracterstica de ser evolutivo. Continuamente aparecen

    nuevas tcnicas, mtodos, herramientas, metodologas, paradigmas e incluso nuevos

    lenguajes de programacin que solucionan de manera ms eficiente los problemas de

    desarrollo. La principal consecuencia de esta caracterstica del SW es que una persona

    no debe limitarse a una sola manera de hacer las cosas, ni dejar de prepararse en las

    nuevas tendencias de la programacin y, sobre todo, no restringirse a ser solo un

    programador y pasar a ser un ingeniero de software. Por lo tanto, la preparacin

    integral en todos los mbitos de desarrollo adems de una constante adaptacin de

    nuevas herramientas hace que un equipo de trabajo sea ms productivo y genere

    productos de ms calidad.

    - Resistencia al cambio

  • Uno de los mitos de los desarrolladores es que un proyecto finaliza cuando un

    programa est funcionando. La principal consecuencia de este pensamiento es que no

    se genera un software capaz de adaptarse a nuevas tecnologas o ideas que pueden

    surgir ms all de los tiempos de ejecucin del proyecto, por lo tanto estos tipos de

    software tienden a deteriorarse muy rpido. Para combatir la resistencia al cambio se

    propone tener en cuenta en el desarrollo de software los siguientes aspectos:

    El software debe adaptarse para que cumpla las necesidades de los nuevos

    ambientes del cmputo y de la tecnologa.

    El software debe ser mejorado para implementar nuevos requerimientos del

    negocio.

    El software debe ampliarse para que sea operable con otros sistemas o bases

    de datos modernos.

    10. Explique mediante un ejemplo en qu consiste un proyecto de software Un proyecto de software consiste en la obtencin de unos requisitos del usuario y en la gestin de recursos que se tienen para poder cumplir con esos requisitos en un tiempo determinado. En este caso el ejemplo ser nuevamente con el software que cumpla las funciones de una calculadora. La primera fase ser la de anlisis de requerimientos, dnde se extraen los requisitos del software, como el hecho de que sume, reste, multiplique y divida correctamente, se le ayuda al cliente para que determine en s, qu es lo que necesita y espera del software, es una etapa donde se deben eliminar la mayor cantidad de ambigedades posibles con el usuario. La segunda fase es la de especificacin, donde se describe detalladamente el software, el comportamiento esperado del mismo y su interaccin con los usuarios. Como el diseo visual que espera ver el usuario dentro de otras cosas. La tercera fase es la de diseo y arquitectura, donde se determina como funcionar de forma general el software, sin entrar en detalle como las consideraciones de hardware o de red, se realizan diagramas para entender la forma en la que funcionar la calculadora. La cuarta fase es la de programacin, es donde se traduce el diseo al cdigo, es la primera fase donde se pueden obtener resultados "tangibles", en esta fase se crea la lgica de la calculadora, esta fase no es la ms larga necesariamente, pero si han habido errores o ausencias en las etapas anteriores, se tendrn que corregir todas en esta etapa. La quinta fase es la de prueba, se comprueba que la calculadora funcione coherentemente y que realice correctamente las tareas indicadas, es importante buscar errores en todos los espacios posibles para que el software no falle en ningn momento. La sexta fase es la de documentacin, aqu se hace un manual para el usuario explicando las funcionalidades de la calculadora y los pasos a seguir, y si es necesario tambin un manual para tcnicos para poder hacer mantenimiento en un futuro.

  • La sptima y ltima fase es la de mantenimiento, en esta etapa se hacen el mantenimiento correctivo, que es la correccin de errores que pueda tener la calculadora, y mantenimiento evolutivo, donde se le pueden aadir nuevas funcionalidades a la calculadora, por ejemplo, graficar funciones matemticas.

    11. Explique mediante ejemplos 4 caractersticas de los proyectos de software

    Caractersticas del Software

    Invisibilidad.

    El avance dentro de un proyecto de construccin de cualquier otra rea de la ingeniera

    puede ser visto claramente como la construccin de una casa o un automvil, mientras que en

    la construccin o elaboracin de software no es inmediatamente visible, ya que implica

    muchos factores conceptuales que han de ser abstractos y que no se pueden identificar

    inmediatamente y requieren un profundo anlisis.

    Complejidad

    Los proyectos de software contienen mayor complejidad que otros tipos de proyectos

    respecto al dinero y tiempo gastado, implican una mayor planificacin. Ejemplo:

    Se estima la construccin de una nmina para una empresa, pero esta maneja sus propios

    valores, ndices y porcentajes frente al pago de sus empleados, solo este factor implica un

    trabajo de mayor tiempo en anlisis y estudio de esas variaciones, involucra ms personal

    como especialista en el tema y asesores lo cual implica mayores costes. Esto va en relacin a

    que desarrollar un proyecto en otra rea de ingeniera es de forma ms genrica, en cambio el

    desarrollo del software se tiene una tendencia ms al desarrollo a la medida.

    Flexibilidad

    El software puede cambiarse ms fcilmente que otros productos, pero en muchas ocasiones

    estos cambios generan gran descontrol en la gestin de un proyecto de software, como

    ejemplo tenemos el cambio en alguno de los ndices de la nmina anteriormente planteada, es

    verdad que el cambio de un ndice es algo poco significativo, pero que en la estructura de la

    nmina es catastrfico, ya que de l dependen otras funciones de la nmina, por lo cual hace

    entrar en conflicto el programa y por tanto una mala respuesta al mismo.

    12. Explique mediante un ejemplo los procesos de del ciclo de vida ISO/IEC 12207

    Ejemplo: Implementar un aplicativo para el control de pensiones de los maestros en

    una empresa del estado.

    Procesos principales.

    1. Adquisicin.

    Actividades del adquiriente:

  • Suministrar toda la informacin requerida para el funcionamiento

    del aplicativo.

    Proveer todos los recursos econmicos para la compra de

    hardware o licencias de software a lo largo del proyecto.

    Establecer medios de comunicacin constantes entre

    desarrollador adquiriente proveedor para un avance eficiente

    del proyecto.

    Ser cumplido con los salarios y pagos tanto para el desarrollador

    como para el proveedor.

    2. Suministro.

    Actividades de proveedor:

    Suministrar a tiempo todos los elementos de hardware y software

    requeridos por el adquiriente o el desarrollador durante el

    desarrollo del proyecto.

    Garantizar calidad en todos los productos entregados al

    adquiriente.

    3. Desarrollo.

    Actividades del desarrollador:

    Cumplir con las diferentes fases del proyecto documentando los

    resultados de cada una, entregando estos informes al cliente de

    acuerdo al cronograma previamente establecido.

    Establecer constante comunicacin con el adquiriente y el

    proveedor, siendo muy puntual con las solicitudes de productos.

    Garantizar el desarrollo del software de acuerdo a los

    requerimientos del cliente, en lo posible sin desfasarse de los

    tiempos establecidos ni superando el presupuesto inicial del

    proyecto.

    4. Operacin.

    Actividades del operador:

    La persona encargada del aplicativo luego del proceso del

    desarrollo deber garantizar que se cumplan todas las

    especificaciones de la empresa.

    Debe evitar a toda costa modificar la aplicacin sin una consulta

    previa del desarrollador.

    Debe reportar ante la empresa cualquier fallo que se pueda

    presentar antes, durante y despus del montaje del aplicativo.

    5. Mantenimiento.

    Actividades del responsable de mantenimiento:

    Realizar constantemente tareas de inspeccin de la aplicacin para

    detectar cualquier fallo.

    Hacer reportes constantes del estado de toda la arquitectura del

    aplicativo, determinando fechas de caducidad, cambio o

    mantenimiento de las partes que lo requieran

  • Tener a la mano un plan de contingencia dado por el desarrollador

    para poder solventar diversos problemas que se puedan presentar.

    Procesos de soporte.

    1. Documentacin

    Se har una documentacin constante de toda la fase de

    desarrollo e implementacin del proyecto.

    Se harn informes constantes del estado del aplicativo.

    Se realizarn informes de fallos y reparaciones de la aplicacin a

    travs del encargado del mantenimiento.

    2. Gestin de la configuracin.

    Se har una revisin y documentacin de los siguientes aspectos:

    1. Ejecutables.

    2. Cdigo Fuente.

    3. Modelos de datos.

    4. Modelos de procesos.

    5. Especificaciones de requisitos.

    6. Pruebas.

    Y para cada uno de estos se especificara:

    1. Nombre.

    2. Versin.

    3. Estado.

    4. Localizacin.

    3. Aseguramiento de calidad.

    Con cada entrega de prototipos, productos, hardware, software

    tanto de la aplicacin como del proveedor, se har un informe

    completo del nombre, estado, versin, y localizacin. Adems se

    establecern fechas de revisin graduales para inspeccionar las

    garantas de los productos entregados a la fecha.

    4. Verificacin.

    Cada dos semanas, el encargado de revisar el proyecto de

    desarrollo estudiar todas las acciones y acuerdos establecidos en

    el cronograma para verificar los tiempos de entrega y la calidad del

    producto.

    5. Validacin.

    Cada fecha de entrega del prototipo, un encargado de la empresa

    validar que el software cumpla con todas las expectativas del

    cliente, realizando un informe de requerimientos cumplidos y por

    cumplir.

    6. Revisin conjunta.

  • Se asignar un revisor de proyecto para que cumpla con la

    evaluacin de desarrollo cada 3 semanas o cuando alguna de los

    productos est listo para entrar a fase de pruebas.

    7. Auditora.

    Se definir un grupo de auditores que evaluaran con un periodo de

    un mes los acuerdos y los avances del proyecto de acuerdo al

    cronograma hecho en la fase de planificacin. Adems de hacer

    una revisin de todos los productos ya entregados a la fecha para

    garantizar su funcionalidad.

    8. Resolucin de problemas.

    Cuando en alguna de las fases anteriores se presente una

    disconformidad o problema, se deben reunir las partes encargadas

    de esta frase del proyecto (Evaluadores, desarrollador, proveedor

    y cliente) para buscar una solucin a la discrepancia encontrada.

    Procesos de la organizacin.

    1. Gestin:

    2. Infraestructura.

    3. Mejora.

    4. Recursos Humanos.

    13. Explique detalladamente 4 reas de la ingeniera de software Desarrollo de Software:

    El desarrollo de software est definido por unos recursos, un tiempo y unos requerimientos. Es un proceso donde debe existir una planeacin y un seguimiento a esa planeacin, esta planeacin est conformada por actividades, recursos y tiempo, donde esas actividades se realizan en un proceso definido. Es un proceso que comprende 6 etapas para completarse, como son la obtencin de requisitos del usuario, el anlisis; donde se describe el comportamiento esperado del software; el diseo; donde se diagrama cmo debe funcionar el software, la codificacin; que es traducir el diagrama a cdigo de programacin, las pruebas; donde se comprueba el funcionamiento coherente del software y se buscan posibles errores, la liberacin; que es la terminacin y entrega del software.

    Gestin de proyectos:

    La gestin de proyectos es la aplicacin de recursos humanos y no humanos a las actividades de un proyecto con el fin de cumplir con sus requerimientos. La gestin de proyectos implica hacer un balance permanente entre el alcance, tiempo, los costos y la calidad, teniendo en cuenta los requisitos y los recursos disponibles. Es necesario contar con una metodologa de comunicacin, coordinacin y control efectivos, para tener el control de la sincrona del grupo de trabajo. Es tambin necesario contar con un plan para medir los avances del proyecto. Es importante tener nfasis en un desempeo, para lograr proyectos dentro del presupuesto, tiempo, y que cumpla con los requisitos determinados por el cliente.

  • Mtricas del Software:

    Las mtricas son las medidas que se utilizan para evaluar el software para indicar la calidad de ste, la productividad de sus desarrolladores, los beneficios de nuevas metodologas y herramientas, y para poder tener una base para las estimaciones futuras. Existen diferentes clasificaciones de mtricas, como mtricas de productividad que evalan el costo y proceso aplicado, y la velocidad de ejecucin y tamao de memoria del software. Las mtricas de calidad solo analizan el producto, funcionalidad, calidad, complejidad, eficiencia, fiabilidad, facilidad de mantenimiento.

    Mantenimiento de Software:

    El mantenimiento de software es la modificacin de un producto de software despus de que ste es entregado, como correccin de errores, o mejorar el rendimiento por medio de actualizaciones. El mantenimiento tambin incluye la eliminacin de funciones obsoletas y la optimizacin del software, evitando dejar caer en la obsolescencia al software. El objetivo del mantenimiento es preservar el valor del software sobre el tiempo, esto se puede lograr cumpliendo requisitos adicionales, siendo cada vez ms fcil de usar, ms eficiente y empleando ms nuevas tecnologa.

    14. Explique 3 ventajas y desventajas de los modelos de ciclo de vida de software:

    Cascada, incremental, DRA, prototipos y espiral.

    CICLO DE VIDA CASCADA:

    Ventajas:

    o Est dirigido por los tipos de documentos y resultados que deben obtenerse

    al final de cada etapa:

    La ventaja de este modelo es que en cada etapa, se debe tener una documentacin muy

    detallada de los que se hace en ella para que al seguir a una nueva etapa no se presenten

    conflictos.

    Ha sido muy usado y, por tanto, est ampliamente contrastado:

    Al ser un modelo ya con varios aos de creacin, est sujeto a diferentes adaptaciones que lo

    optimizan y lo hacen de mayor fiabilidad.

    Ayuda a detectar errores en las primeras etapas a bajo costo:

    Precisamente la buena planificacin de cada una de las etapas en teora, debera someter al

    proyecto al ms mnimo error que se presente a futuro, pero esto no lo hace sujeto a

    imprevistos en el desarrollo del software.

    Desventajas:

    o Muy rgida su estructura:

    En este modelo, la dependencia de una etapa sobre la otra es muy marcada, ya que para la

    inicializacin de un se necesita obligatoriamente el trmino de la anterior, lo que se traduce a

    mayor tiempo invertido y por consiguiente mayores costos en el proyecto.

    Difcil adaptacin a correcciones futuras:

  • En la vida real los proyectos de desarrollo de software casi nunca siguen el flujo secuencial

    propuesto por el modelo. Aunque en este modelo se acepta repeticiones, no se pude

    comparar con un modelo ms iterativo. Como resultado, los cambios extraordinarios generan

    confusin conforme el equipo del proyecto est avanzando en el desarrollo y los errores serian

    catastrficos.

    El producto final puede que no refleje los requerimientos del usuario:

    En muchas ocasiones, cliente no pude enunciar en forma clara todos los requerimientos que

    necesita, por lo cual por la estructura rgida de este modelo no se puede tener claro si se

    cumplan las expectativas que tiene el cliente frente al producto que se le va a desarrollar.

    CICLO DE VIDA INCREMENTAL

    Ventajas:

    o Se puede construir un sistema grande subdividindolo en pequeos sistemas.

    o Implica menores riesgos desarrollar por pequeos componentes que el

    desarrollo de un sistema ms complejo y de mayor tamao.

    o No se necesita conocer todos los requerimientos que implica el sistema

    completo, ya que se enfoca en los requerimientos especficos de cada

    subsistema.

    Desventajas:

    o A pesar de dividir el sistema, se sigue desarrollando con un pensamiento de un

    trabajo de un sistema completo.

    o En el modelo incremental se supone que todos los problemas ya se tienen

    estimados al subdividirse el trabajo de desarrollo.

    o Uno de los errores ms frecuentes es la suposicin de que se pueden abarcar

    todos los requerimientos del proyecto al inicio de cada etapa, lo cual hace que

    el proyecto falle si se presentan imprevistos.

    CICLO DE VIDA DRA

    Ventajas:

    o Al lograrse una buena planificacin y sincronizacin del grupo de trabajo, se

    generara productos en menor tiempo.

    o La vinculacin de mucho personal est permitido.

    o Est enfocado para proyectos de pequea escala

    Desventajas:

    o Requiere una muy buena planificacin, ya que la divisin del trabajo es grande

    y asumir responsabilidades es difcil cuando se tiene un gran nmero de

    personas.

    o Requiere una muy buena sincronizacin de trabajo entre las diferentes

    personas que conforman el equipo de trabajo.

    CICLO DE VIDA PROTOTIPOS

    Ventajas:

    o Permite la construccin del sistema con requisitos poco claros o cambiantes

    o El cliente recibe una versin del sistema en muy poco tiempo, por lo que lo

    puede evaluar, probar e, incluso, empezar a utilizarlo

  • o Se pueden introducir cambios en las funcionalidades del sistema en cualquier

    momento.

    Desventajas:

    o Requiere trabajo del cliente para evaluar los distintos prototipos y traducirlo

    en nuevos requisitos

    o Requiere un tiempo adicional para definir adecuadamente el sistema

    o No se sabe exactamente cunto ser el tiempo de desarrollo ni cuantos

    prototipos se tienen que desarrollar

    CICLO DE VIDA ESPIRAL

    Ventajas:

    o Es un enfoque realista del desarrollo del software.

    o Permite aplicar el enfoque de construccin de prototipos en cualquier

    momento para reducir riesgos.

    o Reduce los riesgos antes de que se conviertan en problemticos.

    Desventajas:

    o Puede resultar difcil convencer a algunos clientes de que el enfoque evolutivo

    es controlable.

    o Solo resulta aplicable para proyectos de gran tamao

    Supone una carga de trabajo adicional, no presente en otros ciclos de vida.

    15. Explique mediante un ejemplo el ciclo de vida basado en prototipos

    Ejemplo: Escribir un ensayo

    Fase de planeacin

    a. Recoleccin y refinamiento de requisitos:

    Recoleccin de ideas

    Tesis o idea principal del ensayo

    Fundamentos o ideas que apoyen la tesis

    Conclusiones

    Fase Cclica: Estos procesos se repiten hasta que el prototipo se ajusta

    perfectamente a las necesidades del cliente

    b. Diseo rpido: Aqu se hace el ensayo completo buscando agilidad en el

    proceso.

    c. Construccin del prototipo: Se concibe el ensayo que se va a presentar para

    su evaluacin.

    d. Evaluacin del prototipo: El evaluador decide si el ensayo est bien o se debe

    mejorar.

    e. Refinamiento del prototipo: Se corrigen errores y se vuelve a iniciar si no se

    cumplen las expectativas del evaluador.

  • Fase final:

    f. Producto: Se entrega la versin final del ensayo con el visto bueno del

    evaluador.

    16. Etapas del modelo del ciclo de vida DRA por medio de un ejemplo: Se desea un software que pueda hacer la contabilidad del rea de ventas de un negocio, y tambin el inventario del rea del mismo nombre. Etapa 1: La etapa de Definicin Conceptual que define las funciones del negocio y las reas sujeto de datos que el sistema apoyar y determina el alcance del sistema. En esta etapa se definen las reas que soportar el sistema, en este caso son el rea de ventas y de inventario. Etapa 2: La etapa de Diseo Funcional que modela los datos y los procesos del sistema para construir un prototipo de trabajo de los componentes crticos del sistema. En este caso se hace un prototipo del software que especifique las funcionalidades que se requieren, como las funciones matemticas para el rea de ventas y otras funciones que ayuden a llevar conteos en el rea de inventario. Etapa 3: La etapa de Desarrollo que completa la construccin fsica de la base de datos y del sistema de aplicacin, construye el sistema de conversin y elabora ayudas de usuarios y planes de trabajo a desarrollar. En esta etapa se desarrolla el cdigo del aplicativo obedeciendo los requerimientos descritos en el principio del proyecto. Etapa 4: La etapa de Despliegue que incluye la puesta a prueba y la capacitacin del usuario final, la conversin de datos y la implementacin del sistema de aplicacin. En esta etapa se finaliza el aplicativo, y se capacita al usuario, explicndole el funcionamiento del aplicativo y cmo aplicarlo en las reas de ventas e inventario.

    17. Explique mediante ejemplos en qu consiste una metodologa de desarrollo de

    software.

    Se entiende por metodologa un conjunto de pasos y procedimientos a seguir para desarrollar

    un producto, en nuestro caso desarrollar software.

    Estos pasos o procedimientos se definen en etapas las cuales se encargan de subdividir el

    proceso de desarrollo.

    Como ejemplo tenemos el desarrollo de un software para la ayudar en la enseanza de las

    matemticas en nios de 1 de primaria, por tanto este proceso de desarrollo debe pasa por

    las fases que se plantearan a continuacin.

    Etapa de Requerimientos:

    En esta etapa el equipo de desarrollo junto con el cliente establece los requerimientos del

    sistema a desarrollar, especificando todas las funciones que el software debe realizar.

  • Ejemplo:

    El cliente solicita que el programa tenga un mdulo donde el estudiante pueda realizar sumas

    y restas, y se le indique los pasos que se hacen en las operaciones.

    Tambin se solicita un mdulo que muestre las entradas de los usuarios al sistema.

    Etapa de Anlisis:

    En esta etapa el equipo de desarrollo analiza y hace aproximaciones a la solucin del

    problema, creando artefactos (modelos) tomando en cuenta los requerimientos de la etapa

    anterior.

    Ejemplo: El grupo de trabajo empieza a crear aproximaciones a los Modelo de casos de usos

    del software, aproximaciones al diseo que se quiere implementar.

    Identificando las reas de trabajo, luego determina los procesos y actividades, los compara con

    los requerimientos y a partir de all, la generacin de casos de uso.

    Para la realizacin de los diagramas de secuencia, colaboracin, actividad, comunicacin,

    estado entre otros.

    Etapa de Diseo:

    En la etapa de diseo ya se buscan modelos finales que sern la base del desarrollo del

    proyecto y la iniciacin de codificacin y construccin de los mdulos requeridos y la

    arquitectura del software. En pocas palabras en esta etapa se empieza a desarrollar ya el

    programa.

    Ejemplo: Luego de dedicar tiempo al anlisis de lo que se quiere llevar a desarrollar y

    programar para el software que solicita esta escuela, se establece que los mdulos tendrn

    ciertas caractersticas, enunciados , botones y cuadros de texto que orienten al usuario en el

    momento del uso del software. Se define que el modelo vista controlador es el ms adecuado

    para el desarrollo del sistema, apoyndonos en la arquitectura multicapa, se establece el

    lenguaje de programacin web PHP etc.

    Etapa de Implementacin:

    En esta se termina una versin beta de los que es el software, el software es presentado al

    cliente y posteriormente se busca implementarlo. Tambin en esta etapa se brinda la

    capacitacin a los usuarios finales para que hagan correcto uso del mismo.

    Ejemplo: Ya terminada una versin inicial del programa para los nios de 1, se busca

    implementarlo en el aula de clase, se les ensea y expone tanto a maestros como a

    estudiantes el programa resultante, y se le explica el funcionamiento del mismo.

    Etapa de Pruebas:

    En esta etapa el acompaamiento al cliente es lo de mayor prioridad, ya que lo que se busca es

    que este quede satisfecho con el producto final entregado, para esto se realizan muchas

  • pruebas de funcionamiento al software en una versin casi terminal, evaluando su

    desempeo, ya en el campo practico.

    Ejemplo: Retomamos el ejemplo del software educativo para los nios de primaria, luego de

    su implementacin, se requiere evaluar que el software funciona, que se acopla a los

    requerimientos, aqu se somete a test de funcionamiento, se verifica que la informacin se

    cargue de forma correcta y que sea intuitivo para el usuario, observando el uso del programa

    directamente, es decir, observar y tomar nota del funcionamiento cuando el usuario est

    haciendo uso de l, en este caso cuando lo usan los nios para realizar las operaciones.

    18. Explique mediante ejemplos en qu consiste la ingeniera de software

    Para caracterizar los propsitos de ingeniera de software podemos tomar varios

    ejemplos reales:

    1. Un sistema operativo cualquiera es un software que permite la administracin de

    programas. Por lo tanto un sistema operativo tiende a ser muy grande y muy

    complejo. La ingeniera de software ayuda a solventar estos dos problemas

    2. Microsoft, una de las empresas ms reconocidas en el desarrollo de software tiene

    una cantidad de empleados que sobrepasa los 100000 en ms de 100 pases. La

    ingeniera de SW se propone hacer un uso productivo del recurso humano.

    3. Hace poco, Facebook y YouTube actualizaron sus APIs, lo que afecta a los

    desarrolladores de aplicaciones de terceros que usen este software. La ingeniera

    de software promete una evolucin del SW constantes

    4. Para tratar de solucionar un error con el sistema operativo Windows, Microsoft

    permite que sus usuarios se pongan en contacto por medio de un chat o lnea

    telefnica con tcnicos que le ayudarn a solucionar el problema encontrado. Si

    este servicio es insuficiente, ellos sugieren comprar un plan de mantenimiento

    donde puede acceder remotamente al computador y hacer procesos de

    troubleshooting ms avanzados. La ingeniera de SW busca un soporte real de los

    usuarios

    La ingeniera de software tambin trae varios elementos histricos de las ingenieras

    para su uso en la informtica.

    1. El modelado:

    Un ejemplo claro de modelado son las teoras cientficas. Tal vez la ms conocida

    es la teora de la evolucin de Darwin, en donde a partir de experimentos con

    animales pudo establecer que los seres se adaptaban con el tiempo a las

    condiciones de su entorno y as aparecieron las especies que habitan el planeta

    hoy en da.

    2. Divisin del trabajo

    Por ejemplo, en la prehistoria, el sistema econmico del comunismo primitivo se

    basaba en repartir tareas, los hombres cazaban y construan albergues mientras

    que las mujeres cuidaban a los nios y cosechaban diferentes alimentos. Esto se

  • debe a que la divisin del trabajo es mucho ms productiva que hacer todo a la

    vez.

    3. Divisin del proceso

    Para ejemplificar esta herramienta podramos usar las rutinas que seguimos, es

    ms eficiente separar por horarios nuestras tareas por la maana (Levantarnos,

    baarnos, vestirnos, desayunar y salir) a tratar de hacer varias cosas al tiempo, eso

    s, planeando con anterioridad todas nuestras acciones.

    Por ltimo, la ingeniera de software se divide en varias capas, por ejemplo podramos

    usar el proceso de cocina para entender bien esta caracterstica.

    1. Herramientas: La herramientas seran en este caso la vajilla, los cubiertos, los

    electrodomsticos y dems que facilitan las labores de cocina.

    2. Mtodos: Son guas para el proyecto, en este caso, una receta con una serie de

    pasos sera nuestro mtodo.

    3. Procesos: Aplicacin del mtodo en nuestro proyecto, aqu intervienen varios

    factores como el tiempo, la delegacin de tareas, el orden de las mismas durante

    la preparacin de los diferentes productos.

    4. Enfoque de calidad: La base de la ingeniera de software es la calidad del producto,

    en este caso eso se vera representado en que tan exquisito qued el plato luego

    de su preparacin.

    19. Explique mediante ejemplos 4 caractersticas de la metodologa RUP Iterativo e Incremental

    El Proceso Unificado es un marco de desarrollo iterativo e incremental compuesto de cuatro fases denominadas Inicio, Elaboracin, Construccin y Transicin. Cada una de estas fases es a su vez dividida en una serie de iteraciones (la de inicio puede incluir varias iteraciones en proyectos grandes). Estas iteraciones ofrecen como resultado un incremento del producto desarrollado que aade o mejora las funcionalidades del sistema en desarrollo.

    Esto lo podemos explicar con un pequeo ejemplo como es el software de la calculadora, dnde en cada iteracin se le aadiran ms funcionalidades, por ejemplo, en la primera iteracin se le aade la funcin de operar sumas, restas, multiplicaciones y divisiones, en la segunda iteracin se le aade la capacidad de graficar funciones matemticas, y en la tercera iteracin se le agrega la funcin de calcular derivadas e integrales. Dirigido por los casos de uso

    En el Proceso Unificado los casos de uso se utilizan para capturar los requisitos funcionales y para definir los contenidos de las iteraciones. La idea es que cada iteracin tome un conjunto de casos de uso o escenarios y desarrolle todo el camino a travs de las distintas disciplinas: diseo, implementacin, prueba, etc.

  • Esta caracterstica la podemos explicar con el mismo ejemplo del software de la calculadora, por ejemplo en una primera iteracin, en la parte lgica se aade la funcionalidad de las 4 operaciones fundamentales de la aritmtica, y en la parte de diseo se le aade color a los botones de la calculadora, en la segunda iteracin en la parte lgica se incluye la capacidad de graficar funciones matemticas, y en la parte de diseo se le aade un mapa cartesiano para poder dibujar las grficas de las funciones.

    Centrado en la arquitectura

    El Proceso Unificado asume que no existe un modelo nico que cubra todos los aspectos del sistema. Por dicho motivo existen mltiples modelos y vistas que definen la arquitectura de software de un sistema. La analoga con la construccin es clara, cuando construyes un edificio existen diversos planos que incluyen los distintos servicios del mismo: electricidad, fontanera, etc. Nuevamente con el ejemplo del software de la calculadora, se aplicaran dos casos de uso, uno que se encargue del diseo, y otro que se encargue de la lgica.

    Enfocado en los riesgos

    El Proceso Unificado requiere que el equipo del proyecto se centre en identificar los riesgos crticos en una etapa temprana del ciclo de vida. Los resultados de cada iteracin, en especial los de la fase de Elaboracin deben ser seleccionados en un orden que asegure que los riesgos principales son considerados primero.

    Esta caracterstica se cumplira, si en cada iteracin se tienen en cuenta en primer lugar los errores lgicos de la calculadora, que es la parte ms importante del programa, por ejemplo, asegurarse de que haga bien las operaciones, que no permita hacer divisiones entre 0, que no entre en ciclos infinitos al resolver integrales, etc. Y en segundo lugar tener en cuenta errores del diseo, por ejemplo que el color de las grficas no se pueda distinguir bien, o que estn mal ubicados los botones en el software.

    20. Explique mediante ejemplos los conceptos de clase, objeto, atributos, mtodos y

    mensajes entre clases

    Concepto de Clase: Abstraccin o representacin abstracta que define un tipo de objeto

    especificando qu propiedades (atributos) y operaciones disponibles va a tener. Ejemplo

    Clase Persona:

    Atributos: Nombre, Estatura, Edad, N de Identificacin, estado de nimo,

    Mtodos: Regalar objeto, cambio de TI a cedula, crecimiento,

    Concepto de Objeto: Es una instancia de una clase, es decir, una realizacin especfica de una

    clase. Adems puede considerarse como una entidad existente en la memoria del ordenador

    que tiene unas propiedades (atributos o datos sobre s mismo almacenados por el objeto) y

    unas operaciones disponibles especficas (mtodos).

    Ejemplos de Objetos: Una silla, Un automvil, un computador, una silla, una persona, un

    animal.

  • Concepto de Atributos: Son las caractersticas propias que definen al objeto y lo diferencian de

    otros, por ejemplo el nombre, el tamao, el cdigo. Adems determinan su estado, apariencia

    u otras cualidades.

    Ejemplos: Color de ojos en una persona, numero de patas de una silla.

    Concepto de Mtodos: Representan el comportamiento u operaciones y la forma como los

    objetos interactan con su entorno. Adems por medio de estos es que se puede modificar los

    atributos de la clase.

    Ejemplos: Crecimiento de una persona,

    Concepto de Mensajes entre Clases: El paso de mensajes entre clases, representa al

    comunicacin entre ellas, a travs de los mensajes es que los objetos u clases interactan

    entre s o con su entorno. Por medio de los mtodos se logra alterar los atributos de una clase

    receptora del mensaje.

    Ejemplo: Un perro es el objeto y uno de sus atributos es el estado del perro, ante un mensaje

    del objeto ciudad con el mtodo ruido, se comunica con el perro y a travs del mtodo asustar

    del perro, se modifica el atributo estado del mismo.