0% encontró este documento útil (0 votos)
42 vistas14 páginas

Ciclo de Vida y Modelos en Desarrollo de Sistemas

El documento describe las diferentes fases del ciclo de vida para el desarrollo de sistemas de información, incluyendo investigación preliminar, determinación de requerimientos, diseño, desarrollo, pruebas e implementación. También discute diferentes modelos como cascada, espiral e iterativo incremental.

Cargado por

Luz Llorente
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
42 vistas14 páginas

Ciclo de Vida y Modelos en Desarrollo de Sistemas

El documento describe las diferentes fases del ciclo de vida para el desarrollo de sistemas de información, incluyendo investigación preliminar, determinación de requerimientos, diseño, desarrollo, pruebas e implementación. También discute diferentes modelos como cascada, espiral e iterativo incremental.

Cargado por

Luz Llorente
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1) De manera breve describa las faces en las que normalmente se divide el

siclo de vida del desarrollo de un sistema de información.

El método del ciclo de vida para el desarrollo de sistemas consta de 6 fases:

1). Investigación Preliminar: La solicitud para recibir ayuda de un sistema de


información puede originarse por varias razones: sin importar cuales sean estas, el
proceso se inicia siempre con la petición de una persona.
2). Determinación de los requerimientos del sistema:
¿Qué es lo que hace?
¿Cómo se hace?
¿Con que frecuencia se presenta?
¿Qué tan grande es el volumen de transacciones o decisiones?
¿Cuál es el grado de eficiencia con el que se efectúan las tareas?
¿Existe algún problema? ¿Qué tan serio es? ¿Cuál es la causa que lo origina?
3). Diseño del sistema: El diseño de un sistema de información produce los
detalles que establecen la forma en la que el sistema cumplirá con los
requerimientos identificados durante la fase de análisis. Los especialistas en
sistemas se refieren, con frecuencia, a esta etapa como diseño lógico en contraste
con la del desarrollo del software, a la que denominan diseño físico.
4). Desarrollo del software: Los encargados de desarrollar software pueden
instalar software comprobando a terceros o escribir programas diseñados a la
medida del solicitante. La elección depende del costo de cada alternativa, del
tiempo disponible para escribir el software y de la disponibilidad de los
programadores.
5). Prueba de sistemas: Durante la prueba de sistemas, el sistema se emplea de
manera experimental para asegurarse de que el software no tenga fallas, es decir,
que funciona de acuerdo con las especificaciones y en la forma en que los
usuarios esperan que lo haga.
Se alimentan como entradas conjunto de datos de prueba para su procesamiento
y después se examinan los resultados.
6). Implantación y evaluación: La implantación es el proceso de verificar e
instalar nuevo equipo, entrenar a los usuarios, instalar la aplicación y construir
todos los archivos de datos necesarios para utilizarla. Una vez instaladas, las
aplicaciones se emplean durante muchos años. Sin embargo, las organizaciones y
los usuarios cambian con el paso del tiempo, incluso el ambiente es diferente con
el paso de las semanas y los meses.

2) Para desarrollar sistemas de información existen varios modelos o


