1.
Introducción
2. Objetivos de la ingeniería de
software
3. Competitividad
4. Estrategias para su
desarrollo
5. Método del ciclo de vida
clásico
6. Método de desarrollo por
análisis estructurado
7. Diccionario de
datos.
8. Diagrama de estructura de
datos
9. Gráfica de
estructura
10. Etapas del método
de prototipos
11. Coordinación y
Gestión del proyecto.
12. Mediciones y
estimaciones
13. Reingeniería e
ingeniería inversa
Este término fue introducido a finales de los 60
a raíz de la crisis del
software.
Esta crisis fue el resultado de la introducción
de la tercera generación del hardware.
El hardware dejo de ser un impedimento para el desarrollo de
la informática; redujo los costos y mejoro
la calidad y
eficiencia en
el software producido
La crisis se caracterizo por los siguientes problemas:
- Imprecisión en la planificación del proyecto y
estimación de los costos. - Baja calidad del software.
- Dificultad de mantenimiento de programas con
un diseño poco estructurado,
etc.
Por otra parte se exige que el software sea eficaz y
barato tanto en el desarrollo como en la compra.
Tambien se requiere una serie de características como fiabilidad, facilidad
de mantenimiento y de uso, eficiencia, etc.
2. Objetivos de
la ingeniería de software
En la construcción y desarrollo de proyectos se
aplican métodos y
técnicas para resolver los problemas, la
informática aporta herramientas y
procedimientos
sobre los que se apoya la ingeniería de
software.
- mejorar la calidad de los productos de
software - aumentar la productividad y
trabajo de los ingenieros del software. - Facilitar el control del
proceso de
desarrollo de software. - Suministrar a los desarrolladores las bases para
construir software de alta calidad en una forma
eficiente. - Definir una disciplina
que garantice la producción y el mantenimiento de los
productos software desarrollados en el plazo fijado y dentro
del costo
estimado.
Objetivos de los proyectos de sistemas
Para que los objetivos se cumplan las empresas
emprenden proyectos por las siguientes razones: "Las cinco C
"
Capacidad
Las actividades de la
organización están influenciadas por la
capacidad de ésta para procesar transacciones con rapidez
y eficiencia.
Los sistemas de
información mejoran esta capacidad en tres
formas.
* Aumentan la velocidad de
procesamiento:
Los sistemas basados
en computadora
pueden ser de ayuda para eliminar la necesidad de cálculos
tediosos y comparaciones repetitivas.
Un sistema
automatizado puede ser de gran utilidad si lo
que se necesita es un procesamiento acelerado.
*Aumento en el volumen:
La incapacidad para mantener el ritmo de procesamiento
no significa el abandono de los procedimientos existentes.
Quizá éstos resulten inadecuados para satisfacer
las demandas actuales. En estas situaciones el analista de
sistemas considera el impacto que tiene la introducción de
procesamiento computarizado, si el sistema existente es manual. Es poco
probable que únicamente el aumento de la velocidad sea la
respuesta. El tiempo de
procesamiento por transacción aumenta si se considera la
cantidad de actividades comerciales de la empresa junto
con su patrón de crecimiento.
* Recuperación más rápida de la
información:
Las organizaciones
almacenan grandes cantidades de datos, por eso,
debe tenerse en cuenta donde almacenarlos y como recuperarlos
cuando se los necesita.
Cuando un sistema se desarrolla en forma apropiada, se
puede recuperar en forma rápida la
información.
Costo
* Vigilancia de los costos:
Para determinar si la compañía evoluciona
en la forma esperada, de acuerdo con lo presupuestado, se debe
llevar a cabo el seguimiento de los costos de mano de obra,
bienes y
gastos
generales.
La creciente competitividad
del mercado crea la
necesidad de mejores métodos para seguir los costos y
relacionarlos con la productividad individual y
organizacional.
* Reducción de costos:
Los diseños de sistemas ayudan a disminuir los
costos, ya que toman ventaja de las capacidades de cálculo
automático y de recuperación de datos que
están incluidos en procedimientos de programas en
computadora. Muchas tareas son realizadas por programas de
cómputo, lo cual deja un número muy reducido de
éstas para su ejecución manual, disminuyendo al
personal.
Control
*Mayor seguridad de
información:
Algunas veces el hecho de que los datos puedan ser
guardados en una forma adecuada para su lectura por
medio de una máquina, es una seguridad difícil de
alcanzar en un medio ambiente
donde no existen computadoras.
Para aumentar la seguridad, generalmente se desarrollan
sistemas de información automatizados. El acceso a la
información puede estar controlado por un complejo
sistemas de contraseñas, limitado a ciertas áreas o
personal, si está bien protegido, es difícil de
acceder.
*Menor margen de error: (mejora de la exactitud y la
consistencia)
Esto se puede lograr por medio del uso de procedimientos
de control por lotes, tratando de que siempre se siga el mismo
procedimiento.
Cada paso se lleva a cabo de la misma manera, consistencia y con
exactitud: por otra parte se efectúan todos los pasos para
cada lote de transacciones. A diferencia del ser humano, el
sistema no se distrae con llamadas telefónicas, ni olvidos
e interrupciones que sufre el ser humano. Si no se omiten etapas,
es probable que no se produzcan errores.
Comunicación
La falta de comunicación es una fuente común de
dificultades que afectan tanto a cliente como a
empleados. Sin embargo, los sistemas de información bien
desarrollados amplían la
comunicación y facilitan la integración de funciones
individuales.
* Interconexión: ( aumento en la
comunicación)
Muchas empresas aumentan sus vías de
comunicación por medio del desarrollo de redes para este fin, dichas
vías abarcan todo el país y les permiten acelerar
el flujo de información dentro de sus oficinas y otras
instalaciones que no se encuentran en la misma
localidad.
Una de las características más importantes
de los sistemas de información para oficinas es la
transmisión electrónica de información, como por
ejemplo, los mensajes y los documentos.
* Integración de áreas en las
empresas:
Con frecuencia las actividades de las empresas abarcan
varias áreas de la organización, la información que
surge en un área se necesita en otra área, por
ejemplo.
Los sistemas de información ayudan a comunicar
los detalles del diseño a los diferentes grupos, mantienen
las especificaciones esenciales en un sitio de fácil
acceso y calculan factores tales como el estrés y
el nivel de costos a partir de detalles proporcionados por otros
grupos.
Los sistemas de información computacionales son
un arma estratégica, capaz de cambiar la forma en que la
compañía compite en el mercado, en consecuencia
éstos sistemas mejoran la organización y la ayudan
a ganar "ventaja competitiva", sin embargo, si los competidores
de la compañía tienen capacidades mas avanzadas
para el procesamiento de información, entonces los
sistemas de información pueden convertirse en una
"desventaja competitiva".
Una organización puede ganar ventaja competitiva
a través de sus sistemas de información de
diferentes formas.
* Asegurar clientes:
Como los clientes son los más importante para una
organización, los directivos buscan diferentes formas para
conseguir nuevos clientes y mantener los que tienen. Para eso las
empresas proporcionan:
1- Mejores precios
2- Servicios
exclusivos.
3- Productos diferentes.
La ventaja en precios se
observa continuamente en la actividad comercial (sí el
producto es
exclusivo o distinto entonces tener el liderazgo en
precios bajos quizás no sea el objetivo a
alcanzar).
La estrategia eficaz
de precios a menudo se alcanza al desarrollar sistemas de
información por razones tales como reducción de
costos y ganancia en la exactitud.
Generalmente cuando una compañía puede
ofrecer servicios exclusivos y atraer clientes, es posible que
los competidores no sean capaces de atraer a los clientes de la
compañía.
* Dejar fuera a los competidores:
Pasar sobre los competidores puede ser un inconveniente
si ellos se encuentran la forma para duplicar los logros de la
compañía, los sistemas de información pueden
ser la base para dejar fuera del mercado a la competencia ya
sea el disuadir sus intentos por ingresar al mercado o
creándoles obstáculo para su entrada.
*Mejores acuerdos con los proveedores:
En los negocios, los
proveedores también tienen importancia estratégica.
Una manera de utilizar los sistemas de información para
favorecer arreglos con los proveedores es ofreciendo un mejor
precio.
Disminuyendo los costos.
*Formar bases para nuevos productos
Los sistemas de información también forman
la base de muchos productos y servicios nuevos.
Los servicios de base de datos
experimentan un crecimiento común en todas las industrias.
Productos que van desde programas personales hasta
planes de construcción pueden hacerse a la medida del
cliente gracias al procesamiento de
información.
Una cosa es clara, es necesario que los sistemas entren
en operación y que trabajen de manera
confiable.
4. Estrategias para
su desarrollo
Los sistemas de información basados en
computadoras sirven para diversas finalidades que van desde el
procesamiento de las transacciones de una empresa hasta
proveer de la información necesaria para decidir sobre
asuntos que se presentan con frecuencia.
En algunos casos los factores que deben considerarse en
un proyecto de sistema de
información, como el aspecto más apropiado de
la computadora
o la tecnología de comunicaciones
que se va a utilizar, el impacto del nuevo sistema sobre los
empleados de la empresa y las características
específicas que el sistema debe tener se pueden determinar
de manera secuencial. Todas estas situaciones están
determinadas por tres métodos básicos:
5. Método del
ciclo de vida
clásico
El método del ciclo de vida para desarrollo de
sistemas es el conjunto de actividades que los analistas,
diseñadores y usuarios realizan para desarrollar e
implantar un sistema de información.
El método del ciclo de vida para el desarrollo de
sistemas consta de las siguientes actividades:
1) Investigación preliminar
La solicitud para recibir ayuda de un sistema de
información pueden originarse por una persona, cuando
se formula la solicitud comienza la primera actividad del
sistema. Esta actividad tiene tres partes:
*Aclaración de la solicitud
Antes de considerar cualquier investigación de
sistemas, la solicitud de proyecto debe examinarse para
determinar con precisión lo que el solicitante desea; ya
que muchas solicitudes que provienen de empleados y usuarios no
están formuladas de manera clara.
*Estudio de factibilidad
En la investigación preliminar un punto
importante es determinar que el sistema solicitado sea factible.
Existen tres aspectos relacionados con el estudio de
factibilidad, que son realizados por los general por
analistas capacitados o directivos:
-Factibilidad
técnica.
Estudia si el trabajo
para el proyecto, puede desarrollarse con el software y el
personal existente, y si en caso de necesitar nueva
tecnología, cuales son las posibilidades de desarrollarla
(no solo el hardware).
-Factibilidad económica.
Investiga si los costos se justifican con los beneficios
que se obtienen, y si se ha invertido demasiado, como para no
crear el sistema si se cree necesario.
-Factibilidad operacional:
Investiga si será utilizado el sistema, si los
usuarios usaran el sistema, como para obtener
beneficios.
* Aprobación de la solicitud
Algunas organizaciones reciben tantas solicitudes de sus
empleados que sólo es posible atender unas cuantas. Sin
embargo, aquellos proyectos que son deseables y factibles deben
incorporarse en los planes. En algunos casos el desarrollo puede
comenzar inmediatamente, aunque lo común es que los
miembros del equipo de sistemas estén ocupados en otros
proyectos. Cuando esto ocurre, la administración decide que proyectos son los
más importantes y el orden en que se llevarán
acabo.
Después de aprobar la solicitud de un proyecto se
estima su costo, el tiempo necesario para terminarlo y las
necesidades de personal
2) Determinación de los requisitos del
sistema.
Los analistas, al trabajar con los empleados y
administradores, deben estudiar los procesos de
una empresa para dar respuesta a ciertas preguntas
claves.
Para contestar estas preguntas, el analista conversa con
varias personas para reunir detalles relacionados con los
procesos de la empresa. Cuando no es posible entrevistar, en
forma personal a los miembros de grupos grandes dentro de la
organización, se emplean cuestionarios para obtener esta
información.
Las investigaciones
detalladas requieren el estudio de manuales y
reportes, la observación en condiciones reales de las
actividades del trabajo y, en algunas ocasiones, muestras de
formas y documentos con el fin de comprender el proceso en su
totalidad.
Reunidos los detalles, los analistas estudian los datos
sobre requerimientos con la finalidad de identificar las
características que debe tener el nuevo
sistema.
3)Diseño del sistema.(diseño
lógico)
El diseño de un sistema de información
responde a la forma en la que el sistema cumplirá con los
requerimientos identificados durante la fase de análisis.
Es común que los diseñadores hagan un
esquema del formato o pantalla que esperan que aparezca cuando el
sistema esta terminado, se realiza en papel o en la
pantalla de una terminal utilizando algunas de las herramientas
automatizadas disponibles para el desarrollo de
sistemas.
También se indican los datos de entrada, los que
serán calculados y los que deben ser almacenados. Los
diseñadores seleccionan las estructuras de
archivo y los
dispositivos de
almacenamiento. Los procedimientos que se escriben indican
cómo procesar los datos y producir salidas.
Los documentos que contienen las especificaciones de
diseño representan a éste mediante diagramas, tablas
y símbolos especiales.
La información detallada del diseño se
proporciona al equipo de programación para comenzar la fase de
desarrollo de software.
Los diseñadores son responsables de dar a los
programadores las especificaciones de software completas y
claramente delineadas.
4) Desarrollo de software (diseño
físico).
Los encargados de desarrollar software pueden instalar
software comprado 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.
Los programadores son responsables de la
documentación de los programas y de explicar su
codificación, esta documentación es esencial para
probar el programa y hacer
el mantenimiento.
5) Prueba de sistemas.
Durante esta fase, el sistema se emplea de manera
experimental para asegurarse 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 conjuntos de
datos de prueba para su procesamiento y después se
examinan los resultados. En ocasiones se permite que varios
usuarios utilicen el sistema, para que los analistas observen si
tratan de emplearlo en formas no previstas, antes de que la
organización implante el sistema y dependa de
él.
En muchas organizaciones, las pruebas son
conducidas por personas ajenas al grupo que
escribió los programas originales; para asegurarse de que
las pruebas sean completas e imparciales y, por otra, que el
software sea más confiable.
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.
Cada estrategia de implantación tiene sus
méritos de acuerdo con la situación que se
considere dentro de la empresa. Sin importar cuál sea la
estrategia utilizada, los encargados de desarrollar el sistema
procuran que el uso inicial del sistema se encuentre libre de
problemas.
Los sistemas de información deben mantenerse
siempre al día, la implantación es un proceso de
constante evolución.
La evaluación de un sistema se lleva a cabo para
identificar puntos débiles y fuertes. La evaluación
ocurre a lo largo de cualquiera de las siguientes
dimensiones:
- Evaluación operacional
Valoración de la forma en que funciona el
sistema, incluyendo su facilidad de uso, tiempo de respuesta, lo
adecuado de los formatos de información, confiabilidad
global y nivel de utilización.
- Impacto organizacional
Identificación y medición de los
beneficios para la organización en áreas como
finanzas
(costos, ingresos y
ganancias), eficiencia operacional e impacto
competitivo.
– Opinión de los administradores
Evaluación de las actitudes de
directivos y administradores dentro de la organización
así como de los usuarios finales.
- Desempeño del desarrollo
La evaluación del proceso de desarrollo de
acuerdo con criterios tales como tiempo y esfuerzo de desarrollo,
concuerdan con presupuestos y
estándares, y otros criterios de administración de
proyectos.
Cuando la evaluación de sistema se conduce en
forma adecuada proporciona mucha información que puede
ayudar a mejorar la efectividad de los esfuerzos cuando la
evaluación de sistemas se conduce en forma adecuada
proporciona mucha información que puede ayudar a mejorar
la efectividad de los esfuerzos de desarrollo de aplicaciones
subsecuentes.
6. Método de desarrollo
por análisis estructurado
Muchos especialistas en sistemas de información
reconocen la dificultad de comprender de manera completa sistemas
grandes y complejos. El método de desarrollo del
análisis estructurado tiene como finalidad superar esta
dificultad por medio de:
- la división del sistema en componentes
y - la construcción de un modelo del
sistema.
El método incorpora elementos tanto de
análisis como de diseño
El análisis estructurado se concentra en
especificar lo que se requiere que haga el sistema o la
aplicación. Permite que las personas observen los
elementos lógicos (lo que hará el sistema)
separados de los componentes físicos (computadora,
terminales, sistemas de almacenamiento,
etc.). Después de esto se puede desarrollar un
diseño físico eficiente para la situación
donde será utilizado.
El análisis estructurado es un método para
el análisis de
sistemas manuales o automatizados, que conduce al desarrollo
de especificaciones para sistemas nuevos o para efectuar
modificaciones a los ya existentes. Éste análisis
permite al analista conocer un sistema o proceso en una forma
lógica
y manejable al mismo tiempo que proporciona la base para asegurar
que no se omite ningún detalle pertinente.
Componentes
Símbolos gráficos: Iconos y convenciones
para identificar y describir los componentes de un sistema junto
con las relaciones entre estos componentes.
Diccionario de datos: descripción de todos los
datos usados en el sistema. Puede ser manual o
automatizado.
Descripciones de procesos y procedimientos:
declaraciones formales que usan técnicas y lenguajes que
permiten a los analistas describir actividades importantes que
forman parte del sistema.
Reglas: estándares para describir y documentar el
sistema en forma correcta y completa.
Diseño Estructurado.
El diseño Estructurado es otro elemento del
Método de Desarrollo por Análisis Estructurado que
emplea la descripción gráfica, se enfoca en el
desarrollo de especificaciones del software.
El objetivo del Diseño Estructurado es programas
formados por módulos independientes unos de otros desde el
punto de vista funcional.
El Diseño Estructurado es una técnica
específica para el diseño de programas.
La herramienta fundamental del Diseño
Estructurado es el diagrama
estructurado que es de naturaleza
gráfica y evitan cualquier referencia relacionada con el
hardware o detalles físicos. Su finalidad no es mostrar la
lógica de los programas (que es la tarea de los diagramas de
flujo). Los Diagramas Estructurados describen la
interacción entre módulos independientes junto con
los datos que un módulo pasa a otro cuando interacciona
con él.
Análisis de flujo de datos.
Estudia el empleo de los
datos para llevar a cabo procesos específicos de la
empresa dentro del ámbito de una investigación de
sistemas usa los diagrama de flujos de datos y los diccionarios
de datos.
Herramientas
Las herramientas muestran todas las
características esenciales del sistema y la forma en que
se ajustan entre si, como es muy difícil entender todo un
proceso de la empresa en forma verbal, las herramientas ayudan a
ilustrar los componentes esenciales de un sistema, junto con sus
acciones.
Diagrama de flujo de datos
Es el modelo del sistema. Es la herramienta mas
importante y la base sobre la cual se desarrollan otros
componentes.
El modelo original se detalla en diagramas de bajo nivel
que muestran características adicionales del sistema. Cada
proceso puede desglosarse en diagramas de flujos de datos cada
vez más detallados. Repitiéndose esta secuencia
hasta que se obtienen suficientes detalles para que el analista
comprenda la parte del sistema que se encuentra bajo
investigación.
El diagrama físico de datos da un panorama del
sistema en uso, dependiente de la implantación, mostrando
cuales tareas se hacen y como son hechas. Incluyen nombres de
personas, nombres o números de formato y documento,
nombres de departamentos, archivos maestro y de transacciones,
equipo y dispositivos utilizados, ubicaciones, nombres de
procedimientos.
El diagrama lógico de datos da un panorama del
sistema, pero a diferencia del físico es independiente de
la implantación, que se centra en el flujo de datos entre
los procesos, sin considerar los dispositivos específicos
y la localización de los almacenes de
datos o personas en el sistema. Sin indicarse las
características físicas.
Notaciones: son cuatro símbolos, que fueron
desarrollados y promovidos la mismo tiempo por dos
organizaciones: Yourdon y Gane y Sarson.
Flujo de datos: son movimientos de datos en una
determinada dirección, desde un origen hasta un
destino. Es un paquete de datos.
Yourdon Gane y Sarson
Proceso: son personas, procedimientos o dispositivos que
utilizan o producen datos. No identifica el componente
físico
Fuente o destino de los datos: pueden ser personas,
programas, organizaciones u otras entidades que
interactúan con el sistema pero que se encuentre
fuera.
Almacenamiento de datos: es un lugar donde se guardan
los datos. El almacenamiento de datos puede representar
dispositivos tanto computarizados como no
computarizados.
Cada componente en un diagrama de flujo
de datos tiene una etiqueta con un nombre descriptivo. Los
nombres de los procesos reciben un numero para poder
identificarlos, este numero tiene un valor
adicional cuando se estudian los componentes que integran un
proceso especifico
Página siguiente |