herramientas automatizadas

Download Report

Transcript herramientas automatizadas

Criterios de aceptación y rechazo
Legibilidad:
La legibilidad es el conjunto de características
tipográficas y lingüísticas del texto escrito que
permiten leerlo y comprenderlo con facilidad."
2
Robustez
•
•
•
•
•
•
•
¿Qué es un sistema robusto? Un sistema robusto es un sistema que no falla.
Cada equipo está diseñado para ofrecer la máxima robustez posible.
Pero no sólo basta con un buen diseño. Además es necesario realizar pruebas de integración que
confirmen la eficiencia del sistema, y pruebas de compatibilidad con el software al que va
destinado.
Los ordenadores de hoy en día basan su filosofía en el uso de tecnología fiable y de la más alta
calidad, lo cual garantiza tanto a nivel individual, como a nivel general, que el sistema fabricado
cumple con las expectativas a las que va orientado.
Tan importante como las pruebas de diseño e integración son las pruebas de robustez y sobrecarga
a las que son sometidos los sistemas MOUNTAIN una vez fabricados.
Además, un elemento a tener muy en cuenta en un ordenador es el chasis. Muchas compañías
apuestan por utilizar chasis de bajo coste para abaratar el precio del producto final. En MOUNTAIN
en cambio, apostamos porque todas y cada una de nuestras configuraciones estén albergadas en
chasis de la máxima calidad y acabado, tanto a nivel de materiales, como en sus sistemas de
refrigeración y bajo ruido, lo cual garantiza en todo momento la estabilidad de la que
presumimos.
3
Portabilidad
•
•
•
•
La portabilidad (en inglés porting) es uno de los conceptos clave en la
programación de alto nivel.
Se define como la característica que posee un software para ejecutarse en
diferentes plataformas, el código fuente del software es capaz de reutilizarse en
vez de crearse un nuevo código cuando el software pasa de una plataforma a otra.
A mayor portabilidad menor es la dependencia del software con respecto a la
plataforma.
El prerrequisito para la portabilidad es la abstracción generalizada entre la
aplicación lógica y las interfaces del sistema. Cuando un software se puede
compilar en diversas plataformas (x86, IA64, amd64, etc.), se dice que es
multiplataforma. Esta característica es importante para el desarrollo de reducción
costos, cuando se quiere hacer una misma aplicación.
En algunos casos el software es "independiente" de la plataforma y puede
ejecutarse en plataformas diversas sin necesidad de ser compilado
específicamente para cada una de ellas, a este tipo de software se le llama
interpretado, donde un "interprete" traduce (propiamente interpreta) las
intrucciones a tiempo de ejecución para que sean entendidas por diferentes
plataformas.
4
Modificabilidad
• Un documento de requisitos si y solo si su
estilo y estructura permiten que puedan
llevarse a cabo modificaciones en los
requisitos manteniendo la estructura y el
estilo, de forma facil, completa y consistente.
La modificabilidad generalmente requiere en
la documentación que tenga una organización
coherente y facil, con una tabla de contenidos
y un indice.
5
Eficiencia
• Un sistema de software es eficiente si utiliza los recursos
computacionales en forma economica. La perfomance de un
sistema es importante porque afecta su usuabilidad. Por ejemplo, si
es muy lento reduce la productividad de los usuarios. Si utiliza
demasiada memoria puede afectar al resto de las aplicaciones que
se estan ejecutando o ejecutarse demasiado lentamente, mientras
el sistema operativo intenta balancear el uso de la memoria por
parte de las distintas aplicaciones. Detrás de estos problemas están
los limites cambiantes de la eficiencia según cambia la tecnología,
ya que la visión de “demasiado caro” cambia constantemente según
los avances tecnologicos, actualmente una computadora cuesta
menos que hace unos años.
• Se refiere al comportamiento en el tiempo (tiempo de respuesta,
tiempo de proceso, velocidad de proceso) y al comportamiento de
los recursos (cantidad de recursos utilizados y duración de esta
utilización)
6
Economía
• Una vez analizadas las ventajas que ofrece el
producto, es necesario evaluar la relación costobeneficio, comparando las ventajas con los costos
totales que se incurrirán durante el ciclo de vida
del paquete. El costo de un producto comprado
es la suma del precio facturado por el proveedor,
de los impuesto no susceptibles de recupero y del
costo de entrega.
• Es la capacidad que un sistema tiene de
completarse con el presupuesto asignado.
7
Documentación
• Este se puede presentar de la siguiente manera:
• 1.- Documentación interno.- se encuentra
integrado y accesible a través del software.
• 2.- Este no se encuentra integrado en el sistema,
de tal forma que se encuentra aparatado de la
operación del software, el cual se podrá distribuir
por medio de un CD o a través de descarga que se
establezcan en determinadas paginas web
8
Interoperabilidad
• Consiste en que el sistema heterogéneos dispongan de
mecanismos que permitan intercambiar procesos y/o
datos. En el entorno web, la interoperabilidad es una
condición necesaria para que los usuarios tengan un
completo acceso a la información disponible. De tal
forma podemos decir que un sistema integrado de
gestión, compuesto por diversos módulos. Utiliza ODBC
para admitir el trabajo contra distintos motores de
bases de datos, (informix,DB2,SQL Server, Oracle). Esto
proporciona interoperabilidad entre diferentes
plataformas.
9
Estética
• Permite facilitar la comunicación con el cliente
y resultan útiles para determinar las
características necesarias que tendrá el
sistemas. Como pueden ser los siguiente:
• Entorno visual: (resolución del monitor)
• Elementos de multimedia: (Graficos,
fotografias, animaciones etc.)
• Hipertexto: Tendrá un nivel de hipertexto
adecuado (no mas de 3 niveles).
10
3. Herramientas automatizadas CASE
3.1 Uppre case Características y aplicación
3.2 Middle case Características
3.3 Lower case Características y aplicación
11
HERRAMIENTAS AUTOMATIZADAS
El mercado de los sistemas de hoy en día
demanda desarrollos de software cada vez
más grandes y complejos debido a la
importancia y al volumen de la información
que manejan las organizaciones. Como
solución a esta problemática, la ingeniería
del software ha creado métodos y
herramientas
que
ayuden
a
los
programadores a desarrollar aplicaciones
de forma más rápida y de mejor calidad.
12
HERRAMIENTAS AUTOMATIZADAS
La ingeniería del software es la ciencia que
ayuda a elaborar sistemas con el fin de
que sea económico, fiable y funcional
eficientemente sobre las maquinas.
La IEEE define en 1990 a la ingeniería del
software como: “ la aplicación de un
enfoque
sistemático,
disciplinado
y
cuantificable al desarrollo, operación
(funcionamiento) y mantenimiento de
software”.
13
HERRAMIENTAS AUTOMATIZADAS
Las herramientas CASE (Computer Aided
Software Engineering, Ingeniería de
Software Asistida por Ordenador) son
diversas
aplicaciones
informáticas
destinadas a aumentar la productividad en
el desarrollo de software reduciendo el
costo de las mismas en términos de tiempo
y de dinero.
14
HERRAMIENTAS AUTOMATIZADAS
Estas herramientas nos pueden ayudar en
todos los aspectos del ciclo de vida de
desarrollo del software en tareas como el
proceso de realizar un diseño del
proyecto,
calculo
de
costos,
implementación de parte del código
automáticamente con el diseño dado,
compilación automática, documentación o
detección de errores entre otras.
15
HERRAMIENTAS AUTOMATIZADAS
En los años 70 un proyecto llamado ISDOS
diseñó un lenguaje y por lo tanto un producto
que analizaba la relación existente entre los
requisitos de un problema y las necesidades
que éstos generaban, el lenguaje en cuestión
se denominaba PSL (Problem Statement
Language o Lenguaje de la declaración de
problema) y la aplicación que ayudaba a
buscar las necesidades de los diseñadores
PSA (Problem Statement Analyzer o
Analizador de la declaración de problema).
16
HERRAMIENTAS AUTOMATIZADAS
Aunque ésos son los inicios de las
herramientas informáticas que ayudan a
crear nuevos proyectos informáticos, la
primera
herramienta
CASE
fue
Excelerator que salió a la luz en el año
1984 y trabajaba bajo una plataforma PC.
Las herramientas CASE alcanzaron su
techo a principios de los años 90.
17
HERRAMIENTAS AUTOMATIZADAS
En la época en la que IBM había conseguido una
alianza con la empresa de software AD/Cycle
para trabajar con sus mainframes, estos dos
gigantes trabajaban con herramientas CASE
que abarcaban todo el ciclo de vida del
software. Pero poco a poco los mainframes han
ido siendo menos utilizados y actualmente el
mercado de las Big CASE ha muerto
completamente abriendo el mercado de
diversas herramientas más específicas para
cada fase del ciclo de vida del software.
18
OBJETIVOS
1. Mejorar la productividad en el desarrollo
y mantenimiento del software.
2. Aumentar la calidad del software.
3. Mejorar el tiempo y costo del desarrollo y
mantenimiento de los sistemas informáticos.
4. Mejorar la planificación de un proyecto.
19
OBJETIVOS
5. Aumentar la biblioteca de conocimiento
informático de una empresa ayudando a la
búsqueda de soluciones para los requisitos.
6. Automatizar, desarrollo del software,
documentación, generación de código,
pruebas de errores y gestión del proyecto.
7. Ayuda a la reutilización del software,
portabilidad y estandarización de la
documentación.
20
OBJETIVOS
8. Gestión global en todas las fases de
desarrollo de software con una misma
herramienta.
9. Facilitar el uso de las distintas
metodologías propias de la ingeniería del
software.
21
VENTAJAS
FACILIDAD PARA LA REVISIÓN DE
APLICACIONES
Cuando se crea un sistema en grupo, el contar con
un almacenamiento central de la información agiliza
el proceso de revisión ya que éste proporciona
consistencia y control de estándares. La capacidad
que brindan algunas herramientas para la
generación de código contribuye a modificar el
sistema por medio de las especificaciones en los
diagramas más que por cambios directamente al
código fuerte.
22
VENTAJAS
AMBIENTE INTERATIVO EN EL PROCESO DE
DESARROLLO
El desarrollo de sistemas es un proceso
interactivo. Las herramientas CASE soportan
pasos interactivos al eliminar el fastidio manual de
dibujar diagramas. Como resultado de esto, los
analistas pueden repasar y revisar los detalles del
sistema con mayor frecuencia y en forma más
segura.
23
1.Documentación automatizada.
Principios
Herramientas
CASE
En los años
80’s
2.Diagramas Computarizados.
3.Herramientas de análisis y
diseño.
1.Análisis Automático de diseño
y verificación.
Mitad
Finales
2.Sistemas automáticos de
almacenamiento de
información.
1.Generación automática de
código.
2.Automatización de diseño de
24
enlace
Principios
Herramientas
CASE
En los años
90’s
Mitad
Finales
1.Manejadores de metodología
inteligente.
2.Interfaces de usuarios
amigables.
3.Reusabilidad como metodología
de desarrollo.
1.Desarrollo Orientado a
Objetos
2.Diagramas Computarizados.
1.Sistemas bajo arquitectura
cliente/servidor.
2.CASE multiplataforma.
3.CASE Para ingeniería inversa y
directa.
4.CASE para trabajo en grupo.
5.CASE para desarrollo de
25
sistemas orientados a objetos.
TENDENCIA DE
LAS
HERRAMIENTAS
CASE
1.Tecnología
Multimedia.
2.Inteligencia
Artificial.
3.Sistemas de
Realidad Virtual
26
CLASIFICACIÓN
Aunque no es fácil y no existe una forma
única de clasificarlas, las herramientas
CASE se pueden clasificar teniendo en
cuenta los siguientes parámetros:
1.- Las plataformas que soportan.
2.- Las fases del ciclo de vida del desarrollo
de sistemas que cubren.
3.- La arquitectura de las aplicaciones que
producen.
27
CLASIFICACIÓN
La siguiente clasificación es la más habitual
basada en las fases del ciclo de desarrollo
que cubren:
Upper CASE (U-CASE)
herramientas que ayudan en las fases de
planificación, análisis de requisitos y
estrategia del desarrollo, usando, entre
otros diagramas UML. (Unified Modeling
Language
Lenguaje
Unificado
de
Modelado). Se trata de un lenguaje gráfico
para construir, documentar, visualizar y
especificar un sistema de software.
28
CLASIFICACIÓN
Middle CASE (M-CASE)
herramientas para automatizar tareas en el
análisis y diseño de la aplicación.
29
CLASIFICACIÓN
Lower CASE (L-CASE)
Tienen como principal objetivo la generación
automática de código a partir de
determinados diagramas, generalmente de
UML. Facilitando el desarrollo de prototipos
y aplicaciones.
Las herramientas upper case apoyan a los
analistas en las fases iniciales del software
(definicion, analisis y diseño). Finalmente la
herramienta integrated case contienen
caracteristicas de los dos tipos.
30
CLASIFICACIÓN
Lower CASE (L-CASE)
herramientas que semiautomatizan
la
generación de código, crean programas de
detección
de
errores,
soportan
la
depuración de programas y pruebas. Además
automatizan la documentación completa de
la aplicación. Aquí pueden incluirse las
herramientas
de
Desarrollo_rápido_de_aplicaciones.
Generación de código, test e implantación.
31
CONCLUSIÓN
Debido a la gran demanda que tienen las CASE su exigencia en
cuanto a su uso ha ido aumentando, por lo que toda CASE debe
entre otras cosas:
1.- Proporcionar topologías de aplicación flexibles
2.- Proporcionar aplicaciones portátiles
3.- Brindar un Control de versión
4.- Crear código compilado en el servidor
5.- Dar un Soporte multiusuario
6.- Ofrecer Seguridad
Desde que se crearon éstas herramientas hasta la actualidad, las
CASE cuentan con una credibilidad y exactitud que tienen un
reconocimiento universal, siendo usadas por cualquier
desarrollador y / o programador que busca un resultado óptimo y
eficiente, pero sobre todo que busca esa minuciosidad necesaria
32
de los procesos y entre los procesos.
33
OBJETIVOS DEL CASE
1.Aumentar la productividad de las
áreas de desarrollo y mantenimiento
de los sistemas informáticos.
2.Mejorar la calidad del software
desarrollado.
3.Reducir tiempos y costos de
desarrollo y mantenimiento del
software
34
OBJETIVOS DEL CASE
4. Mejorar la gestión y dominio
sobre el proyecto en cuanto a su
planificación, ejecución y control.
5.Mejorar el archivo de datos
(enciclopedia) de conocimientos
(know-how) y sus facilidades de
uso, reduciendo la dependencia de
analistas y programadores.
35
OBJETIVOS DEL CASE
6.Automatizar :
•
•
•
•
•
El desarrollo del software
La documentación
La generación del código
El chequeo de errores
La gestión del proyecto
36
OBJETIVOS DEL CASE
7.Permitir
• La reutilización (reusabilidad) del
software
• La portabilidad del software
• La estandarización de la
documentación
37
OBJETIVOS DEL CASE
8. Integrar las fases de desarrollo
(ingeniería del software) con las
herramientas CASE.
9. Facilitar la utilización de las
distintas metodologías que
desarrollan la propia ingeniería del
software.
38
ENCICLOPEDIA (REPOSITORY)
En el contexto CASE se entiende por
enciclopedia a la base de datos que
contiene
todas
las
informaciones
relacionadas con las especificaciones,
análisis y diseño del software. En está
base
de
datos
se
incluyen
las
informaciones de:
• DATOS: Elementos atributos (campos),
asociaciones
(relaciones),
entidades
(registros),
almacenes
de
datos,
estructuras, etc.
39
ENCICLOPEDIA (REPOSITORY)
• PROCESOS:
módulos, etc.
Procesos,
Funciones,
• GRAFICOS: DFD (Digrama de flujo de
datos), DER (Diagrama Entidad Relación)
DFD
(Diagrama
de
Descomposición
Funcional), ED (Diagrana de Estructura),
Diagrama de Clases, etc.
• REGLAS: de Gestión, de métodos, etc.
40
CLASIFICACIÓN DE LAS
HERRAMIENTAS CASE
Como ya hemos comentado que las
herramientas CASE es una combinación de
herramientas software (aplicaciones) y de
metodologías de desarrollo :
Las herramientas permiten automatizar el
proceso de desarrollo del software.
Las metodologías definen los procesos
automatizar.
41
CLASIFICACIÓN DE LAS
HERRAMIENTAS CASE
Una primera clasificación del CASE es
considerando su amplitud:
TOOLKIT:
es
una
colección
de
herramientas integradas que permiten
automatizar un conjunto de tareas de
algunas de las fases del ciclo de vida del
sistema
informático
:
Planificación
estratégica, Análisis, Diseño, Generación
de programas.
42
CLASIFICACIÓN DE LAS
HERRAMIENTAS CASE
WORKBENCH: Son conjuntos integrados
de herramientas que dan soporte a la
automatización del proceso completo de
desarrollo
del
sistema
informático.
Permiten cubrir el ciclo de vida completo.
El producto final aportado por ellas es un
sistema en código ejecutable y su
documentación.
Una segunda clasificación es teniendo en
cuenta las fases (y/o tareas) del ciclo de
vida que automatizan :
43
CLASIFICACIÓN DE LAS
HERRAMIENTAS CASE
UPPER CASE: Planificación estratégica,
Requerimientos de Desarrollo Funcional de
Planes Corporativos.
MIDDLE CASE: Análisis y Diseño.
LOWER CASE: Generación de código, test
e implantación
44
FODA
FORTALEZAS
• CUENTA CON UN SURTIDO
AMPLIO DE MATERIALES.
BASTANTE
• ENTREGA INMEDIATA DE MATERIALES A
LOS CLIENTES.
• LA MATRIZ Y LA SUCURSAL SE ENCUENTRA
UBICADAS EN LUGARES ESTRATÉGICOS.
• OTORGA FACILIDADES DE PAGOS A LOS
CLIENTES
FODA
DEBILIDADES
• LOS PROCESOS SE LLEVAN MANUALMENTE
• LAS FACILIDADES DE PAGO A LOS
CLIENTES NO SE BIEN ESTRUCTURADAS
• LA
GERENCIA
NO
INFORMACIÓN VERAZ Y
TOMA DE DECISIONES.
CUENTA
CON
OPORTUNA LA
FODA
DEBILIDADES
•PÉSIMO CONTROL DE INVENTARIOS.
•EL PERSONAL OPERATIVO NO CUENTA CON
CAPACITACIÓN
•LA
INFORMACIÓN
CONTABLE
SE
ENCUENTRA FUERA DE LA EMPRESA, ES
DECIR, LA EMPRESA TIENE UN CONTADOR
EXTERNO Y LA CONTABILIDAD LA MANEJA
EN SU OFICINA.
FODA
DEBILIDADES
•PÉSIMO CONTROL DE INVENTARIOS.
•EL PERSONAL OPERATIVO NO CUENTA CON
CAPACITACIÓN
•LA
INFORMACIÓN
CONTABLE
SE
ENCUENTRA FUERA DE LA EMPRESA, ES
DECIR, LA EMPRESA TIENE UN CONTADOR
EXTERNO Y LA CONTABILIDAD LA MANEJA
EN SU OFICINA.
•LA EMPRESA CUENTA CON UNA POLÍTICA
DE VENTAS DE PRECIOS BAJOS.
FODA
OPORTUNIDADES
• LA EMPRESA ES CONOCIDA POR MUCHAS
PERSONAS DE LA REGIÓN.
• SURTE PEDIDOS DENTRO Y FUERA DE LA
CIUDAD.
FODA
AMENAZAS
• EXISTE
REGIÓN
MUCHA
COMPETENCIA
EN
LA
• DESARROLLO DE VENTAJAS COMPETITIVAS
POR PARTE DE LA COMPETENCIA.
• LA EMPRESA COMPITE
PRECIOS BAJOS.
POR
• LA
EMPRESA
NO
CUENTA
PROGRAMA DE DIFUSIÓN.
MEDIO
DE
CON
UN
EXPERTOS EXTERNOS A
LA EMPRESA
Opinión del Analista
Considero que lo primero sería saber si el dueño
quiere que su empresa se quede como está o que
crezca, ya que da la impresión de que él está a
gusto con su situación actual y la segunda opción,
tal vez, no le agrade y no le dedique el esfuerzo
que se requiere. Sin embargo, si su intención es que
crezca, entonces sugiero atacar los problemas
mediante tres acciones básicas:
EXPERTOS EXTERNOS A LA
EMPRESA
Una estrategia agresiva de ventas que le permita
tener fondos disponibles para invertirlo en TI, por
ejemplo, tener permanentemente un agente de
ventas recorriendo las obras para saber que se les
ofrece, dar precios más bajos que la competencia
aunque sea mínima la diferencia, crear relaciones
con los encargados de obra, etcétera.
Adquisición de un sistema económico comercial tipo
ASPEL, incluyendo el equipo necesario para el
almacén, el mostrador y el gerente. Esto con la
orientación de hacer un gasto muy bajo que no
afecte la estabilidad de la empresa.
EXPERTOS EXTERNOS A
LA EMPRESA
Capacitación del personal en el uso del sistema
Lo importante es establecer una forma eficiente
de administrar la empresa pero con una inversión
baja y una vez que se eliminen los problemas
actuales, entonces, se podrán establecer otras
acciones que permitan mejorar aún más su
funcionamiento.
En el análisis correspondiente se tendrán en cuenta
los siguientes aspectos en cuanto aporta la solución
en la implantación de una Tecnología de información
que le permita a la empresa prever y pronosticar su
futuro en cuanto al giro de la misma.
EXPERTOS EXTERNOS A
LA EMPRESA
Objetivo principal: Implantar Tecnologías de
información para realizar, de manera eficiente, el
manejo de sus procesos y automatizarlos, así como
en algunos puntos aplicación de reingeniería en el
flujo de los mismos.
Diseño. A partir del análisis, en definitiva, en la
implantación de un sistema a la medida para la
Empresa Materiales para Construcción Goyo. En
primera instancia:
EXPERTOS EXTERNOS A
LA EMPRESA
• Desarrollo de una base de datos relacional.
• Creación de un organigrama de la empresa.
• Creación de un diagrama de flujo para el proceso
principal
• Apertura de una plaza de contabilidad para el manejo
completo de las finanzas.
En la identificación de deficiencias, tenemos en
definitiva:
• Eliminación completa del manejo de papelería
desorganizada.
• Datos no actualizados ni factibles de consulta
accesible en algún momento. Excesivos puntos del
proceso hechos a mano y poco eficientes.
EXPERTOS EXTERNOS A
LA EMPRESA
Diseño de la base de datos. En cuanto a la
identificación de las entidades (tablas) principales para
almacenamiento de datos en un entorno relacional y así
distribuir la información de una manera organizada
electrónicamente, quedarían de la siguiente manera:
Almacén:
• Materiales porulientos (arena, cemento, cal, yeso).
• Materiales de construcción (ladrillo, mosaico, azulejo,
etcétera).
• Materiales eléctricos.
• Materiales de fontanería.
• Proveedores.
EXPERTOS EXTERNOS A
LA EMPRESA
Recursos Humanos:
Empleados.
Nómina
Ventas:
Órdenes.
Clientes.
Órdenes detalladas.
Lista de precios.
EXPERTOS EXTERNOS A
LA EMPRESA
Desarrollo
En cuanto al diseño y creación de interfaces de
Usuarios podemos recurrir a la programación VB
en la suite de Office, ya que el usuario final está un
poco más relacionado con estas aplicaciones que un
sistema completamente nuevo y diferente, en el
manejo de módulos y ventanas de acceso para el
manejo del proceso y sus diferentes puntos por
donde navegaría una orden de pedidos realizada
por el cliente.
EXPERTOS EXTERNOS A
LA EMPRESA
Desarrollo
Con el desarrollo de este sistema nos facilitaría
mucho realizar consulta y reportes para la
periodicidad necesitada, ya sea por clientes,
proveedores,
material,
periodo
(mensual,
trimestral, etcétera).
EXPERTOS EXTERNOS A
LA EMPRESA
Implementación y pruebas
En este último punto sólo restaría distribuir la
aplicación desarrollada en la plataforma requisitaza
para las necesidades del negocio, es decir, partir
también de una arquitectura empresarial bien
diseñada e implantada para el manejo de la
información y recursos que sean suficientes para
los procesos que lleva acabo la empresa.
OBJETIVOS DEL SOFTWARE
1.Aumentar la productividad de las
áreas de desarrollo y mantenimiento
de los sistemas informáticos.
2.Mejorar la calidad del software
desarrollado.
3.Reducir tiempos y costos de
desarrollo y mantenimiento del
software
62
OBJETIVOS DEL SOFTWARE
4. Mejorar la gestión y dominio
sobre el proyecto en cuanto a su
planificación, ejecución y control.
5.Mejorar el archivo de datos de
conocimientos y sus facilidades de
uso, reduciendo la dependencia de
analistas y programadores.
63
OBJETIVOS DEL SOFTWARE
6.Automatizar :
•
•
•
•
•
El desarrollo del software
La documentación
La generación del código
El chequeo de errores
La gestión del proyecto
64
OBJETIVOS DEL SOFTWARE
7.Permitir
• La reutilización (reusabilidad) del
software
• La portabilidad del software
• La estandarización de la
documentación
65
OBJETIVOS DEL SOFTWARE
8. Integrar las fases de desarrollo
(ingeniería del software) con las
herramientas CASE.
9. Facilitar la utilización de las
distintas metodologías que
desarrollan la propia ingeniería del
software.
66
ETAPAS DE UN PROYECTO DE SOFTWARE
Para llevar a cabo con éxito un proyecto CASE, Se recomienda
como mínimo se tengan en cuenta cinco etapas:
ETAPA 1 : Descripción de Objetivos - Grupo de Trabajo –
Planificación provisional del proyecto.
• DELIMITACIÓN PRECISA DE LOS
OBJETIVOS
• PRIORIDADES
ETAPA 2 : Análisis del Área de Desarrollo
• GESTIÓN DE DESARROLLO DE
SISTEMAS, NORMAS Y PROCE.
SITUACIÓN
EXISTENTE
• HERRAMIENTAS DE DESARROLLO
• CONTROL DE CALIDAD
• MANTENIMIENTO
• FUNCIONES DE LOS PUESTOS
DE TRABAJO
• ESPECIFICACIONES DEL MODELO
DIAGNÓSTICO
/ SOLUCIONES
• PLAN DE FORMACIÓN
• ELECCIÓN DELL ESCENARIO PARA EL
PROTOTIPO
ETAPA 3 : Selección de Metodología
SELECCIÓN
• METODOLOGÍA
• CICLO DE VIDA
• ENTORNO DE
APLICACIÓN
CASE: NIVEL
(ALTO, MEDIO, BAJO)
• TOOLKIT
• WORKBENCH
CONCRETAR LA PLATAFORMA DE DESARROLLO
ETAPA 4 : Aplicación en Escenarios y
Evaluación
PLAN DE APLICACIÓN PROYECTO PILOTO
PLAN DE FORMACIÓN PILOTO
PROYECTO PILOTO
EVALUACIÓN
ETAPA 5 : Extensión de la Metodología y en
la Organización
EXTENSIÓN DE METODOLOGÍA DEL
SOFTWARE
PLAN DE
FORMACIÓN
PLAN DE
EXTENSIÓN
AL RESTO DE
PROYECTOS
AREA DE DESARROLLO
CAUSAS POR LAS QUE FRACASAN
ALGUNOS PROYECTOS DEL SOFTWARE
Un proyecto de introducción es siempre "un
proyecto estratégico" para el Área de Desarrollo
y como tal "No tiene vuelta atrás". Cuando la
decisión ya ha sido tomada "siga con pasos
firmes todas las etapas" teniendo muy en cuenta
que "Los tiempos y esfuerzos para cubrirlas
dependerán de las personas que integran el Área
de
Desarrollo".
En
organizaciones
muy
preparadas, su introducción ha requerido un año.
CAUSAS POR LAS QUE FRACASAN LA
INGENIERIA DE SOFTWARE
Ø No se tienen en cuenta las tres primeras etapas.
Ø No se concreta ninguna Metodología.
Ø El proyecto de evaluación es demasiado ambicioso
ó crítico.
Ø En la etapa quinta no se lleva a cabo la
Formación que se precisa.
Ø Los Usuarios (Área de Desarrollo), no están
motivados.
ENFOQUE ESTRATEGICO PARA LA
PRUEBA DEL SOFTWARE CASE
• El software se prueba para descubrir
errores cometidos sin darse cuenta al
realizar su diseño y construcción .
• Un proceso de prueba eficaz es aquel que
descubre los errores.
• La prueba es un conjunto de actividades
que se planean con anticipación y se realizan
de manera sistemática.
ESTRATEGIAS DE PRUEBA DEL SOFTWARE
CASE
1. La prueba comienza al nivel de componentes y
trabaja hacia fuera, hacia la integración de los
componentes.
2. La prueba la dirige el desarrollador del software
y un grupo independiente de pruebas.
3. La prueba y la depuración son actividades
diferentes, pero la segunda se debe incluir en la
estrategia de pruebas.
4. La estrategia debe incluir pruebas de bajo nivel
y de alto nivel.
VERIFICACIÓN Y VALIDACIÓN
Verificación
Conjunto de actividades que aseguran que el software se
implemente correctamente en una función específica.
Validación
Conjunto diferente de actividades que aseguran que el
software construido corresponde con los requisitos del
cliente.
Actividades
Auditorías de calidad y de configuración, monitoreo de
desempeño, simulación, factibilidad, revisión de la
documentación y de la base de datos, análisis algoritmos,
pruebas de desarrollo, facilidad de uso y calificación.
VERIFICACIÓN Y VALIDACIÓN
1. Las pruebas son el último proceso para
la evaluación de la calidad y el
descubrimiento de errores.
2. Las pruebas no garantizan la calidad del
producto .
3. Si el producto no tiene la calidad
requerida, las pruebas demostrarán
únicamente la falta de calidad del
producto evaluado.
ORGANIZACIÓN PARA LAS
PRUEBAS DEL SOFTWARE