paradigmas, como los siguientes: modelo de cascada, modelo de espiral
(modelo evolutivo), modelo de prototipos, desarrollo iterativo e incremental.
Explique bajo qué condiciones se debe utilizar un modelo u otro.
Cascada: Es el enfoque metodológico que ordena rigurosamente las etapas del
proceso para el desarrollo de software, de tal forma que el inicio de cada etapa
debe esperar a la finalización de la etapa anterior. Al final de cada etapa, el
modelo está diseñado para llevar a cabo una revisión final, que se encarga de
determinar si el proyecto está listo para avanzar a la siguiente fase. Este modelo
fue el primero en originarse y es la base de todos los demás modelos de ciclo de
vida.
1. Análisis de requisitos.
2. Diseño del Sistema.
3. Diseño del Programa.
4. Codificación.
5. Pruebas.
6. Verificación.
7. Mantenimiento.
Modelo espiral: Este modelo, también no secuencial, es algo más complejo que
los anteriores, aunque incluye un elemento muy útil e importante en el desarrollo
del software: análisis de riesgos. El modelo en espiral concreta cuatro fases:
- Planificación
- Análisis de Riesgos
- Ingeniería (Construcción del prototipo)
- Evaluación por el cliente
Si ésta última fase es afirmativa, el modelo continúa con la estructura del Ciclo de
vida Clásico. Si el cliente no está satisfecho con el resultado, se cubre otra banda
de la espiral y se vuelve a la primera fase (de planificación).
Modelos evolutivos: El software evoluciona con el tiempo. Los requisitos del
usuario y del producto suelen cambiar conforme se desarrolla el mismo. Las
fechas de mercado y la competencia hacen que no sea posible esperar a poner en
el mercado un producto absolutamente completo, por lo que se aconsejable
introducir una versión funcional limitada de alguna forma para aliviar las presiones
competitivas.
En esas u otras situaciones similares los desarrolladores necesitan modelos de
progreso que estén diseñados para acomodarse a una evolución temporal o
progresiva, donde los requisitos centrales son conocidos de antemano, aunque no
estén bien definidos a nivel detalle.
En el modelo cascada y cascada realimentado no se tiene demasiado en cuenta la
naturaleza evolutiva del software, se plantea como estático, con requisitos bien
conocidos y definidos desde el inicio.
Los evolutivos son modelos iterativos, permiten desarrollar versiones cada vez
más completas y complejas, hasta llegar al objetivo final deseado; incluso
evolucionar más allá, durante la fase de operación.
Los modelos «iterativo incremental» y «espiral» (entre otros) son dos de los más
conocidos y utilizados del tipo evolutivo.
EL MODELO DE CONSTRUCCIÓN DE PROTOTIPOS: Este modelo no
secuencial, basado en la construcción de simulaciones o modelos ejecutables de
aplicaciones más extensos, persigue un objetivo principal: la participación directa
del cliente en la construcción del software requerido. Las fases son similares a las
del modelo en cascada: es necesario un análisis previo de los requisitos tanto del
sistema como del cliente, se concibe la arquitectura del sistema y se realiza el
diseño del software. Sin embargo, se incluye un elemento hasta ahora no utilizado,
que consiste en el diseño rápido de un prototipo que se mostrará al cliente para
que evalúe el trabajo realizado.
El prototipo es una versión reducida del programa completo; es una “fachada
virtual” que mostramos al cliente (que carece de la posibilidad de ser utilizada de
la forma en que lo haríamos con el software final. Tras recoger los requisitos tanto
del cliente como del sistema, se comienza con el diseño rápido del prototipo; el
diseño completo obedece al previo diseño de pequeños prototipos específicos
para funciones individuales. Más tarde, estos diseños serán unidos en uno sólo.
Después, se procede a la construcción del mismo. Éste prototipo es el que
mostraremos al cliente para que lo evalúe y considere cambios en él, aunque no
se trate de una versión definitiva.

Desarrollo iterativo e incremental: El desarrollo iterativo recomienda la


construcción de secciones reducidas de software que irán ganando en tamaño
para facilitar así la detección de problemas de importancia antes de que sea
demasiado tarde. Los procesos iterativos pueden ayudar a desvelar metas del
diseño en el caso de clientes que no saben cómo definir lo que quieren.
3) Para abordar el desarrollo de un nuevo sistema, o la mejora de uno ya
existente, es necesario que el análisis tome la mayor cantidad de
información posible acerca de los requerimientos del mismo. ¿Qué técnicas
utilizaría para recopilar la información necesaria para el proyecto? Describa
brevemente dichas técnicas.
Él método del ciclo de vida para desarrollo de sistemas consta de las siguientes
actividades:

 Investigación preliminar.
 Determinación de los requerimientos del sistema.
 Diseño del sistema.
 Desarrollo de software.
 Prueba de los sistemas.
 Implantación y evaluación.

