UNIVERSIDAD YACAMBÚ
ESPECIALIZACIÓN EN GERENCIA MENCIÓN REDES Y TELECOMUNICACIONES

TRABAJO Nro 1
ANALISIS Y DISEÑO DE SISTEMAS

ALCIDES ROMERO

Agosto 2007

Introducción:

Segun http://www.monografias.com/trabajos15/analista-sistem/analista-sistem.shtml "El análisis y diseño de sistemas se refiere al proceso de examinar la situación de una empresa con el propósito de manejarla con métodos y procedimientos más adecuados.

Se puede dividir en dos: el análisis de sistemas que comprende la planificación, el levantamiento inicial de información y el estudio en detalle del sistema actual para luego recomendar o estructurar las especificaciones necesarias para el nuevo sistema; y el diseño que consiste en llevar a cabo el sistema por medio de la clasificación y empleo de la información de manera que se pueda ofrecer una alternativa mucho más viable.

En pocas palabras; "El análisis especifica qué es lo que el sistema debe hacer. El diseño establece cómo alcanzar el objetivo". Ciertamente, todo sistema de información debe presentar salidas en base a entradas de datos y procesos, lo que nos dice que si deseamos entender todo lo que le ocurre a los datos antes de llegar al usuario como información –Es decir antes de ser interpretado por el usuario final- debemos utilizar metodologías que permiten ver los sistemas en base a sus procesos, por lo menos en sistemas de procesado por lotes o secuencial. Un ejemplo de ello es la metodología estructurada. Existen muchas metodologías pero esta es la más arraigada debido a su antigüedad. Recordemos que hace apenas dos décadas los computadores no soportaban el multitasking (procesamiento multitarea), lo que limitaba a procesar una pantalla a la vez, esto sólo permitía sistemas secuenciales donde cada tarea en procesamiento comenzaba cuando la anterior ya había terminado por completo."

Analisis y Diseño Estructurado:

Segun http://www.chaco.gov.ar/UTN/disenodesistemas/apuntes/de/diseño_estructurado.htm. Definición: "Diseño estructurado es el proceso de decidir que componentes, y la interconexión entre los mismos, para solucionar un problema bien especificado". El diseño es una actividad que comienza cuando el analista de sistemas ha producido un conjunto de requerimientos funcionales lógicos para un sistema, y finaliza cuando el diseñador ha especificado los componentes del sistema y las relaciones entre los mismos.Una vez que se han establecido los requisitos del software (en el análisis), el diseño del software es la primera de tres actividades técnicas: diseño, codificación, y prueba. Cada actividad transforma la información de forma que finalmente se obtiene un software para computadora válido.

El análisis estructurado, como todos los demás métodos de análisis de requisitos, es una actividad de construcción de modelos. Mediante una notación que es única de este método, se crean modelos que reflejan el flujo y el contenido de la información (datos y control); se parte el sistema funcionalmente y, según los distintos comportamientos, se establece la esencia de lo que se debe construir.

Segun http://www.monografias.com/trabajos10/andi/andi.shtml. Permite al analista conocer un sistema o proceso (actividad) en una forma lógica y manejable al mismo tiempo que proporciona la base para asegurar que no se omite ningún detalle pertinente". El objetivo que persigue el análisis estructurado es organizar las tareas asociadas con la determinación de requerimientos para obtener la comprensión completa y exacta de una situación dada.

Componentes:
-Símbolos gráficos: sirven para identificar y describir los componentes de un sistema y las relaciones entre estos. -Diccionarios de datos: Descripciones de todos los datos utilizados en el sistema pueden ser manual o automatizado.
-Descripciones de procesos y procedimientos: emplean técnicas y lenguajes que permiten describir actividades del sistema.
- Reglas: Estándares par describir y documentar el sistema en forma correcta y completa.
Análisis de flujo de datos: Estudia el empleo de los datos en cada actividad, documenta los hallazgos con diagramas de flujo de datos.

Herramientas:
- Diagrama de flujo de datos: son la herramienta mas importante y la base en donde se desarrolla otros componentes
- Diccionario de datos: contienen las características lógicas de los lugares donde se almacenan los datos del sistema, incluyendo nombre, alias, descripción, contenido y organización.
- Diagrama de estructuras de datos: este es una descripción de la relación entre entidades (personas, lugares, eventos y objetos ) y el conjunto de información relacionado con la entidad.
- Gráfica de estructura: es la herramienta del diseño que muestra con símbolos la relación entre los módulos de procesamiento y el software de la computadora.

Fundamentos del Análisis y Diseño Estructurado:

