Analisis de sistemas (Abigail y Meudis Silva)

14
Instituto Universitario de Tecnología de Administración Industrial Región Capital-Ampliación Guarenas Carrera: Informática Sección: 203ª3 Cátedra: Arquitectura del Computador Profesora: Integrantes: Naydrubys Trejo Meudis Silva C.I. 22.380.101 Abigail Silva C.I. 25.235.665 Guarenas, 18 de febrero de 2014

description

 

Transcript of Analisis de sistemas (Abigail y Meudis Silva)

Instituto Universitario de Tecnología de Administración Industrial

Región Capital-Ampliación Guarenas

Carrera: Informática Sección: 203ª3

Cátedra: Arquitectura del Computador

Profesora: Integrantes:

Naydrubys Trejo Meudis Silva C.I. 22.380.101

Abigail Silva C.I. 25.235.665

Guarenas, 18 de febrero de 2014

Nuevas Tendencias en el Análisis de Sistema

Actualmente el paradigma orientado a objetos está siendo en los últimos años

objeto de estudio de muchos equipos de investigación. Con el propósito de

desarrollar Sistemas de Información más cercanos al entorno real como alternativa

fiable a las técnicas tradicionales, el modelo orientado a objetos se ha convertido

en un método de análisis, diseño e implementación que cada vez está cobrando

más importancia en lo que respecta a la Ingeniería del Software, Lenguajes de

Programación, Bases de Datos y Lenguajes de Especificación. Las ventajas que

aporta este modelo impulsan a informatizar los Sistemas siguiendo esta nueva

metodología, todavía en fase de crecimiento.

El proceso es el siguiente:

La fase de Análisis: consiste en estudiar el problema planteado para obtener

una idea clara y concisa sobre los datos de entrada, incluyendo la forma en que

estos datos iniciales son obtenidos, así como la información que se desea

obtener como resultado de que manera debe presentarse.

Fase de Diseño: una vez analizado el problema, se precisa diseñar un algoritmo

que indique claramente los pasos a seguir para resolverlo. Es decir, es escribir

un pseudocódigo de las instrucciones a seguir para llevar a cabo los

requerimientos solicitados por el Sistema.

La última fase es la Codificación o Implementación: para que el algoritmo

diseñado en la fase anterior pueda ser introducido en el ordenador, debe ser

escrito (codificado) en un lenguaje de programación, siguiendo las reglas de

sintaxis del lenguaje escogido.

En definitiva, se va siguiendo un proceso lineal desde que se plantea el

problema hasta que se automatiza en una máquina.

La Ingeniería del Software ha evolucionado rápidamente en las últimas décadas.

Este avance ha supuesto una auténtica revolución en el mundo del software, ya que

se ha pasado de la programación manual al desarrollo sistemático de programas.

A continuación se presentan los principales métodos que han marcado las diversas

facetas del desarrollo de la programación fundamentalmente relacionadas con el

diseño y la programación.

La Programación Estructurada: Hasta entonces los programadores se

habían preocupado por la eficiencia de los programas en términos de

velocidad y la memoria que de su legibilidad o mantenimiento, debido a la

baja calidad del hardware, pero a medida que este fue mejorando y los

programas aumentaban en complejidad, se empezó a ver la importancia del

mantenimiento del software y así este estilo de programación que dio lugar

a la metodología estructurada.

La programación extrema: como la adopción de las mejores metodologías

de desarrollo de acuerdo a lo que se pretende llevar a cabo con el proyecto,

y aplicarlo de manera dinámica durante el ciclo de vida del software.

Las Metodologías de Diseño: Surgen a mediados de los 70, debido a que

compañías de desarrollo de software se dieron cuenta que eran poco eficaces

y se necesitaba de una especificación y un diseño del sistema previo a su

implementación.

Las Metodologías de Análisis: Fuertemente relacionadas con las ideas de

la Programación Estructurada y las Metodologías de Diseño Estructurado,

surgen a finales de los 70.

La Automatización de los Métodos de la Ingeniería del Software: Dado que las

actividades de desarrollo de software muchas veces consisten en procesos

repetitivos, la Ingeniería del Software siempre ha sido una buena candidata al

realizar la automatización. Es por ello que surge a principios de los 80. Inicialmente

en llevar a una máquina las herramientas gráficas asociadas a determinadas