Investigación preliminar: La solicitud para recibir ayuda de un sistema de


información puede originarse por varias razones; El proceso se inicia siempre con
la petición de una persona (Administrador, empleado o especialista en sistemas)
en ése momento inicia la actividad de sistemas: la investigación preliminar. La cual
consta de : aclaración de la solicitud, estudio de factibilidad y aprobación de la
solicitud.

Aclaración de la solicitud: Muchas solicitudes no están formuladas de manera


clara, por lo que debe de examinarse para determinar con precisión lo que el
solicitante desea. Si el solicitante pide ayuda sin saber qué es lo que está mal o en
donde se encuentra el problema, la aclaración se hace más difícil.

Estudio de factibilidad: Es importante determinar que el sistema solicitado sea


factible. En la investigación preliminar existen tres aspectos relacionados:

Factibilidad técnica: El trabajo ¿puede realizarse con el equipo actual, la


tecnología existente de software y el personal disponible? Si se necesita nueva
tecnología ¿cuál es la posibilidad de desarrollarla?

Factibilidad económica: Al crear el sistema ¿los beneficios que se obtienen


serán suficientes para aceptar los costos?, ¿los costos asociados con la decisión
de no crear el sistema son tan grandes que se debe aceptar el proyecto?

Factibilidad operacional: Si se desarrolla e implanta, ¿será utilizado el sistema?,


¿existirá cierta resistencia al cambio por parte de los usuarios que dé como
resultado una disminución de los posibles beneficios de la aplicación?

4) Actualmente se ha hecho muy popular el uso de metodologías llamadas


agiles para el desarrollo de softwares (o sistemas). Explique que tienen
en común todas estas metodologías. Mencione por lo menos 4 de ellas.
Las metodologías se basan en una combinación de los modelos de proceso
genéricos para obtener como beneficio un software que soluciones un problema.
La trascendencia de las metodologías se ha hecho notoria, pasando de solo
programar, establecer funciones en etapas o módulos, objetos, y por último
agilizar el desarrollo del software y minimizar los costos.
 En el desarrollo convencional todo el programa está en un solo bloque, con
ejecución secuencial de instrucciones
 En el desarrollo estructurado los programas están divididos en distintos
bloques, estos bloques tienen funciones que se van confeccionado en forma de
arriba-abajo, empezando desde las generales hasta las particulares, hasta
llegar a detallar cada uno de los procedimientos y su interacción.
 El desarrollo orientado a objetos comprende dividir un programa en clases,
donde estas clases estarán estructuradas por propiedades, atributos, variables,
pretendiendo simular y describir de manera conceptual a un objeto.
 Los métodos ágiles fueron pensados especialmente para equipos de desarrollo
pequeños, con plazos reducidos, requisitos volátiles y nuevas tecnologías.

5) Cual o cuales considera usted que son las principales diferencias entre
las metodologías tradicionales y las metodologías agiles.
Metodología Ágil Metodología Tradicional
DIFERENCIAS ENTRE UNA Y OTRA

Pocos Artefactos. El modelado es Más Artefactos. El modelado es


prescindible, modelos desechables. esencial, mantenimiento de modelos
Pocos Roles, más genéricos y Más Roles, más específicos
flexibles
No existe un contrato tradicional, debe Existe un contrato prefijado
ser bastante flexible
Cliente es parte del equipo de El cliente interactúa con el equipo de
desarrollo (además in-situ) desarrollo mediante reuniones
Orientada a proyectos pequeños. Aplicables a proyectos de cualquier
Corta duración (o entregas tamaño, pero suelen ser
frecuentes), equipos pequeños (< 10 especialmente efectivas/usadas en
integrantes) y trabajando en el mismo proyectos grandes y con equipos
sitio posiblemente dispersos
La arquitectura se va definiendo y Se promueve que la arquitectura se
mejorando a lo largo del proyecto defina tempranamente en el proyecto
Énfasis en los aspectos humanos: el Énfasis en la definición del proceso:
individuo y el trabajo en equipo roles, actividades y artefactos
Basadas en heurísticas provenientes Basadas en normas provenientes de
de prácticas de producción de código estándares seguidos por el entorno
de desarrollo
Se esperan cambios durante el Se espera que no ocurran cambios
proyecto de gran impacto durante el proyecto