Segun http://www.chaco.gov.ar/UTN/disenodesistemas/apuntes/de/diseño_estructurado.htm.
Abstracción:
La noción psicológica de abstracción permite concentrarse en un problema al mismo nivel de generalización, independientemente de los detalles irrelevantes de bajo nivel. El uso de la abstracción también permite trabajar con conceptos y términos que son familiares al entorno del problema, sin tener que transformarlos a una estructura no familiar.
Refinamiento:
El refinamiento sucesivo es una primera estrategia de diseño descendente propuesta por Niklaus Wirth. La arquitectura de un programa se desarrolla en niveles sucesivos de refinamiento de los detalles procedimentales. Se desarrolla una jerarquía descomponiendo una declaración macroscópica de una función de una forma sucesiva, hasta que se llega a las sentencias del lenguaje de programación.
Modularidad:
La arquitectura implica modularidad, el software se divide en componentes con nombres y ubicaciones determinados, que se denominan módulos, y que se integran para satisfacer los requisitos del problema.
Arquitectura del Software:
La arquitectura del software se refiere a dos características importantes del software de computadoras:
1. la estructura jerárquica de los componentes procedimentales (módulos)
2. la estructura de datos
Jerarquía de Control:
La jerarquía de control, también denominada estructura de programa, representa la organización (frecuentemente jerárquica) de los componentes del programa (módulos) e implica una jerarquía de control. No representa aspectos procedimentales del software, tales como secuencias de procesos, o la repetición de operaciones.
Estructura de Datos:
La estructura de datos es una representación de la relación lógica existente entre los elementos individuales de datos. Debido a que la estructura de la información afectará invariablemente al diseño procedimental final, la estructura de datos es tan importante como la estructura del programa en la representación de la arquitectura del software.
Procedimientos del Software:
La estructura del programa define la jerarquía de control, independientemente de las decisiones y secuencias de procesamiento. El procedimiento del software se centra sobre los detalles de procesamiento de cada módulo individual.
Ocultamiento de la Información:
El principio de ocultamiento de la información sugiere que los módulos se han de caracterizar por decisiones de diseño que los oculten unos a otros. Los módulos deben especificarse y diseñarse de forma que la información (procedimientos y datos) contenida dentro de un módulo sea accesible a otros módulos únicamente a través de las interfaces formales establecidas para cada módulo.

Analisis y Diseño Orientado a Objetos:

Segun http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/. Hoy en día la tecnología orientada a objetos ya no se aplica solamente a los lenguajes de programación, además se viene aplicando en el análisis y diseño con mucho éxito, al igual que en las bases de datos. Es que para hacer una buena programación orientada a objetos hay que desarrollar todo el sistema aplicando esta tecnología, de ahí la importancia del análisis y el diseño orientado a objetos.

Segun http://www.monografias.com/trabajos14/progorie/progorie.shtml. El término de Programación Orientada a Objetos indica más una forma de diseño y una metodología de desarrollo de software que un lenguaje de programación, ya que en realidad se puede aplicar el Diseño Orientado a Objetos (En inglés abreviado OOD, Object Oriented Design), a cualquier tipo de lenguaje de programación.

Segun http://es.wikipedia.org/wiki/Analisis_y_diseño_orientado_a_objetos. Este método de análisis y diseño crea un conjunto de modelos, comunicado a otros mediante una notación acordada, tal como el lenguaje únificado de desarrollo (UML). ADOO aplica técnicas de modelado de objetos para analizar los requerimientos para un contexto - por ejemplo, un sistema de negocio, un conjunto de módulos de software - y para diseñar una solución para mejorar los procesos involucrados. No está restringido al diseño de programas de computadora, sino que cubre sistemas enteros de distinto tipo. Las metodologías de análisis y diseño más modernas son casos de uso guiados a través de requerimientos, diseño, implementación, pruebas, y despliegue.

Fundamentos del Análisis y Diseño Orientado a Objetos:

Segun http://mipagina.cantv.net/dreamlocos/dreamlocos/dream/mirc/programacion_objetos.htm.
Conceptos en lo que se basa la P.O.O:
Abstracción: Denota las características esenciales de un objeto que lo distinguen de todos los demás tipos de objetos, y proporciona así fronteras conceptuales definidas con nitidez, desde la perspectiva del observador. Todo objeto es único. Para hacerlo más entendible, diremos que la abstracción es el acto o resultado de eliminar diferencias entre los objetos, de modo que podamos ver los aspectos más comunes.
Modularidad: es la propiedad que posee un sistema que ha sido descompuesto en un conjunto de módulos cohesivos y débilmente acoplados.
Jerarquía: es una clasificación u ordenación de abstracciones. Las dos jerarquías más importantes en un sistema complejo son su estructura de clases y su estructura de objetos, jerarquía de clase y jerarquía de partes correspondientemente.
El encapsulamiento: es el proceso de compartimentar los elementos de una abstracción que constituyen su estructura y su compartimiento. Sirve para separar el interfaz "contractual" de una abstracción y su implantación. Es importante porque separa el comportamiento del objeto de su implantación.