metodologías de análisis o diseño. Posteriormente se han ido perfeccionando,

dando lugar a completas herramientas CASE (Computer-Aided Software

Engineering).

La Introducción de la Programación Orientada a Objetos

Surge a mediados de los 80 y continúa siendo la tendencia de los 90. Su influencia

se compara a la de la programación estructurada de los años 70.

En cuanto a las perspectivas de futuro podemos señalar 4 puntos principales:

1. La programación orientada a objetos que acabamos de mencionar.

2. El refinamiento de requerimientos y prototipos rápidos que ayuda

enormemente a identificar correctamente los requisitos de los sistemas.

3. Los avances en la tecnología CASE.

4. La reusabilidad como solución alternativa al desarrollo constante, es decir,

poder disponer de librerías de componentes software fácilmente

ensamblables puede ahorrar mucho trabajo a los equipos de desarrollo.

El caso de uso que es una descripción de los pasos o las actividades que

deberán realizarse para llevar a cabo algún proceso. Y los personajes o entidades

que participarán en un caso de uso se denominan actores. En el contexto

de ingeniería del software, un caso de uso es una secuencia de interacciones que

se desarrollarán entre un sistema y sus actores en respuesta a un evento que inicia

un actor principal sobre el propio sistema. Los diagramas de casos de uso sirven

para especificar la comunicación y el comportamiento de un sistema mediante su

interacción con los usuarios y/u otros sistemas.

O lo que es igual, un diagrama que muestra la relación entre los actores y los

casos de uso en un sistema. Una relación es una conexión entre los elementos del

modelo, por ejemplo la especialización y la generalización son relaciones.

Los diagramas de casos de uso se utilizan para ilustrar los requerimientos del

sistema al mostrar cómo reacciona a eventos que se producen en su ámbito o en

él mismo.

Los más comunes para la captura de requisitos funcionales, especialmente con el

desarrollo del paradigma de la programación orientada a objetos, donde se

originaron, si bien puede utilizarse con resultados igualmente satisfactorios con

otros paradigmas de programación.

El desarrollo Orientado a Objetos está jugando un papel cada vez más importante

en el diseño e implementación de Sistemas Software hasta el punto de que su

influencia está siendo comparada a la de la programación estructurada en los años

70. Se considera como pionero de la aproximación Orientada a Objetos el lenguaje

Smalltalk. Lo que en sus inicios fue tan solo un lenguaje de programación dio lugar

posteriormente a toda una corriente en el mundo del desarrollo del Software, a

cuyo amparo se han desarrollado metodologías de diseño de lenguajes de

programación.

El Diseño Orientado a Objetos es una aproximación diferente a las tradicionales

metodologías estructuradas. Estas se basan en la descomposición de un sistema

en módulos atendiendo a consideraciones sedimentables y/o de datos.

La idea básica, es definir nuevos elementos Software (es decir, nuevos Objetos) a

partir de otros ya existentes, refinando la definición de estos a base de añadir y/o

redefinir nuevos atributos o métodos, con la ventaja de heredar características de

la Clase madre, cabe la posibilidad de adaptarse a los cambios del sistema, refinar

los objetivos si así lo requiere la organización y mejorar constantemente el diseño

durante la implementación.

Tres son las líneas en las que ese desarrollo se ha llevado a cabo:

1. Creación de lenguajes Orientados a objetos: Es la aproximación más

pura, y consiste en diseñar nuevos lenguajes que recojan toda la

terminología y características de la aproximación Orientada a Objetos.

Ejemplos de este tipo de lenguajes son Smalltalk y Eiffel.

2. Desarrollo de extensiones Orientadas a Objetos de lenguajes

clásicos: Consiste en el enriquecimiento de lenguajes ya existentes con

nuevas estructuras que den cabida al paradigma objetual. Destacan C++

como la extensión más aceptada del lenguaje C, y algunas de las

extensiones del lenguaje LISP, como CLOS.

3. Uso de lenguajes no orientados a Objetos: existen autores que

defienden el uso de las capacidades en cuanto a modularidad,

abstracción, etc., para realizar implementaciones de sistemas diseñados

con la metodología orientada a objetos.

Desarrollo de un Prototipo

Cuando haya que decidir si hay que incluir la elaboración de prototipos como parte