6) Describa brevemente en que consiste la programación extrema xp.


Forma parte del conjunto de métodos ágiles que centran sus prioridades en las
personas, no en los procesos, en la actualidad Xp se proyecta para ser un modelo
de desarrollo común, sencillo y adaptable a las características cambiantes y
exigentes de empresas y clientes. La programación extrema o eXtreme
Programming (XP) es una metodología de desarrollo de la ingeniería de software
formulada por Kent Beck, Ron Jeffries y Ward Cinningham. El objetivo de Xp son
grupos pequeños y medianos de construcción de software en donde los requisitos
aún son muy ambiguos, cambian rápidamente o son de alto riesgo. Xp busca la
satisfacción del cliente tratando de mantener durante todo el tiempo su confianza
en el producto. Además, sugiere que el lugar de trabajo sea una sala amplia, si es
posible sin divisiones (en el centro los programadores, en la periferia los equipos
individuales). Una ventaja del espacio abierto es el incremento en la comunicación
y el proporcionar una agenda dinámica en el entorno de cada proyecto. La
programación extrema o eXtreme Programming (XP) es el más destacado de los
procesos ágiles de desarrollo de software. Al igual que éstos, la programación
extrema se diferencia de las metodologías tradicionales principalmente en que
pone más énfasis en la adaptabilidad que en la previsibilidad.}

7) Describa brevemente en que consiste SCRUM.


Scrum es un modelo de desarrollo ágil caracterizado por:
 Adoptar una estrategia de desarrollo incremental, en lugar de la planificación y
ejecución completa del producto.
 Basar la calidad del resultado más en el conocimiento tácito de las personas en
equipos autoorganizados, que en la calidad de los procesos empleados.
 Solapamiento de las diferentes fases del desarrollo, en lugar de realizar una
tras otra en un ciclo secuencial o de cascada
8) Imagine que a usted lo contratan para resolver un problema en el sistema
de información de una empresa pequeña y le piden que elabore un
informe con el análisis costo beneficio del proyecto. Que cree usted que
debería plasmar en el informe y argumente los criterios utilizados para su
elaboración.
El análisis de un sistema de información se traduce en un conjunto
de procedimientos o programas relacionados de manera que forman una sola
unidad. Esto se lleva a cabo teniendo en cuenta ciertos principios:
5) Debe presentarse y entenderse el dominio de la información de un problema.
6) Defina las funciones que debe realizar el Software.
7) Represente el comportamiento del software a consecuencias de
acontecimientos externos.
8) Divida en forma jerárquica los modelos que representan la información,
funciones y comportamiento.
el primer paso del análisis del sistema, en este proceso el Analista se reúne con
el cliente y/o usuario (un representante institucional, departamental o cliente
particular), e identifican las metas globales, se analizan las perspectivas del
cliente, sus necesidades y requerimientos, sobre la planificación temporal y
presupuestal, líneas de mercadeo y otros puntos que puedan ayudar a la
identificación y desarrollo del proyecto.
 Reconocimiento del problema.
 Evaluación y Síntesis.
 Modelado.
 Especificación.
 Revisión.

10) en que consiste el diseño de la base de datos de un sistema, explique su


importancia.

El proceso de diseño de una base de datos se guía por algunos principios. El


