Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTRODUCCIN............................................................................................................... 2
CAPITULO 1. INGENIERA DEL SOFTWARE........................................................................3
1. El Software y el Proceso...........................................................................................3
1.1 Caractersticas del software..........................................................................................3
1.2 Componentes del software............................................................................................4
1.3 Aplicaciones del software.............................................................................................5
1.4 Ingeniera del Software.................................................................................................6
1.5 Sistemas Basados en Computadora...............................................................................9
1.6 Ingeniera de la informacin.......................................................................................11
1.7 Ingeniera de productos...............................................................................................11
2. Gestin de proyectos de software.............................................................................11
2.1 Planificacin de proyectos..........................................................................................13
2.2 Actividades asociadas a la planificacin de proyectos de software............................14
2.3 Estimacin del proyecto de software..........................................................................15
2.4 Modelos empricos de estimacin...............................................................................16
2.5 Herramientas automticas de estimacin....................................................................17
3. Anlisis de sistemas.................................................................................................. 17
3.1 Identificacin de las necesidades (anlisis de requisitos)...........................................18
3.2 Estudio de la viabilidad...............................................................................................21
3.3 Anlisis tcnico y econmico......................................................................................22
3.4 Modelado de la arquitectura del sistema.....................................................................23
3.5 Especificacin del sistema..........................................................................................23
3.6 Creacin de prototipos del software...........................................................................24
1.4 Diseo de sistemas................................................................................................. 25
1.4.1 Diseo de datos........................................................................................................25
1.4.2 Diseo arquitectnico..............................................................................................26
1.4.3 Diseo de la interfaz................................................................................................27
4.4 Diseo procedimental.................................................................................................27
1.4.4 Arquitectura del software.........................................................................................28
1.4.6 Criterios para evaluar la calidad del diseo.............................................................28
1.5 Desarrollo de software........................................................................................... 29
1.6 Prueba del software.............................................................................................. 29
1.6.1 Objetivos de la prueba..............................................................................................30
1.6.2 Verificacin y validacin..........................................................................................30
1.7 Implantacin........................................................................................................... 30
1.7.1 Capacitacin de usuarios del sistema.......................................................................30
1.7.2 Evaluacin del sistema.............................................................................................31
1.8 Mantenimiento....................................................................................................... 31
1.9 Calidad del Software............................................................................................... 32
1.9.1 Factores de calidad del software..............................................................................33
1.10.2 Bibliografa............................................................................................................34
5.2 Bibliografa.................................................................................................................34
INTRODUCCIN
Las tcnicas de modelacin de objetos constituyen una nueva forma de pensar acerca de los
problemas, empleando diversos modelos que se organizan a partir del mundo real. Los
modelos orientados a objetos son tiles para comprender los problemas, comunicarse con
los expertos de la aplicacin, modelar la empresa, documentar y disear programas y bases
de datos.
2
CAPITULO 1. INGENIERA DEL SOFTWARE
1. El Software y el Proceso.
3
diseo, pero la fase de construccin del hardware puede introducir problemas de calidad
que no existen (o son fcilmente corregibles) en el software. Ambas actividades
dependen de las personas y requieren de mtodos de construccin del producto final,
pero la relacin entre las personas dedicadas y el trabajo realizado es completamente
diferente para el software, as como los mtodos utilizados.
4
La reutilizacin es una caracterstica importante para un componente de software de alta
calidad. El componente debera disearse e implementarse para que pueda volver a ser
reutilizado en muchos programas diferentes. En los aos sesenta se construyeron
bibliotecas de subrutinas cientficas reutilizables en una amplia serie de aplicaciones
cientficas y de ingeniera. Esas bibliotecas de subrutinas reutilizaban de forma efectiva
algoritmos bien definidos, pero tenan un dominio de aplicacin limitado. Hoy en da, se ha
extendido la visin de reutilizacin para abarcar no slo los algoritmos, sino tambin
estructuras de datos. Los componentes reutilizables modernos encapsulan tanto datos como
procesos que se aplican a los datos, permitiendo al ingeniero del software crear nuevas
aplicaciones a partir de las partes reutilizables.
Software de sistemas. Es un conjunto de programas que han sido escritos para servir a
otros programas. Algunos programas de sistemas (por ejemplo, compiladores, editores
y utilidades de gestin de archivos) procesan estructuras de informacin complejas,
pero determinadas. Otras aplicaciones de sistemas, como ciertos componentes del
sistema operativo, utilidades de manejo de perifricos y procesadores de
telecomunicaciones procesan datos en gran medida indeterminados.
Software de tiempo real. Mide, analiza y controla sucesos del mundo real conforme
ocurren. Entre sus elementos se incluyen: un componente de adquisicin de datos que
recolecta y da formato a la informacin recibida del entorno externo, un componente de
anlisis que transforma la informacin segn lo requiera la aplicacin, un componente
de control/salida que responda al entorno externo y un componente de monitorizacin
que coordina todos los dems componentes, de forma que pueda mantenerse la
respuesta en tiempo real.
5
Software de ingeniera y cientfico. Est caracterizado por los algoritmos de manejo
de nmeros. Las aplicaciones van desde la astronoma a la vulcanologa, desde el
anlisis de la presin de los automotores a la dinmica orbital de las lanzaderas
espaciales y desde la biologa molecular a la fabricacin automtica. Sin embargo, las
nuevas aplicaciones del rea de ingeniera y ciencia se han alejado de los algoritmos
convencionales numricos. El diseo asistido por computadoras (del ingls CAD), la
simulacin de sistemas y otras aplicaciones interactivas, han comenzado a coger
caractersticas del software de tiempo real e incluso del software de sistemas.
La Ingeniera del Software es un rea de la informtica que ofrece mtodos y tcnicas para
desarrollar y mantener software de calidad que resuelvan problemas de todo tipo. La
Ingeniera del Software es una nueva ingeniera. Una seleccin de las definiciones de
Ingeniera del Software se muestra a continuacin:
La mayora de los lectores tienden a seguir esta definicin. Aunque no dice sobre los
aspectos tcnicos de la calidad del software, no se enfrenta directamente con la necesidad
de la satisfaccin del cliente, omite la mencin de la importancia de mediciones y mtricas;
tampoco expresa la importancia de un proceso avanzado. Sin embargo, la definicin de
Bauer nos proporciona una lnea base.
6
El IEEE [IEEE93] ha desarrollado una definicin ms completa:
Los mtodos de la ingeniera del software indican cmo construir tcnicamente el software.
Abarcan un conjunto de tareas que incluyen anlisis de requisitos, diseo, construccin de
programas, pruebas y mantenimiento.
7
Cmo se apoyar la entidad cuando usuarios soliciten correcciones, adaptaciones y
mejoras de la entidad?
En el curso slo nos vamos a centrar en una sola entidad: el software de computadoras.
Para construir la ingeniera del software adecuadamente, se debe definir un proceso de
desarrollo de software, formado por tres fases:
Modelo lineal secuencial: llamado tambin ciclo de vida clsico, sugiere un enfoque
sistemtico y secuencial del desarrollo del software, y consta de las actividades siguientes:
8
Pruebas: Despus de la generacin comienzan las pruebas del programa, centrada en
los procesos lgicos internos del software, y en los externos funcionales, para detectar
errores y comprobar que la entrada definida produce los resultados deseados.
Mantenimiento: es casi seguro que el software sufra cambios luego de su entrega al
cliente, provocado por causas como dispositivos nuevos disponibles, o necesidad de
mejoras funcionales o de rendimiento.
Modelos de procesos evolutivos: estos modelos son iterativos y permiten a los ingenieros
desarrollar versiones cada vez ms completas del software.
9
Ambas ingenieras de la informacin y de producto intentan poner orden al desarrollo de
sistemas basados en computadoras, tanto la ingeniera de la informacin como la de
producto trabajan para asignar un papel al software de computadora y para establecer los
enlaces que unen al software con otros elementos de un sistema basado en computadora.
La palabra sistema es uno de los trminos ms usados del lxico tcnico. El diccionario
Webster define sistema como un conjunto o disposicin de cosas relacionadas de
manera que forman una unidad o u todo orgnico... un conjunto de hechos, principios,
reglas, etc., clasificadas y dispuestas de manera ordenada mostrando un plan lgico de
unin de las partes... un mtodo o plan de clasificacin o disposicin... una manera
establecida de hacer algo; mtodo; procedimiento....
Base de datos. Una gran coleccin de informacin organizada a la que se accede por
medio del software.
Procedimientos. Los pasos que definen el empleo especfico de cada elemento del
sistema o el contexto procedimental en que reside el sistema.
10
1.6 Ingeniera de la informacin
Arquitectura de datos
Arquitectura de aplicaciones
Infraestructura de la tecnologa
La gestin eficaz de un proyecto de software se centra en las tres 'p': personal, problema y
proceso. El orden no es arbitrario. El gestor que se olvida de que el trabajo de ingeniera
del software es un esfuerzo humano intenso nunca tendr xito en la gestin de proyectos.
Un gestor que no fomenta una minuciosa comunicacin con el cliente al principio de la
evolucin del proyecto se arriesga a construir una elegante solucin para un problema
equivocado. Finalmente, el administrador que presta poca atencin al proceso corre el
riesgo de arrojar mtodos tcnicos y herramientas eficaces al vaco.
11
Personal
La necesidad de contar con personal para el desarrollo del software altamente preparado y
motivado se viene discutiendo desde los aos 60. El proceso del software y todos los
proyectos de software lo componen participantes que pueden clasificarse en una de cinco
categoras:
1. Gestores superiores, que definen los aspectos de negocios que a menudo tienen una
significativa influencia en el proyecto.
2. Gestiones (tcnicos) del proyecto, que deben planificar, motivar, organizar y
controlar a los profesionales que realizan el trabajo de software.
3. Profesionales, que proporcionan las capacidades tcnicas necesarias para la
ingeniera de un producto o aplicacin.
4. Clientes, que especifican los requisitos para la ingeniera del software.
5. Usuarios finales, que interaccionan con el software una vez que se ha entregado para
la produccin,
Problema
El desarrollador de software y el cliente deben reunirse para definir los objetivos del
proyecto y su mbito. En muchos casos, esta actividad empieza como parte del proceso de
ingeniera del sistema y contina como el primer paso en el anlisis de los requisitos del
software. Los objetivos identifican las metas generales del proyecto sin considerar cmo se
conseguirn.
Una vez que se han entendido los objetivos y el mbito del proyecto, se consideran las
soluciones alternativas. Aunque se estudia con poco detalle, las alternativas permiten a los
gestores y a los profesionales seleccionar el Mejor enfoque, dadas las limitaciones
impuestas por las fechas lmite de entrega, restricciones del presupuesto, disponibilidad de
personal, interfaces tcnicas y otros muchos factores.
Proceso
12
Un proceso de software proporciona la estructura desde la que se puede establecer un
detallado plan para el desarrollo del software. Un pequeo nmero de actividades
estructurales se puede aplicar a todos los proyectos de software, sin tener en cuenta su
tamao o complejidad. Diferentes conjuntos de tareas, hitos, entregas y garanta de calidad
permite a las actividades estructurales adaptarse a las caractersticas del proyecto de
software y a los requisitos del equipo del proyecto. Finalmente, las actividades protectoras
tales como garanta de calidad del software, gestin y configuracin del software y
medicin cubren el modelo de proceso y se desarrollan a todo lo largo del mismo.
Aunque la estimacin es ms un arte que una ciencia, es una actividad importante que no
debe llevarse a cabo de forma descuidada. Existen tcnicas tiles para la estimacin de
costes y de tiempos. Y, dado que la estimacin es la base de todas las dems actividades de
planificacin del proyecto y sirve como gua para una buena ingeniera del software, no es
en absoluto aconsejable embarcarse sin ella.
13
2.2 Actividades asociadas a la planificacin de proyectos de software.
La primera actividad que se lleva a cabo durante la planificacin del proyecto de software
es el mbito del software. El mbito se define respondiendo las siguientes cuestiones.
El mbito del software describe la funcin, el rendimiento, las restricciones, las interfaces y
la fiabilidad, se evalan las funciones del mbito y en algunos casos se refinan para dar ms
detalles antes del comienzo de la estimacin. Las restricciones de rendimiento abarcan los
requisitos de tiempo de respuesta y procesamiento, identifican los lmites del software
originados por el hardware externo, por la memoria disponible y por otros sistemas
existentes.
2.2.2 Recursos
14
Recursos Humanos
Recursos de entorno
El coste del software constitua un pequeo porcentaje del coste total de los sistemas
basados en computadora. En la actualidad, el software constituye el elemento ms caro de
la mayora de los sistemas informticos. Un gran error en la estimacin del coste puede ser
lo que marque la diferencia entre beneficios y prdidas, y sobrepasarse en el coste puede ser
catastrfico en el equipo de desarrollo.
La estimacin del coste y del esfuerzo del software nunca ser una ciencia exacta. Son
demasiadas las variables humanas, tcnicas, de entorno, polticas que pueden afectar al
coste final del software y al esfuerzo aplicado para desarrollarlo.
15
Las siguientes opciones son tiles para realizar estimaciones seguras de costes y esfuerzos:
1. Deje la estimacin para ms adelante (lgico que podemos realizar una estimacin
al cien por cien fiable luego de haber terminado el proyecto).
2. Guiar las estimaciones en proyectos similares ya concluidos.
3. Usar tcnicas de descomposicin relativamente sencillas para generar las
estimaciones de coste y de esfuerzo del proyecto.
4. Realice un modelo emprico para el clculo de costes y esfuerzos del software.
Las opciones restantes son mtodos viables para la estimacin del proyecto de software.
Las tcnicas de descomposicin utilizan un enfoque de divide y vencers para la
estimacin del proyecto de software. Se pueden utilizar los modelos empricos de
estimacin como complemento de las tcnicas de descomposicin, ofreciendo un enfoque
de estimacin potencialmente valioso por derecho propio
Los datos empricos que soportan la mayora de los modelos de estimacin se obtienen de
una muestra limitada de proyectos. Por esta razn, el modelo de estimacin no es adecuado
para todas las clases de software y en todos los entornos de desarrollo. Por tanto, los
resultados obtenidos de dichos modelos se deben utilizar con prudencia
Barry Boehm, en su libro clsico sobre economa de la Ingeniera del Software, introduce
una jerarqua de modelos de estimacin de Software con el nombre de COCOMO
(Constructive Cost Model) o modelo constructivo de costos. La jerarqua de modelos de
Boehm esta formada por:
16
Modelo I. Es el modelo COCOMO bsico que calcula el esfuerzo y el costo del desarrollo
de software en funcin del tamao del programa, expresado en las lneas estimadas.
Modelo II. Es el modelo intermedio que calcula el esfuerzo del desarrollo de software en
funcin del tamao del programa y de un conjunto de conductores de costos que
intervienen en la evaluacin subjetiva del producto, del hardware, del personal y de los
atributos del proyecto.
3. Anlisis de sistemas
17
Crear una definicin del sistema que forme el fundamento de todo el trabajo de
ingeniera.
Para alcanzar los objetivos de la etapa del anlisis se requiere de un amplio conocimiento
del rea de hardware, software, administracin de bases de datos y de la ingeniera humana
para interactuar con el personal que solicita la realizacin del sistema.
18
Lo primero en el anlisis del sistema es la identificacin de la necesidad del usuario, donde
el analista se rene con el cliente y usuarios finales para entender los objetivos del
producto y definir las metas necesarias para alcanzarlos.
Una vez que se han identificado las metas globales, el analista pasa a la evaluacin de la
informacin suplementaria:
En la evaluacin del problema y la sntesis de la solucin el analista debe definir todos los
objetos de datos observables externamente, evaluar el flujo y contenido de la informacin,
definir y elaborar todas las funciones del software, entender el comportamiento del
software en el contexto de sistema. Estas tareas sirven para describir el problema de manera
que se pueda sintetizar un enfoque o solucin global.
Durante la actividad de evaluacin y sntesis de la solucin, el analista crea modelos del
sistema para entender el flujo de datos y de control, el tratamiento funcional.
En esta etapa no es posible una especificacin detallada del sistema, el cliente puede no
estar seguro de lo que quiere, el desarrollador puede no estar seguro de que un enfoque
especfico consiga apropiadamente el funcionamiento y rendimiento adecuados.
19
Una vez que se han identificado las metas globales, el analista pasa a la evaluacin de la
informacin suplementaria: Existe la tecnologa para construir el sistema? Qu recursos
especiales de desarrollo y fabricacin sern necesarios? Qu lmites se han puesto al
presupuesto y a la planificacin temporal? Si el nuevo sistema es un producto a desarrollar
para venderlo a muchos clientes, se plantean adems las siguientes cuestiones: Cul es el
mercado potencial del producto? Cmo es comparativamente este producto con los de la
competencia? Qu posicin ocupa este producto en la lnea general de produccin de la
compaa?
Cmo caracterizara una buena salida (resultado) generada para una buena
solucin?
A qu tipo de problema(s) va dirigida esta solucin?
Puede mostrarme (o describirme) el entorno en que se utilizar la solucin?
Hay aspectos o restricciones especiales del rendimiento que afecten a la manera de
enfocar la solucin?
20
Estas preguntas (y otras) ayudarn a romper el hielo e iniciar la comunicacin tan
esencial para el xito del anlisis. Pero el formato de reunin tipo pregunta y respuesta
no es un enfoque que haya tenido mucho xito. De hecho, esta sesin de preguntas y
respuestas debera emplearse solamente en el primer encuentro y sustituirse despus por
una modalidad que combine elementos de resolucin del problema, negociacin y
especificacin.
Todos los proyectos son posibles en caso de tener infinitos recursos y tiempo.
Desafortunadamente el desarrollo de un sistema basado en computadoras es muy probable
que exista escasez de recursos y de fechas de entrega. Por lo que es necesario evaluar la
viabilidad de un proyecto cuanto antes.
Las consideraciones que estn asociadas normalmente con la viabilidad tcnica son:
21
Riesgo de desarrollo. Puede disearse el elemento del sistema de manera que se
consigan la funcin y rendimiento necesarios dentro de las restricciones descubiertas
durante el anlisis?
La viabilidad legal comprende una gama muy amplia de aspectos que incluyen contratos,
responsabilidades legales, infracciones y un montn de trampas frecuentemente
desconocidas para el personal tcnico.
El grado con que se consideran las alternativas est a menudo limitado por restricciones de
tiempo y costes; sin embargo, no debera despreciarse una variacin legtima por no estar
subvencionada.
El estudio de viabilidad es revisado primero por el jefe del proyecto (para valorar la
fiabilidad del contenido) y por la direccin (para valorar el estado del proyecto). El estudio
debera concluir en una decisin adelante / abandonamos.
El anlisis costes beneficios determina los costes para el desarrollo del proyecto y los
pondera con los beneficios tangibles (medibles directamente en dinero) y beneficios
intangibles del sistema. El anlisis costo/beneficio es complicado por criterios que varan
con las caractersticas del sistema a desarrollar, el tamao relativo del proyecto y los
beneficios esperados de la inversin como parte del plan estratgico de la compaa.
Adems, muchos beneficios obtenidos de los sistemas basados en computadora son
intangibles (por ejemplo, mejor calidad de diseo gracias a una optimizacin frecuente,
mayor satisfaccin del cliente gracias al control programable y mejores decisiones de
negocio gracias a los datos de ventas preanalizados y reformateados). Las comparaciones
cuantitativas directas pueden ser difciles de conseguir.
Durante el anlisis tcnico, el analista evala los principios tcnicos del sistema al mismo
tiempo que se recoge informacin adicional sobre el rendimiento, fiabilidad, caractersticas
de mantenimiento y productividad.
22
El anlisis tcnico empieza con una valoracin de la viabilidad tcnica del
sistema propuesto. Qu tecnologas se requieren para lograr el funcionamiento
y rendimiento del sistema?
Qu nuevos materiales, mtodos, algoritmos o procesos se necesitan y cul es
su riesgo de desarrollo?
Cmo afectarn estos aspectos tecnolgicos a los costes?
Como casi todas las tcnicas de modelado usadas en la ingeniera del software y de
sistemas, el esquema de arquitectura permite al analista crear una jerarqua en detalle. En
la parte alta de la jerarqua reside el diagrama de contexto de la arquitectura (DCA).
Las especificaciones del sistema se registran en un documento que sirve de base para
ingeniera hardware, software, base de datos, e ingeniera Humana. En este documento se
describen las funciones y rendimiento de un sistema basado en computadoras y las
dificultades que se pueden presentar durante su desarrollo. Al concluir la etapa del anlisis
se realizan las especificaciones de los requisitos del software.
23
3.6 Creacin de prototipos del software.
El anlisis hay que hacerlo independientemente del paradigma de ingeniera del software
que se aplique, sin embargo, la forma que toma este anlisis vara. En algunos casos es
posible aplicar los principios operativos del anlisis y obtener un modelo de software del
que se pueda desarrollar un diseo. En otras situaciones, se realizan recopilaciones de
requisitos, se aplican los principios del anlisis y se construye un modelo del software a
fabricar denominado prototipo para que lo valore el cliente y el desarrollador. Finalmente,
hay circunstancias que requieren la construccin de un prototipo al comienzo del anlisis,
ya que el modelo es el nico medio a travs del cual se pueden obtener eficazmente los
requisitos. El modelo evoluciona despus hacia la produccin del software.
Como el cliente debe interactuar con el prototipo en fases posteriores, es esencial que (1) se
destinen recursos del cliente a la evaluacin y refinamiento del prototipo, y (2) el cliente
sea capaz de tomar decisiones inmediatas sobre los requisitos.
Existe un conjunto de seis cuestiones que ayudarn en la seleccin del enfoque de creacin
de prototipos:
24
6. Hay contradicciones en los requisitos?
El diseo del software es el ncleo tcnico del proceso de ingeniera del software y se
aplica independientemente del paradigma de desarrollo utilizado.
Cada uno de los elementos del modelo de anlisis proporciona informacin necesaria para
crear un modelo de diseo. Los requisitos del software, manifestados por los datos y los
modelos funcionales y de comportamiento, componen la fase de diseo. Mediante el
empleo de uno de los mtodos de diseo la fase de diseo produce:
Diseo de datos
Diseo arquitectnico
Diseo de interfaz
Diseo procedimental.
25
Independientemente de las tcnicas de diseo que se emplean, datos bien diseados pueden
conducir a una mejor estructura y modularidad del programa, y a una menor complejidad
procedimental.
El diseo orientado al flujo de datos es un mtodo de diseo arquitectnico que permite una
cmoda transicin desde el modelo de anlisis a una descripcin del diseo de la estructura
del programa.
26
particionamiento; y (5) se refina la estructura resultante usando medidas y heursticas de
diseo. El tipo de flujo de informacin es lo que determina el mtodo de conversin
requerido en el paso 3.
El diseo de la interfaz de usuario tiene tanto que ver con el estudio de las personas como
con los aspectos de la tecnologa. Quin es el usuario? Cmo aprende el usuario a
interactuar con el nuevo sistema basado en computadora?Cmo interpreta el usuario la
informacin producida por el sistema? Qu es lo que espera el usuario del sistema? stas
son unas pocas de las cuestiones que deben hacerse y contestarse como parte del diseo de
la interfaz de usuario.
El proceso general para disear la interfaz de usuario empieza con la creacin de diferentes
modelos de funcin del sistema (tal y como se percibe desde fuera). Se definen las tareas
orientadas al hombre y a la mquina, requeridas para conseguir la funcin del sistema; se
consideran los aspectos de diseo aplicables a todos los diseos de interfaz; se usan
herramientas para crear el prototipo e implementar el modelo de diseo y se evala la
calidad del resultado.
El diseo de interfaz describe cmo se comunica el software consigo mismo, con los
sistemas que operan con l y con los operadores que lo emplean. Una interfaz implica un
flujo de informacin. Por tanto, los diagramas de flujo de datos y control proporcionan la
informacin necesaria para el diseo de la interfaz.
27
teora, al menos), las personas fuera del mundo del software podran entender mejor la
especificacin, y no sera necesario un nuevo aprendizaje.
La importancia del diseo del software se puede decir con una sola palabra: calidad. El
diseo es el lugar donde se fomenta la calidad en el desarrollo del software. El diseo nos
proporciona representaciones del software en las que se pueden valorar la calidad. El
diseo es la nica manera de traducir con precisin los requisitos del cliente en un sistema o
producto software
La arquitectura del software contribuye a la estructura global del software del sistema.
En su forma ms simple, la arquitectura es la estructura jerrquica de los componentes del
programa (mdulos), la manera de interactuar de estos componentes, y la estructura de los
datos usados por estos componentes. La relacin de control entre los mdulos se expresa
de la siguiente manera: un mdulo que controla otro mdulo se dice que es superior a l;
inversamente, un mdulo controlado por otro se dice que es inferior.
Debe tener una estructura jerrquica que haga un uso inteligente del control entre los
componentes del software.
28
Debe ser modular, o sea hacer una particin lgica del software en elementos que
realicen funciones y subfunciones especificas.
Debe contener abstracciones de datos y procedimientos.
Los mdulos deben presentar caractersticas de funcionamiento independiente.
Las interfaces no deben ser complejas para las conexiones entre los mdulos y el
entorno exterior.
Debe hacerse usando un mtodo segn la informacin obtenida durante el anlisis de
requisitos de Software.
Luego de generar el cdigo se comienzan las pruebas del programa, este paso se centra en
los procesos lgicos internos del software, asegurando que todas las sentencias y procesos
externos funcionales se han comprobado, se realizan las pruebas para la deteccin de
errores y el sentirse seguro de que las entradas produzcan resultados reales de acuerdo con
los resultados requeridos.
29
Segn el momento son apropiadas diferentes tcnicas de prueba.
La prueba la lleva a cabo el responsable del desarrollo del software y (para grandes
proyectos) un grupo independiente de pruebas.
Una estrategia de prueba del software debe incluir pruebas de bajo nivel que verifiquen que
todos los pequeos segmentos de cdigo fuente se han implementado correctamente, as
como pruebas de alto nivel que validen las principales funciones del sistema frente a los
requisitos del cliente. Una estrategia debe proporcionar una gua al profesional y
proporcionar un conjunto de hitos para el jefe de proyecto.
1.7 Implantacin
Para implantar el sistema de informacin hay que estar bien seguro que el sistema sea
operacional, o sea, que funcione de acuerdo a los requerimientos del anlisis.
A pesar de que el sistema est bien diseado y cuente con interfaces adecuadas, es
importante para la implantacin realizar una buena capacitacin a todos los usuarios para su
puesta en explotacin y garantizar el mantenimiento.
30
que toman las decisiones sin usar una computadora. Es recomendable no incluir durante el
entrenamiento a grupos de personas de habilidad e intereses de trabajo diferentes; ya que
ambos grupos quedaran perdidos.
A pesar de que una empresa puede contratar los servicios de instructores externos, el
analista es la persona que puede ofrecer la mejor capacitacin debido a que conoce al
usuario del sistema y al sistema mejor que cualquier otro.
La evaluacin del sistema se lleva a cabo para identificar puntos dbiles y fuertes del
mismo. Esta evaluacin se lleva en cualquiera de las siguientes dimensiones:
Evaluacin operacional:
Se evala la manera en que funciona el sistema, facilidad de uso, tiempo de respuesta ante
una peticin, formatos en que se muestra la informacin de entradas y salidas, y el nivel de
utilidad.
Impacto organizacional:
Se miden los beneficios operacionales para la empresa en reas tales como las finanzas,
eficiencia en el desempeo laboral e impacto competitivo. Se evala el impacto, rapidez y
organizacin en el flujo de informacin interna y externa.
1.8 Mantenimiento
31
Es lgico que el software sufra cambios despus de ser entregado al cliente. Se producirn
cambios porque se han encontrado errores, porque el software debe adaptarse para ajustarse
a los cambios de su entorno externo o porque el cliente requiere mejoras funcionales o de
rendimiento.
Esta fase vuelve a aplicar los pasos de las fases de definicin y de desarrollo, pero en el
contexto del software ya existente. Durante la fase de mantenimiento se encuentran cuatro
tipos de cambios:
Adaptacin. Con el paso del tiempo, es probable que cambie el entorno original (ejemplo:
CPU, el sistema operativo, las reglas de empresa, las caractersticas externas de productos)
para el que se desarroll el software. El mantenimiento adaptativo produce modificacin
en el software para acomodarlo a los cambios de su entorno externo.
Todas las metodologas y herramientas tienen un nico fin que es producir software de
gran calidad.
32
caractersticas implcitas que se espera de todo software desarrollado
profesionalmente.
Los requisitos del software son la base de las medidas de calidad. La falta de concordancia
con los requisitos es una falta de calidad. Los estndares o metodologas definen un
conjunto de criterios de desarrollo que guan la forma en que se aplica la ingeniera del
software. Si no se sigue ninguna metodologa siempre habr falta de calidad. Existen
algunos requisitos implcitos o expectativas que a menudo no se mencionan, o se
mencionan de forma incompleta (por ejemplo el deseo de un buen mantenimiento) que
tambin pueden implicar una falta de calidad.
Eficiencia: La eficiencia del software est dada por la capacidad de hacer un buen
uso de los recursos que manipula.
33
Integridad: La integridad es la capacidad de un software de proteger sus propios
componentes contra los procesos que no tengan derecho de acceso.
1.10.2 Bibliografa.
5.2 Bibliografa.
34
Rumbaugh, Jim y otros.
Ingeniera del Software. Un enfoque prctico. Mc Graw Hill. 1997 Cuarta Edicin
Roger Pressman.
www.rational.com
35