del ciclo de vida de desarrollo de sistemas, el analista necesita considerar cuál tipo

de problema está siendo resuelto y en qué forma el sistema presenta la solución.

Lineamientos para el Desarrollo de un Prototipo:

1. Trabajar en Módulos Manejables: Es bueno que el analista en modelos

manejables cuando se realiza el prototipo de algunas de las características

de un sistema para obtener un modelo funcional.

Un modelo manejable es aquel que permite la interacción con sus características

principales, pero todavía puede ser construido por separado de otros módulos del

sistema. Las características del módulo que se consideran menos importantes son

intencionalmente dejadas fuera del prototipo inicial.

2. Construcción Rápido del Prototipo: La velocidad es esencial para la

elaboración satisfactoria de un prototipo en un sistema. El prototipo ayuda

a acortar el tiempo de la interacción del sistema con el usuario para que

pueda empezar a experimentar con él.

Se usan técnicas de recolección de información tradicional tales como: entrevistas,

las observaciones e investigaciones de datos de archivo.

La elaboración de un prototipo debe llevarse a cabo en una semana, para construir

un prototipo tan rápidamente se deben de usar herramientas especiales tales como:

Los sistemas de administración de las base de datos y software, existente que

permitan la entrada y salida generalizada.

En esta etapa del ciclo de vida el analista sigue recopilando información acerca de

lo que se necesita y quieren los usuarios del sistema.

El poner un prototipo operacional rápidamente junto a las primeras etapas del ciclo

de vida de desarrollo de sistemas, permite obtener observaciones valiosas sobre la

manera en que se debe realizar el resto del proyecto. De este modo se le va

mostrando al usuario como actúan las partes del sistema.

3. Modificaciones del Prototipo: Un tercer lineamiento para el desarrollo del

prototipo es que debe ser flexible para futura modificaciones. Esto significa

crearlo en módulos que no sean muy interdependientes.

Por lo general el prototipo es modificado varias veces pasando a través de varias

interacciones. Los cambios al prototipo deben mover al sistema más cerca a lo que

los usuarios dicen que es importante.

Cada modificación necesita otras evaluaciones de los usuarios, estas

modificaciones se deben realizar velozmente en uno o dos días, esto depende

también del usuario y que tan rápido sea su evaluación.

4. Enfatizar la Interfaz de Usuarios: La interfaz del usuario con el prototipo

(y eventualmente con el sistema) es muy importante debido que lo que se

está tratando realmente de lograr con el prototipo es hacer que los usuarios

muestren cada vez más sus requerimientos de información, debe ser capaz

de interactuar fácilmente con el prototipo del sistema.

Objetivo del analista: Diseñar una interfaz que permita al usuario interactuar con

el sistema con un mínimo de entrenamiento y que permita el máximo de control del

usuario sobre las funciones representadas.

Desventajas de los prototipos

1. Puede ser bastante difícil el manejar el prototipo como un proyecto dentro

de un esfuerzo para un sistema más grande.

2. Es que si un sistema es muy necesario y es bienvenido rápidamente, puede

ser aceptado el prototipo en sus estado sin terminar y presionando para que

sea puesto en servicio sin los refinamientos necesarios. En este caso el

prototipo no tendrá las funciones necesarias y eventualmente cuando se dé

cuenta de las deficiencias se puede desarrollar un rechazo del usuario.

Ventajas de los prototipos

1. Cambio de un Sistema en Etapas Tempranas de sus Desarrollo: La

elaboración de prototipos satisfactoria depende de la retroalimentación

temprana y frecuente de los usuarios para que ayuden a modificar el sistema

y hagan que tenga una respuesta más ágil a las necesidades actuales. Los

cambios tempranos son menos caros que los cambios hechos

posteriormente en el desarrollo del proyecto.

2. Desechado de Sistemas Indeseables: Una segunda ventaja del uso de

prototipos como una técnica para la recopilación de información es la

posibilidad de desechar un sistema que no es lo que los usuarios y analistas

esperaban.

3. Diseño de un Sistema para las Necesidades y Expectativas de los

Usuarios: Una tercera ventaja de la elaboración de prototipos es que el

sistema que está siendo desarrollado debe ajustarse mejor a las

necesidades y expectativas de los usuarios. Esto quiere decir que se

pueden atacar las necesidades de usuarios y expectativas más de cerca.