primero de ellos es que se debe evitar la información duplicada o, lo que es lo
mismo, los datos redundantes, porque malgastan el espacio y aumentan la
probabilidad de que se produzcan errores e incoherencias. El segundo principio es
que es importante que la información sea correcta y completa. Si la base de datos
contiene información incorrecta, los informes que recogen información de la base
de datos contendrán también información incorrecta y, por tanto, las decisiones
que tome a partir de esos informes estarán mal fundamentadas.
Un buen diseño de base de datos es, por tanto, aquél que:
 Divide la información en tablas basadas en temas para reducir los datos
redundantes.
 Proporciona a Access la información necesaria para reunir la información de
las tablas cuando así se precise.
 Ayuda a garantizar la exactitud e integridad de la información.
 Satisface las necesidades de procesamiento de los datos y de generación de
informes.

11) mediante un ejemplo explique el proceso de normalización de datos.


La normalización es el proceso de organizar los datos de una base de datos. Se
incluye la creación de tablas y el establecimiento de relaciones entre ellas según
reglas diseñadas tanto para proteger los datos como para hacer que la base de
datos sea más flexible al eliminar la redundancia y las dependencias incoherentes.
Ejemplo del proceso de Normalización
A continuación presentaremos un ejemplo donde aplicaremos todo el proceso de
normalización.
Tenemos la siguiente tabla que no se encuentra normalizado:

Tabla 1

Aplicamos la 1FN para eliminar los datos redundantes y obtenemos la tabla 1:


Tabla 2

Ahora aplicamos la 2FN para que todos los atributos no clave estén en DFC con
su respectiva PK
Tabla 3

Tabla 4
Ahora aplicamos la 3FN para eliminar las DT

Tabla 5

Tabla 6

Tabla 7
12) Que factores tendría usted en cuenta al momento de hacer el diseño de
la interface gráfica de usuarios de una aplicación.

En el proceso de diseño de una interfaz de usuario se pueden distinguir cuatro


fases o pasos fundamentales:

1. Reunir y analizar la información del usuario


2. Diseñar la interfaz de usuario
3. Construir la interfaz de usuario
4. Validar la interfaz de usuario
Reunir y analizar la información del usuario:
Es decir concretar a través de técnicas de requerimentación, qué tipo de usuarios
van a utilizar el programa, qué tareas van a realizar los usuarios y cómo las van a
realizar, qué exigen los usuarios del programa, en qué entorno se desenvuelven
los usuarios (físico, social, cultural).
Diseñar la interfaz de usuario.
Es importante dedicar tiempo y recursos a esta fase, antes de entrar en
la codificación. En esta fase se definen los objetivos de usabilidad del programa,
las tareas del usuario, los objetos y acciones de la interfaz, los iconos, vistas y
representaciones visuales de los objetos, los menús de los objetos y ventanas.
Todos los elementos visuales se pueden hacer primero a mano y luego refinar con
las herramientas adecuadas.
Construir la interfaz de usuario.
Es interesante realizar un prototipo previo, una primera versión del programa que
se realice rápidamente y permita visualizar el producto para poderlo probar antes
de codificarlo definitivamente
Validar la interfaz de usuario.
Se deben realizar pruebas de usabilidad del producto, a ser posible con los
propios usuarios finales del mismo.
Es importante, en suma, realizar un diseño que parta del usuario, y no del sistema.
Existen 11 pasos en el proceso de diseño "centrado en las tareas", similar al
anterior pero que desglosa algunas actividades implícitas en otras, así:
1.- Entender quien usará el sistema para hacer qué.
2.- Elegir tareas representativas para el diseño.
3.- Plagiar o copiar.
4.- Bosquejar un diseño.
5.- Pensar acerca del diseño.
6.- Crear un prototipo.
7.- Evaluarla con los usuarios.
8.- Repetir.
9.- Construirla.
10.- Rastrearla.
11.- Cambiarla.

13) que factores tendría usted en cuenta al momento de hacer el diseño de la


