Vicerrectorado de Estudios Virtuales

Especialización en Gerencia Mención Redes y Telecomunicaciones

Fase: 2 - Asignatura: Análisis y Diseño de Sistemas

Trabajo 1: Análisis y Diseño Estructurado y Orientado a Objetos

Autor: Ing. Héctor Marcano  C.I.: V-10.754.714

Profesor: Yaros Pérez

Agosto, 2007

 

Índice

·        Introducción

·        Análisis y Diseño de Sistemas

·        Análisis y Diseño de Sistemas Estructurado

·        Análisis y Diseño de Sistemas Orientado a Objetos

·        Propiedades

·        Diferencias

·        Caso Práctico

·        Conclusión

·        Infografía

Introducción

La evolución de la tecnología, en especial de la computación y con ello la informática ha exigido en todo momento rediseñar los procesos que se llevan a cabo en las organizaciones con la finalidad de mejorarlos para aumentar la productividad, la calidad de los bienes y servicios y optimizar ganancias, minimizando la inversión y recursos.

Para ello el análisis y diseño de sistemas se ha venido constituyendo en una herramienta sumamente útil puesto que garantiza en toda organización que se efectúe una reevaluación de los procedimientos que se están llevando a cabo considerando toda una serie de parámetros y al mismo tiempo efectuar un replanteamiento para mejorar los procesos.

En el caso informático éste método se efectúa tanto para los sistemas existentes como al momento de realizar uno nuevo, por esto es importante llevar a cabo una etapa de observación que conlleva la consideración de una serie de aspectos que contribuirán de gran manera al diseño futuro de sistemas óptimos.

Análisis y Diseño de Sistemas

El análisis y diseño de sistemas es un proceso en el cual se examina la situación de una unidad organizativa para mejorar sus métodos y procedimientos de manera de optimizar las salidas, bien sean en productos o servicios; tal como lo indica Senn (1992). Estas etapas están plenamente diferenciadas, por lo que en primer lugar, se debe llevar a cabo la etapa de diseño, en la cual se hace un levantamiento de inicial de información, analizando el sistema actual, para luego pasar a la etapa de diseño en la cual se describe un sistema propuesto en el cual se van a optimizar los procedimientos que se llevan a cabo, favoreciendo la rentabilidad, rapidez, mejor funcionamiento y garantizar una mejor producción.

El análisis y diseño de sistemas, muchas veces incluye la síntesis de procedimientos, por lo que algunos autores coinciden en considerar que se debería hablar de análisis, síntesis y diseño, sin embargo es conveniente destacar que el análisis y diseño se encuentra implícito y es factible de aplicarse a cualquier procedimiento organizativo que se lleve a cabo en una organización, puesto que todos ellos cumplen una serie de pasos que al ser revisados oportunamente se pueden proponer mejoras a los mismos.

Cuando se habla de sistemas casi siempre se considera el uso de tecnologías de información y entre ellas, el uso de la computación, por lo que el análisis y diseño de sistemas considerado desde el punto de vista de la programación de computadoras, ha generado una gran evolución tanto en hardware, como en software y en este sentido, se puede clasificar en los siguientes:

Análisis y Diseño de Sistemas Estructurado

El análisis y diseño de sistemas estructurado, tiene que ver con la programación estructurada, la forma tradicional de llevar a cabo el desarrollo de sistemas, ya que esta viene engendrada por el teorema de la estructura (demostrado por Edsger Dijkstra), diseñado en los años 60, que establece que se puede escribir un programa utilizando solo tres estructuras lógicas de control que son: secuencia, selección e iteración.

Con el diseño estructurado, se pueden escribir programas de forma sencilla y de clara comprensión al mismo tiempo que su documentación resulta realmente fácil, puesto que la estructura secuencial de los mismos permite comprender los procesos que se llevan a cabo en la misma.

Con la Secuencia no se quiere decir mas que indicar que las instrucciones que se encuentran en el programa serán leídas una tras otra de forma consecutiva.

La selección permite el uso de comandos condicionales con los que se permite que se tomen decisiones sobre variables obtenidas desde afuera o internamente por medio de los procesos que se ejecutan en el programa y de acuerdo a esas decisiones, o respuestas, tomar un camino u otro.