Desventajas de la elaboración de

Prototipos

Ventajas de la elaboración de

prototipos

· Es difícil manejar la elaboración de

prototipos como un proyecto dentro de

un esfuerzo de sistemas más grande.

· Existe el potencial para hacer cambios

en el sistema en las primeras etapas de

su desarrollo.

· Los usuarios y analista pueden

adoptar a un prototipo como un sistema

terminado cuando es inadecuado.

· Existen oportunidades para detener el

desarrollo de un sistema que no es

funcional.

· Puede atacar necesidades de usuario

y expectativas más cercanas.

Papel del usuario en los prototipos:

Hay tres formas principales en que un usuario puede ser de ayuda en la elaboración

del Prototipo.

1. Experimentando con el Prototipo.

2. Reaccionar abiertamente ante el Prototipo.

3. Sugiriendo adiciones y/o eliminaciones del prototipo.

Experimentando con el Prototipo: Los usuarios deben tener libertad para

experimentar con el prototipo, y no una simple lista de características del sistema,

el prototipo permite a los usuarios la realidad de la interacción real.

Los analista deben estar presente la mayor parte del tiempo en que se esté

experimentando con el prototipo.

Reaccionar Abiertamente ante el Prototipo: Si los usuarios se siente temerosos de

hacer comentarios, o criticar lo que puede ser un proyecto consentido de superiores

o iguales dentro de la organización, es poco probable que se de reacciones abiertas

ante el prototipo. Una forma para aislarlos de influencias organizacionales no

deseada es proporcionar un periodo privado, para que los usuarios interactúen con

y respondan al prototipo.

El hacer que los usuarios se sienta lo suficientemente seguros para dar una

reacción abierta es parte de la realización entre los analista y usuarios que el equipo

tiene que construir.

Sugerencias de Cambios al Prototipo: Un tercer aspecto del papel de los usuarios

en la elaboración de los prototipos es sugerir adiciones y/o eliminaciones a las

características que se están probando. El papel del analista es deducir tales

sugerencias, asegurando a los usuarios que tal retroalimentación que proporciona

es tomada en serio, observando a los usuarios mientras interactúan y realizando

entrevistas cortas y específicas en relación con su experiencia con el prototipo.

Conclusión

El análisis de modelos complejos tiene unas aplicaciones claras. Es posible y

aconsejable la utilización de estos sistemas si se sabe aprovechar la

interacción de los agentes y si hay una capacidad real de adaptación a estos

sistemas.

Los estudios electrónicos permiten saber la respuesta del agente

comprador respecto a nuestros comportamientos y sus cambios

(cambios de precio, de producto, etc.) Los estudios electrónicos, en

función de los resultados que nos ofrecen, nos ayudan a tomar

decisiones en función de la tendencia de ventas y de la oferta que

productos (escasez o abundancia excesiva) en el mercado.

Hay otros procedimientos más sofisticados que el hecho de estudiar el

comportamiento del mercado y el nuestro propio. Para ello, la

inteligencia artificial nos ayuda a crear esquemas de comportamiento

lógico, simulando el comportamiento de nuestro sistema nervioso. Hoy

en día, muchos cálculos de gestión de stocks se realizan utilizando

ordenadores que funcionan imitando un sistema nervioso. Esto es

ciencia actual concreta y no ciencia ficción.

Es posible la simulación del comportamiento de los

agentes para desarrollarlo cara al futuro, a pesar de la dificultad de

poder definir el comportamiento del consumidor. Simulaciones

estadísticas permiten definir los cambios futuros de un sector.

Referencias

http://es.wikipedia.org/wiki/An%C3%A1lisis_de_sistemas

http://www.elprofesionaldelainformacion.com/contenidos/1999/noviembre/eval

uacion_de_sistemas_de_recuperacion_de_informacion_aproximaciones_y_n

uevas_tendencias.html

http://www.anmape.es/ponencia58-nuevas-tendencias-en-mercados-

electronicos-desarrollos-derivados-del-analisis-de-sistemas-complejos-

socialmente-inteligentes_ficha-de-asociacion_2-mercacongreso-

18823019372592049.htm

http://sistemasdeinformacion2.wikispaces.com/LENGUAJE+UNIFICADO+DE

+MODELADO%C2%A0%C2%A0(UML)

Anexos