Post on 12-May-2018
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.