La iteración permite el establecimiento o realización de ciclos o bucles que permitirán que el programa efectúe una o varias instrucciones o procedimientos de forma repetitiva bien sea un determinado número de veces o mientras que una condición establecida no cambie al valor definido para su finalización.

Cuando el programa en cuestión es muy extenso se puede hacer uso del recurso de la programación modular, un tipo de programación estructurada, que además de poseer las características mencionadas, permite la división en bloques o sub-bloques en los que existe un bloque principal que hace las llamadas a los siguientes bloques que contienen los procedimientos, funciones o rutinas que se deben ejecutar en el programa; de esta manera el desarrollo por bloques puede permitir que diferentes personas desarrollen los módulos al mismo tiempo, con el solo conocimiento de la estructura principal del programa y las variables que se deben utilizar.

Se dice que un programa está debidamente estructurado si posee un único punto de entrada y solo uno de salida, pueden existir diferentes caminos para ir del inicio al final del programa y finalmente que todas las instrucciones sean ejecutables sin que existan ciclos o bucles sin fin.

Análisis y Diseño de Sistemas Orientado a Objetos

El desarrollo de programas orientado a objetos ha venido a ser una evolución de la programación estructurada, ya que utiliza los principios de trabajo, pero sin las limitaciones de esta, ya que cuando aumenta la complejidad de los programas el diseño estructurado no permite flexibilidad y mantener gran cantidad de líneas de código en un solo bloque se vuelve una tarea difícil.

Por ello se concibió la definición de una serie de nuevas estructuras llamadas objetos que al mismo tiempo que contienen variables dentro de sí, también incluyen unos patrones de comportamiento y características individuales o métodos que las hacen únicas y las diferencias de otros objetos.

La programación orientada a objetos introduce nuevos conceptos que permiten al desarrollador la promoción de un nuevo modelo que le permita concebir el entorno como es en la vida real y no como lo entiende la máquina, los principales conceptos son:

Objeto: Es un conjunto complejo de datos y programas que tienen una estructura y poseen un conjunto de relaciones, propiedades o atributos y métodos.

Las Relaciones permiten al objeto insertarse en la organización y establecen punteros hacia otros objetos (jerárquicas, semánticas, etc.).

Las Propiedades lo distinguen de los demás y contienen el conjunto de variables y/o valores que identifican al objeto (nombre, cédula, etc.).

Los Métodos son aquellas funciones u operaciones que se pueden efectuar con el objeto (suma, resta).

Clase: Es la forma de agrupar un conjunto de objetos con características similares.

Propiedades de la Programación Orientada a Objetos:

Encapsulación: Combinación de la estructura de datos de los objetos con las funciones que les permiten procesarlos.

Herencia: Las clases se pueden organizar por jerarquías las cuales pueden ser heredadas y/o heredables por otros objetos, facilitando la creación de nuevos objetos con características heredadas y añadiéndole otras nuevas.

Polimorfismo: es una cualidad de objetos diferentes de responder a un mensaje utilizando distintos métodos.

Diferencias

Análisis y diseño Estructurado

Análisis y diseño Orientado a Objetos

Estructura: variables, tipos, funciones y procedimientos y estructuras lógicas

Estructura en objetos y clases

Código más fácil de entender y documentar

Código más abstracto

Código específico para las funciones que se desean en el programa

Código reusable y adaptable para otros programas

Aumenta la productividad del programador

El programador debe tener una visión holística del sistema

Es ideal para programas de corto alcance

Se utiliza para generar plataformas sencillas y complejas

Genera mayores gastos e inversión en tiempo y personal, al requerir modificaciones o añadir nuevos módulos

A la larga produce código de gran calidad y reduce tiempos y costos

 

Presenta dificultad para proyectos donde se asignan módulos a distintos desarrolladores

Se adapta bien para trabajar con proyectos grandes y en equipo

Se tiene que modificar la percepción del mundo real a un plano con menos dimensiones

Relacionar el sistema al mundo real.

Uso de estructura de menús

Facilita la creación de programas visuales.

