- El proyecto
- Analisis de sistemas de
computacion - Diseño de sistemas
de computación - Implantacion, evaluacion y
pruebas
1.1. Que es un
proyecto de
Sistema o
Software.
?
Es el Proceso de
gestión
para la creación de un Sistema o
software, la cual
encierra un conjunto de actividades, una de las cuales es la
estimación, estimar es echar un vistazo al futuro y
aceptamos resignados cierto grado de incertidumbre. Al estimar
tomamos en cuenta no solo del procedimiento
técnico a utilizar en el proyecto, sino que se toma en
cuenta los recursos,
costos y
planificación.
El tamaño del proyecto es otro factor importante
que puede afectar la precisión de las estimaciones. A
medida que el tamaño aumenta, crece rápidamente la
interdependencia entre varios elementos del Software.
La disponibilidad de información histórica es otro
elemento que determina el riesgo de la
estimación.
1.2. Objetivos de
la Planificación del Proyecto.
Es proporcionar un marco de trabajo que permita al
gestor hacer estimaciones razonables de recursos costos y
planificación temporal. Estas estimaciones se hacen dentro
de un marco de tiempo limitado
al comienzo de un proyecto de software, y deberían
actualizarse regularmente medida que progresa el
proyecto.
El Objetivo de la
planificación se logra mediante un proceso de
descubrimiento de la información que lleve a estimaciones
razonables.
1.3 Actividades asociadas al proyecto de
software.
1.3.1 Ambito del Software.
Es la primera actividad de llevada a cabo durante la
planificación del proyecto de Software.
En esta etapa se deben evaluar la función y
el rendimiento que se asignaron al Software durante la Ingeniería del Sistema de Computadora
para establecer un ámbito de proyecto que no sea ambiguo,
e incomprensible para directivos y técnicos
Describe la función,
el rendimiento, las restricciones, las interfaces y la
fiabilidad, se evalúan las funciones del
ámbito y en algunos casos se refinan para dar mas detalles
antes del comienzo de la estimación.
El Ambito se define como un pre-requisito para la
estimación y existen algunos elementos que se debe tomar
en cuenta como es:
La Obtención de la Información necesaria
para el software. Para esto el analista y el cliente se
reúnen sobre las expectativas del proyecto y se ponen de
acuerdo en los puntos de interés
para su desarrollo.
1.4 Recursos:
La Segunda tarea de la planificación del desarrollo de
Software es la estimación de los recursos requeridos para
acometer el esfuerzo de desarrollo de Software, esto simula a una
pirámide donde las Herramientas
(hardware y
Software), son la base proporciona la infraestructura de soporte
al esfuerzo de desarrollo, en segundo nivel de la pirámide
se encuentran los Componentes reutilizables.
Y en la parte mas alta de la pirámide se
encuentra el recurso primario, las personas (el recurso
humano).
Cada recurso queda especificado mediante cuatro características:
· Descripción del Recurso.
· Informes de
disponibilidad.
· Fecha cronológica en la que se requiere
el recurso.
· Tiempo durante el
que será aplicado el recurso.
1.4.1 Recursos
Humanos.
La Cantidad de personas requeridas para el desarrollo de
un proyecto de software solo puede ser determinado después
de hacer una estimación del esfuerzo de desarrollo (por
ejemplo personas mes o personas años), y seleccionar la
posición dentro de la
organización y la especialidad que desempeñara
cada profesional.
1.4.2 Recursos o componentes de software
reutilizables.
Cualquier estudio sobre recursos de software
estaría incompleto sin estudiar la reutilizacion, esto es
la creación y la reutilizacion de bloques de construcción de Software.
1.4.3 Recursos de entorno.
El entorno es donde se apoya el proyecto de Software,
llamado a menudo entorno de Ingeniería de
Software, incorpora Hardware y
Software.
El Hardware proporciona una plataforma con las herramientas
(Software) requeridas para producir los productos que
son el resultado de la buena practica de la Ingeniería del Software, un planificador de
proyectos debe
determinar la ventana temporal requerida para el Hardware y el
Software, y verificar que estos recursos estén
disponibles.
1.5. ESTIMACION DEL PROYECTO DE
SOFTWARE.
En el principio el costo del
Software constituía un pequeño porcentaje del
costo total de
los sistemas basados
en Computadoras.
Hoy en día el Software es el elemento mas caro de la
mayoría de los sistemas informáticos.
Un gran error en la estimación del costo puede
ser lo que marque la diferencia entre beneficios y perdidas, la
estimación del costo y del esfuerzo del software nunca
será una ciencia
exacta, son demasiadas las variables:
humanas, técnicas,
de entorno, políticas,
que pueden afectar el costo final del software y el esfuerzo
aplicado para desarrollarlo.
Para realizar estimaciones seguras de costos y esfuerzos
tienen varias opciones posibles:
· Deje la estimación para mas adelante
(obviamente podemos realizar una estimación al cien por
cien fiable después de haber terminado el
proyecto.
· Base las estimaciones en proyectos
similares ya terminados.
· Utilice técnicas
de descomposición relativamente sencillas para generar las
estimaciones de costos y esfuerzo del proyecto.
· Desarrolle un modelo
empírico para él calculo de costos y esfuerzos del
Software.
Desde el punto de vista ideal, se deben aplicar
conjuntamente las técnicas indicadas usando cada una de
ellas como comprobación de las otras.
Antes de hacer una estimación, el planificador
del proyecto debe comprender el ámbito del software a
construir y generar una estimación de su
tamaño.
1.5.1 Estimación basada en el
Proceso.
Es la técnica más común para
estimar un proyecto es basar la estimación en el proceso
que se va a utilizar, es decir, el proceso se descompone en un
conjunto relativamente pequeño de actividades o tareas, y
en el esfuerzo requerido para llevar a cabo la estimación
de cada tarea.
Al igual que las técnicas basadas en problemas, la
estimación basada en el proceso comienza en una
delineación de las funciones del
software obtenidas a partir del ámbito del proyecto. Se
mezclan las funciones del problema y las actividades del proceso.
Como ultimo paso se calculan los costos y el esfuerzo de cada
función y la actividad del proceso de software.
1.6. Diferentes modelos de
estimacion.
Existen diferentes modelos de
estimación como son:
1.6.1 Los Modelos Empíricos:
Donde los datos que
soportan la mayoría de los modelos de estimación
obtienen una muestra limitada
de proyectos. Por esta razón, el modelo de
estimación no es adecuado para todas las clases de
software y en todos los entornos de desarrollo.
1.6.2 El Modelo COCOMO.
Barry Boehm, en su libro
clásico sobre economía de la
Ingeniería del Software, introduce una jerarquía de
modelos de estimación de Software con el nombre de COCOMO,
por su nombre en Ingles (Constructive, Cost, Model) modelo
constructivo de costos
1.6.3 Herramientas Automáticas De
Estimación.
Las herramientas automáticas de estimación
permiten al planificador estimar costos y esfuerzos, así
como llevar a cabo análisis del tipo, que pasa si, con
importantes variables del
proyecto, tales como la fecha de entrega o la selección
del personal.
A partir de estos datos, el modelo
implementado por la herramienta automática de
estimación proporciona estimaciones del esfuerzo requerido
para llevar a cabo el proyecto, los costos, la carga de personal, la
duración, y en algunos casos la planificación
temporal de desarrollo y riesgos
asociados.
En resumen el planificador del Proyecto de Software
tiene que estimar tres cosas antes de que comience el proyecto:
cuanto durara, cuanto esfuerzo requerirá y cuanta gente
estará implicada. Además el planificador debe
predecir los recursos de hardware y software que va a requerir y
el riesgo
implicado.
TEMA II. ANALISIS DE
SISTEMAS DE COMPUTACION
2.1 Conceptos y Análisis:
Es un conjunto o disposición de procedimientos o
programas
relacionados de manera que juntos forman una sola unidad. Un
conjunto de hechos, principios y
reglas clasificadas y dispuestas de manera ordenada mostrando un
plan
lógico en la unión de las partes. Un método,
plan o
procedimiento
de clasificación para hacer algo. Esto se lleva a cabo
teniendo en cuenta ciertos principios:
· Debe presentarse y entenderse el dominio de la
información de un problema.
· Defina las funciones que debe realizar el
Software.
· Represente el comportamiento
del software a consecuencias de acontecimientos
externos.
· Divida en forma jerárquica los modelos
que representan la información, funciones y comportamiento.
El proceso debe partir desde la información
esencial hasta el detalle de la Implementación.
La función del Análisis puede ser dar
soporte a las actividades de un negocio, o desarrollar un
producto que
pueda venderse para generar beneficios. Para conseguir este
objetivo, un
Sistema basado en computadoras
hace uso de seis (6) elementos fundamentales:
· Software, que son Programas de
computadora,
con estructuras de
datos y su documentación que hacen efectiva la
logística metodología o controles de requerimientos
del Programa.
· Hardware, dispositivos electrónicos y
electromecánicos, que proporcionan capacidad de
cálculos y funciones rápidas, exactas y efectivas
(Computadoras, Censores, maquinarias, bombas, lectores,
etc.), que proporcionan una función externa dentro de los
Sistemas.
· Personal, son los operadores o usuarios
directos de las herramientas del Sistema.
· Base de Datos,
una gran colección de informaciones organizadas y
enlazadas al Sistema a las que se accede por medio del
Software.
· Documentación, Manuales,
formularios, y
otra información descriptiva que detalla o da
instrucciones sobre el empleo y
operación del Programa.
· Procedimientos, o
pasos que definen el uso especifico de cada uno de los elementos
o componentes del Sistema y las reglas de su manejo y mantenimiento.
Un Análisis de Sistema se lleva a cabo teniendo
en cuenta los siguientes objetivos en
mente:
· Identifique las necesidades del Cliente.
· Evalúe que conceptos tiene el cliente
del sistema para establecer su viabilidad.
· Realice un Análisis Técnico y
económico.
· Asigne funciones al Hardware, Software,
personal, base de datos, y
otros elementos del Sistema.
· Establezca las restricciones de presupuestos y
planificación temporal.
· Cree una definición del sistema que
forme el fundamento de todo el trabajo de
Ingeniería.
Para lograr estos objetivos se requiere tener un gran
conocimiento y
dominio del
Hardware y el Software, así como de la Ingeniería
humana (Manejo y Administración
de personal), y administración de base de datos.
2.2 Objetivos del Análisis.
2.2.1 Identificación de
Necesidades.
Es el primer paso del análisis del sistema, en
este proceso en 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.
Antes de su reunión con el analista, el cliente
prepara un documento conceptual del proyecto, aunque es
recomendable que este se elabore durante la
comunicación Cliente – analista, ya que de
hacerlo el cliente solo de todas maneras tendría que ser
modificado, durante la identificación de las
necesidades.
2.2.2 Estudio de Viabilidad.
Muchas veces cuando se emprende el desarrollo de un
proyecto de Sistemas los recursos y el tiempo no son realistas
para su materialización sin tener perdidas
económicas y frustración profesional. La viabilidad
y el análisis de riesgos
están relacionados de muchas maneras, si el riesgo del
proyecto es alto, la viabilidad de producir software de calidad se
reduce, sin embargo se deben tomar en cuenta cuatro áreas
principales de interés:
- Viabilidad económica.
- Viabilidad Técnica.
- Viabilidad Legal.
Alternativas. Una evaluación
de los enfoques alternativos del desarrollo del producto o
Sistema.
El estudio de la viabilidad puede documentarse como un
informe aparte
para la alta gerencia.
2.2.3 Análisis Económico y
Técnico.
El análisis económico incluye lo que
llamamos, el análisis de costos – beneficios,
significa una valoración de la inversión económica comparado con
los beneficios que se obtendrán en la comercialización y utilidad del
producto o sistema.
En el Análisis Técnico, el Analista
evalúa los principios técnicos del Sistema y al
mismo tiempo recoge información adicional sobre el
rendimiento, fiabilidad, características de mantenimiento
y productividad.
Los resultados obtenidos del análisis
técnico son la base para determinar sobre si continuar o
abandonar el proyecto, si hay riesgos de que no funcione, no
tenga el rendimiento deseado, o si las piezas no encajan
perfectamente unas con otras.
2.2.4 Modelado de la arquitectura del
Sistema.
Los modelos se concentran en lo que debe hacer el
sistema no en como lo hace, estos modelos pueden incluir
notación gráfica, información y
comportamiento del Sistema.
Todos los Sistemas basados en computadoras pueden
modelarse como transformación de la información
empleando una arquitectura del
tipo entrada y salida.
2.2.5 Especificaciones del Sistema.
Es un Documento que sirve como fundamento para la
Ingeniería Hardware, software, Base de datos, e
ingeniería Humana. Describe la función y
rendimiento de un Sistema basado en computadoras y las
dificultades que estarán presente durante su desarrollo.
Las
TEMA III. DISEÑO DE
SISTEMAS DE COMPUTACIÓN.
3.1. Conceptos y principios:
El Diseño
de Sistemas se define el proceso de aplicar ciertas
técnicas y principios con el propósito de definir
un dispositivo, un proceso o un Sistema, con suficientes detalles
como para permitir su interpretación y realización
física.
La etapa del Diseño
del Sistema encierra cuatro etapas:
3.1.1 El diseño de los datos.
Trasforma el modelo de dominio de la información,
creado durante el análisis, en las estructuras de
datos necesarios para implementar el Software.
3.1.2 El Diseño
Arquitectónico.
Define la relación entre cada uno de los
elementos estructurales del programa.
3.1.3 El Diseño de la Interfaz.
Describe como se comunica el Software consigo mismo, con
los sistemas que operan junto con el y con los operadores y
usuarios que lo emplean.
3.1.4 El Diseño de
procedimientos.
Transforma elementos estructurales de la arquitectura
del programa. La importancia del Diseño del Software se
puede definir en una sola palabra Calidad, dentro
del diseño es donde se fomenta la calidad del
Proyecto.
El diseño debe implementar todos los requisitos
explícitos contenidos en el modelo de análisis y
debe acumular todos los requisitos implícitos que desea el
cliente.
Debe ser una guía que puedan leer y entender los
que construyan el código
y los que prueban y mantienen el Software.
El Diseño debe proporcionar una completa idea de
lo que es el Software, enfocando los dominios de datos, funcional
y comportamiento desde el punto de vista de la
Implementación.
Para evaluar la calidad de una presentación del
diseño, se deben establecer criterios técnicos para
un buen diseño como son:
· Un diseño debe presentar una organización jerárquica que haga un
uso inteligente del control entre los
componentes del software.
· El diseño debe ser modular, es decir, se
debe hacer una partición lógica
del Software en elementos que realicen funciones y subfunciones
especificas.
· Un diseño debe contener abstracciones de
datos y procedimientos.
· Debe producir módulos que presenten
características de funcionamiento
independiente.
· Debe conducir a interfaces que reduzcan la
complejidad de las conexiones entre los módulos y el
entorno exterior.
· Debe producir un diseño usando un
método que
pudiera repetirse según la información obtenida
durante el análisis de requisitos de Software.
3.2. Diseño de la Salida.
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.
3.3. Diseño de Archivos.
Incluye decisiones con respecto a la naturaleza y
contenido del propio archivo, como si
se fuera a emplear para guardar detalles de las transacciones,
datos históricos, o información de referencia.
Entre las decisiones que se toman durante el diseño de
archivos, se
encuentran las siguientes:
· Los datos que deben incluirse en el formato de
registros
contenidos en el archivo.
· La longitud de cada registro, con
base en las características de los datos que
contenga.
· La secuencia a disposición de los
registros
dentro del archivo (La estructura de
almacenamiento
que puede ser secuencial, indexada o relativa).
3.4. Diseño de Interacciones con la Base de
Datos.
La mayoría de los sistemas de
información ya sean implantado en sistemas de
cómputos grandes o pequeños, utilizan una base de
datos que pueden abarcar varias aplicaciones, por esta
razón estos sistemas utilizan u administrador de
base de datos, en este caso el diseñador no construye la
base de datos sino que consulta a su administrador
para ponerse de acuerdo en el uso de esta en el
sistema.
3.5 Herramientas para el Diseño de
Sistemas.
Apoyan el proceso de formular las características
que el sistema debe tener para satisfacer los requerimientos
detectados durante las actividades del
análisis:
3.5.1 Herramientas de
especificación.
Apoyan el proceso de formular las características
que debe tener una aplicación, tales como entradas,
Salidas, procesamiento y especificaciones de control. Muchas
incluyen herramientas para crear especificaciones de
datos.
3.5.2 Herramientas para
presentación.
Se utilizan para describir la posición de datos,
mensajes y encabezados sobre las pantallas de las terminales,
reportes y otros medios de
entrada y salida.
3.5.3 Herramientas para el desarrollo de
Sistemas.
Estas herramientas nos ayudan como analistas a trasladar
diseños en aplicaciones funcionales.
3.5.4 Herramientas para Ingeniería de
Software.
Apoyan el Proceso de formular diseños de
Software, incluyendo procedimientos y controles, así como
la documentación correspondiente.
3.5.5 Generadores de códigos.
Producen el código
fuente y las aplicaciones a partir de especificaciones
funcionales bien articuladas.
3.5.6 Herramientas para pruebas.
Apoyan la fase de la evaluación de un Sistema o
de partes del mismo contra las especificaciones. Incluyen
facilidades para examinar la correcta operación del
Sistema así como el grado de perfección alcanzado
en comparación con las expectativas.
En una organización o Empresa, el
análisis y
Diseño de Sistemas, es el proceso de estudiar su
Situación con la finalidad de observar como trabaja y
decidir si es necesario realizar una mejora; el encargado de
llevar a cabo estas tareas es el analista de sistemas.
Antes de comenzar con el desarrollo de cualquier
proyecto, se conduce un estudio de Sistemas para detectar todos
los detalles de la situación actual de la empresa. La
información reunida con este estudio sirve como base para
crear varias estrategias de
Diseño. Los administradores deciden que estrategias
seguir. Los Gerentes, empleados y otros usuarios finales que se
familiarizan cada vez mas con el uso de computadoras están
teniendo un papel muy
importante en el desarrollo de sistemas.
TEMA IV.
IMPLANTACION, EVALUACION Y PRUEBAS.
4.1. IMPLANTACION. Concepto y
Definición.
Es la ultima fase del desarrollo de Sistemas. Es el
proceso instalar equipos o Software nuevo, como resultado de un
análisis y diseño previo como resultado de la
sustitución o mejoramiento de la forma de llevar a cavo un
proceso automatizado.
Al Implantar un Sistema de
Información lo primero que debemos hacer es
asegurarnos que el Sistema sea operacional o sea que funcione de
acuerdo a los requerimientos del análisis y permitir que
los usuarios puedan operarlo.
Existen varios enfoques de
Implementación:
· Es darle responsabilidad a los grupos.
· Uso de diferentes estrategias para el entrenamiento de
los usuarios.
· El Analista de Sistemas necesita ponderar la
situación y proponer un plan de conversión que sea
adecuado para la
organización.
· El Analista necesita formular medidas de
desempeño con las cuales evaluar a los
Usuarios.
· Debe Convertir físicamente el sistema de
información antiguo, al nuevo modificado.
4.2. Capacitación de Usuarios del
Sistema:
Es enseñar a los usuarios que se relacionan u
operan en un proceso de implantación.
La Responsabilidad de esta capacitación de los Usuarios primarios y
secundarios es del Analista, desde el personal de captura de
datos hasta aquellos que toman las decisiones sin usar una
Computadora.
No se debe incluir a personas de diferentes niveles de
habilidad e intereses de trabajo; debido a que si en una Empresa
existen trabajadores inexpertos no se pueden incluir en la misma
sección de los expertos ya que ambos grupos quedaran
perdidos.
Aun y cuando la Empresa puede
contratar los Servicios de
Instructores externos, el analista es la persona que puede
ofrecer la mejor capacitación debido a que conoce el
personal y al Sistema mejor que cualquier otro.
4.3.1 Objetivos de la
Capacitación:
Es lograr que los usuarios tengan el Dominio necesario
de las cosas básicas acerca de las maquinarias y procesos que
se emplean para su operación de manera eficiente y
segura.
4.4. La Evaluación del Sistema:
Se lleva a cabo para identificar puntos débiles y
fuertes del Sistema implantado. La evaluación ocurre a lo
largo de cualquiera de las siguientes cuatro
dimensiones:
4.4.1 Evaluación operacional:
Es el Momento en que sé evalúa la manera
en que funciona el Sistema, esto incluye su facilidad de uso,
Tiempo de respuesta ante una necesidad o proceso, como se adecuan
los formatos en que se presenta la Información, contabilidad
global y su nivel de Utilidad.
4.4.2 Impacto Organizacional:
Identifica y mide los beneficios operacionales para la
Empresa en
áreas tales como, Finanzas
(Costos, Ingresos y
Ganancias), eficiencia en el
desempeño laboral e impacto
competitivo, Impacto, rapidez y organización en el flujo
de Información interna y externa.
4.4.3 Desempeño del Desarrollo.
Es la evaluación del Proceso de desarrollo
adecuado tomando en cuentas ciertos
criterios como, Tiempo y esfuerzo en el desarrollo concuerden con
presupuesto y
estándares y otros criterios de Administración
de Proyectos. Además se incluyen la valoración
de los métodos y
herramientas utilizados durante el desarrollo del
Sistema.
4.5. Prueba de Sistemas.
Dependiendo del tamaño de la Empresa que usara el
Sistema y el riesgo asociado a su uso, puede hacerse la
elección de comenzar la operación del Sistema solo
en un área de la Empresa (como una Prueba piloto), que
puede llevarse a cabo en un Departamento o con una o dos
personas. Cuando se implanta un nuevo sistema lo aconsejable es
que el viejo y el nuevo funcionen de manera simultanea o paralela
con la finalidad de comparar los resultados que ambos ofrecen en
su operación, además dar tiempo al personal para su
entrenamiento
y adaptación al nuevo Sistema.
Durante el Proceso de Implantación y Prueba se
deben implementar todas las estrategias posibles para garantizar
que en el uso inicial del Sistema este se encuentre libre de
problemas lo
cual se puede descubrir durante este proceso y levar a cabo las
correcciones de lugar para su buen funcionamiento.
Magdalena Aguilar