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
·
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
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.
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:
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.
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.
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.
|
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 |
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.
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.
|
Referencia: |
Local |
|
http://www.monografias.com/trabajos15/analista-sistem/analista-sistem.shtml |
|
|
|
|
|
http://es.wikipedia.org/wiki/Programaci%C3%B3n_estructurada |
|
|
Wikipedia: Programación Estructurada |
|
|
|
|
|
Diagramas de Estructura |
|
|
http://www.monografias.com/trabajos10/andi/andi.shtml |
|
|
Análisis y Diseño |
|
|
http://www.monografias.com/trabajos/progestructu/progestructu.shtml |
|
|
Programación Estructurada |
|
|
http://es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos |
|
|
Wikipedia: Programación Orientada a Objetos |
|
|
http://www.desarrolloweb.com/articulos/499.php |
|
|
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 |
|
|
Diseño de los Objetos |
|
|
http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/ |
|
|
Tecnología Orientada a Objetos |
|
|
http://www.desarrolloweb.com/articulos/2477.php |
|
|
Varias Clases de Programación |
|


![]()