El mantenimiento del software es tedioso y más difícil

Facilita el mantenimiento del software

Caso Práctico

La organización por ser una planta ubicada en un área de riesgo, posee instalado un sistema de control de acceso, para el cual, todas las personas que ingresan a las instalaciones deben poseer un carnet magnético, con el cual se deben chequear ante una lectora que reconoce el carnet y genera un reporte en la base de datos con la ubicación de la persona indicando entre otros datos: identificación de la persona (nombre, cédula, empresa), fecha y hora de acceso, la lectora por la cual se chequeó y el edificio al cual ingresó o del cual salió.

Utilizando este sistema de control de acceso con reporte a una base de datos relacional, está propuesto el desarrollo de una interfaz Web que permita cuando se presenta un evento de desalojo, bien sea por simulacro o eventos reales de emergencia, disponer al personal de seguridad de información confiable de la cantidad de personas que aún no han desalojado el área y su ubicación inmediata, para proceder a ubicarlos rápidamente.

Este sistema propuesto puede contar con opciones de visualización por medio de un plano interactivo y al mismo tiempo generar reportes por localidad, empresa u otros atributos contemplados en los datos del carnet.

Para ello, el diseño del mismo, es conveniente realizarlo con una aplicación orientada a objetos, ya que el objeto (persona) involucra una serie de datos (propiedades) leídos en el carnet, así como los métodos (acceso discriminado, entrada, salida) y en cuanto a la presentación de la aplicación, el entorno visual de la misma puede contribuir más fácilmente ubicar una o varias personas en casos de emergencia.  Todo esto desarrollado dentro de una interfaz disponible en la intranet de la organización con la correspondiente autenticación a los usuarios permitidos y de esta manera garantizar la disponibilidad de la información en el momento que se desee, en el lugar que se desee, confiable e inmediata.

Conclusión

La evolución de los sistemas computacionales ha permitido cada vez la ejecución de diseño de programas más complejos y que llevan a cabo una mayor cantidad de procesos en menores lapsos de tiempo.

Al visualizar en retrospectiva los distintos tipos de programación se observa que con la programación estructurada se obtenían aspectos sumamente positivos, tales como la documentación de los sistemas y la facilidad de comprensión de los mismos para futuras modificaciones, sin embargo, se observa que los sistemas se mantenían siendo “planos” y su interacción con el usuario, así como la presentación de los mismos no era muy visual; con la evolución y llegada de la programación orientada a objetos, se pueden obtener desarrollo de sistemas, considerando los objetos tal y como son vistos en la realidad y al mismo tiempo generar mejoras en menos tiempo por las propiedades de heredabilidad de características de las clases y al mismo tiempo la reutilización de clases y objetos en otros desarrollos, lo cual permite minimizar los esfuerzos de programación y realizar actividades cada vez más complejas.

Infografía

Referencia:

Local

http://www.monografias.com/trabajos15/analista-sistem/analista-sistem.shtml

 

Local1

El analista de sistemas y el paradigma estructurado

 

http://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada

 

Local2

Wikipedia: Programación Estructurada

 

http://exa.unne.edu.ar/depar/areas/informatica/anasistem2/public_html/apuntes/maf/anexos/estructura.htm

 

Local3

Diagramas de Estructura

 

http://www.monografias.com/trabajos10/andi/andi.shtml

 

Local4

Análisis y Diseño

 

http://www.monografias.com/trabajos/progestructu/progestructu.shtml

 

Local5

Programación Estructurada

 

http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

 

Local6

Wikipedia: Programación Orientada a Objetos

 

http://www.desarrolloweb.com/articulos/499.php

 

Local7

Introducción de las bases sobre las que se asienta la programación orientada a objetos

 

http://www.monografias.com/trabajos14/disenio-sistemas/disenio-sistemas.shtml

 

Local8

Diseño de los Objetos

 

http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/

 

Local9

Tecnología Orientada a Objetos

 

http://www.desarrolloweb.com/articulos/2477.php

 

Local10

Varias Clases de Programación

 

Text Box: Página Web Personal
 

 

Hosted by www.Geocities.ws

1