El desarrollo de software es una tarea constructiva,
desde la especificación de requisitos hasta la
documentación del sistema.
El ingeniero de software trata de ser indulgente
con su producto.
Ideas erróneas sobre las pruebas
› El responsable de desarrollo no debería
participar en el proceso de prueba
› El software debe ponerse a salvo de extraños que
lo prueben sin misericordia
› Quienes aplican pruebas sólo deben participar en
el proyecto cuando se vaya a darse los primeros
pasos de esas pruebas
ORGANIZACIÓN PARA LAS
PRUEBAS DEL SOFTWARE

Responsable
› El
›

desarrollador del componente SIEMPRE será el
responsable de probar los componentes del programa y
asegurar que cada una realice la función o muestre el
comportamiento del diseñó.
Grupo independiente de prueba
› Inicia cuando está completa la arquitectura del software.
› Se elimina el conflicto de intereses del programador.
› Trabajan junto con el desarrollador para hacer pruebas
exhaustivas.
› El desarrollador debe estar disponible para corregir los
errores que se descubran.
› Participa en el análisis y diseño del sistema.
ESTRATEGIAS DE PRUEBA PARA
ARQUITECTURAS CONVENCIONALES DE
CASE
Modelo en V
Tipo de prueba
Etapa del proceso
Prueba del
sistema
Ingeniería de
sistemas
Prueba de validación
Requisitos
Diseño
Código
Prueba de integración
Prueba de unidad
ESTRATEGIAS DE PRUEBA PARA SOFTWARE
CONVENCIONAL
Requisitos
Pruebas de alto nivel
Pruebas de
integración
Diseño
Código
Dirección de la prueba
Pruebas
de
unidad
DOCUMENTACIÓN
Especificación de la prueba: Plan de prueba y
procedimiento de prueba.
 El plan de prueba describe la estrategia general de
integración.
 Puede estar relacionado con cada una de las fases del
proyecto (módulos y submódulos)
 Puede incluirse:
› Integridad de la interfaz, validez funcional,
contenido de la información, desempeño.
› Calendario y ventana de disponibilidad de los
módulos
› Software requeridos (controladores y resguardos)
› Descripción del entorno y los recursos de prueba.
› Procedimiento detallado de pruebas.
› Informe de prueba.