Conceptos relacionados con la P.O.O:
Clase: se refiere a la implantación en software de un tipo de objeto. Especifica una estructura de datos y los métodos operativos permisibles que se aplican a cada uno de los objetos. Una clase puede tener sus propios métodos y estructura de datos, así como también heredarlos de su superclase. La superclase es la clase de la cual hereda otra clase, llamada esta ultima subclase inmediata.
Objeto: es un concepto, una abstracción o una cosa con unos limites definidos y que es relevante para el tema en cuestión, podemos decir además que estos poseen identidad y son distinguibles, aunque dos objetos tengan los mismos valores para todos, sus atributos son diferentes.
Método: es la especificación de un proceso de una operación, es un proceso disciplinado para generar un conjunto de modelo que describen varios aspectos de un sistema de software en desarrollo, utilizando alguna notación bien definida.
Eventos: es una acción reconocida por un objeto, tal como el clic de un ratón, o la presión de una tecla en el teclado. Cuando usted hace clic con el ratón en un formulario, Windows envía un mensaje al formulario diciéndole que alguien ha hecho clic sobre él.
Polimorfismo: se define como la posibilidad de asumir varias formas. El polimorfismo permite que una misma operación pueda llevarse a cabo de varias formas, en clases diferentes. Desde este punto de vista, representa un concepto de teoría de tipos en el que un solo nombre puede denotar objetos de muchas clases diferentes que se relacionan por alguna superclase común.
Sobrecarga de operadores: Facilidad de un lenguaje de programación que le permite al programador definir un nuevo tipo de datos que puede usarse en expresiones.
Herencia: se refiere a la compartición de atributos y operaciones basadas en una relación jerárquica entre varias clases. Una clase pude definirse de forma general y luego redefinirse en sucesivas subclases. Cada clase hereda todas las propiedades de sus superclases y añade sus propiedades particulares.

Diferencias: Segun http://ieee.udistrital.edu.co/concurso/programacion_orientada_objetos/poo/poovsest.html
Análisis y Diseño Estructurado Análisis y Diseño Orientado a Objetos

• Descomposición funcional: el sistema es considerado una unidad funcional que se disgrega en procesos.
• El resultado del proceso de abstracción para la solución de un problema macro lo constituyen pequeños subprogramas.
• Un problema macro se subdivide en unidades más pequeñas llamadas procesos, estos se pueden distribuir entre diferentes personas que se vean involucradas en la solución de un problema y así efectuar los desarrollos de software de una manera más rápida y eficiente.
• Los procesos son la parte central de este modelo pues a partir de estos se manejan las variantes (datos) que solucionarán el problema.
• Generalmente se manejan muchos procesos lo cual hace largos códigos.
• El mantenimiento de los desarrollos deben efectuarse minuciosamente.
• Los procedimientos empleados en una aplicación pueden reutilizarse teniendo cuidado en el manejo de los datos.
• Las operaciones se ajustan a las características propias de los lenguajes procedimentales.
• Los procesos que se modelan en el desarrollo de un problema plasman las operaciones necesarias para resolverlo.

 

 

 

• Descomposición en objetos. El sistema es considerado un objeto o conjunto de objetos. Los cuales son el resultado del proceso de abstracción para la solución del problema macro.
• Dado que un problema macro puede ser dividido en objetos, estos pueden ser tratados por diferentes personas que luego lo integraran para dar la solución final.
• Los datos (estados) son la parte central del modelo y los métodos que los modifican muestran el comportamiento del objeto.
• El mantenimiento de programas y aplicaciones generalmente son fáciles de realizar.
• Los objetos que se modelan en el desarrollo de un sistema se ajustan a la realidad que representa el problema, este puede representare como un objeto o conjunto de objetos abstractos.
• El modelo orientado a objetos no es una técnica de programación sino un medio de plasmar el mundo real.
• Un modelo de objetos es más cercano a la realidad que un modelo funcional.
• Un desarrollo realizado con el modelo orientado a objetos es más fácil de mantener y de reutilizar.
• El modelo orientado a objetos evita la redundancia en los procesos luego los códigos son más entendibles y resumidos.
• La integridad que dan los objetos a los datos evita ambigüedades en su uso, dando mayor seguridad en los resultados.
• El modelo orientado a objetos facilita la integridad de módulos que hallan sido realizados por separado sin correr riesgos en el manejo de los datos.
Caso Practico:

Proyecto:
"Control de Cambio para las Actividades de Mantenimiento de la Plataforma. PDVSA-AIT Distrito Norte"

Infografia:
  • http://www.monografias.com/trabajos15/analista-sistem/analista-sistem.shtml
  • http://www.chaco.gov.ar/UTN/disenodesistemas/apuntes/de/diseño_estructurado.htm.
  • http://www.monografias.com/trabajos10/andi/andi.shtml.
  • http://java.ciberaula.com/articulo/tecnologia_orientada_objetos/
  • http://www.monografias.com/trabajos14/progorie/progorie.shtml.
  • http://mipagina.cantv.net/dreamlocos/dreamlocos/dream/mirc/programacion_objetos.htm.
  • Segun http://ieee.udistrital.edu.co/concurso/programacion_orientada_objetos/poo/poovsest.html

 

 

1