salida de una aplicación.
En este caso salida se refiere a los resultados e informaciones generadas por el
Sistema, Para la mayoría de los usuarios la salida es la única razón para el
desarrollo de un Sistema y la base de evaluación de su utilidad. Sin embargo
cuando se realiza un sistema, como analistas deben realizar lo siguiente:
 Determine qué información presentar. Decidir si la información será presentada
en forma visual, verbal o impresora y seleccionar el medio de salida.
 Disponga la presentación de la información en un formato aceptable.
 Decida cómo distribuir la salida entre los posibles destinatarios.

14) cree usted que ha sido positivo en el desarrollo de software la creación


de UML, argumenta tu respuesta.
Si ya que UML proporciona la capacidad de modelar actividades de planificación
de proyectos y de sus versiones, expresar requisitos y las pruebas sobre el
sistema, representar todos sus detalles así como la propia arquitectura. Mediante
estas capacidades se obtiene una documentación que es válida durante todo el
ciclo de vida de un proyecto.
 UML Se puede usar para diferentes tipos de sistemas.
 UML consolida muchas de las notaciones y conceptos más usados orientados
a objetos.
 UML es fácilmente entendible uml.

15) mediante un ejemplo sencillo explique en qué consisten los diagramas


de componentes. Un diagrama de componentes permite visualizar con más
facilidad la estructura general del sistema y el comportamiento del servicio que
estos componentes proporcionan y utilizan a través de las interfaces.

También pueden utilizarse los símbolos que se muestran en la figura.

Muchas veces, para claridad del modelo, el nombre del componente se precede
del nombre del “paquete” –módulo, aplicación o sistema- al cual pertenece el
componente.
Las clases que implementa un componente pueden indicarse inscribiendo sus
nombres en el rectángulo que representa al componente o mostrando las
relaciones de dependencia con dichas clases.

16) mediante un ejemplo sencillo explique en que consiste un diagrama de


clase.

Un diagrama de clases sirve para visualizar las relaciones entre las clases que
involucran el sistema, las cuales pueden ser asociativas, de herencia, de uso y de
contenimiento.

Un diagrama de clases está compuesto por los siguientes elementos:

Clase: atributos, métodos y visibilidad.

Relaciones: Herencia, Composición, Agregación, Asociación y Uso.


17) mediante un ejemplo sencillo explique en que consiste un diagrama de
secuencia.

Un diagrama de secuencia muestra la interacción de un conjunto de objetos en


una aplicación a través del tiempo y se modela para cada caso de uso. Mientras
que el diagrama de casos de uso permite el modelado de una vista business del
escenario, el diagrama de secuencia contiene detalles de implementación del
escenario, incluyendo los objetos y clases que se usan para implementar el
escenario y mensajes intercambiados entre los objetos.

18) mediante un ejemplo sencillo explique en que consiste un diagrama de


colaboración.

Un diagrama de colaboración es un diagrama de interacción que resalta la


organización estructural de los objetos que envían y reciben los mensajes. Este
tipo de diagrama muestra un conjunto de objetos, enlaces entre ellos y los
mensajes que intercambian. Un diagrama de colaboración es un grafo, donde los
nodos del grafo son los objetos y los arcos son los enlaces. Un enlace es una
instancia de una asociación o una dependencia entre clases. Se representa con
una línea continua que une los dos objetos.

20) como ingeniero de sistemas usted encaminara su carrera por el diseño,


el análisis o la programación, cuál de los 3 roles consideraría usted más
importante. Argumente su respuesta.

Por el diseño, pues en el desarrollo de un sistema de información es la etapa más


importante, ya que en esta se establece la manera en que el sistema cumplirá con
los requerimientos pedidos dando satisfacción al cliente. A parte de esto el diseño
de sistemas adopta diferentes campos y es de gran importancia en lo cotidiano,
laboral y profesional.

También podría gustarte