Está en la página 1de 11

17-10-2022 Fundamentos de

Sistemas de
Información

Alumno: Miguel Angel Matos Moo


Docente: Silvia Maria Lemus Quen
3AI
Índice

Introducción a Paradigmas de la Ingeniería de Software ............................... 1


4.1. El enfoque estructurado........................................................................... 2
4.2. El Enfoque Orientado a Objetos .............................................................. 6
4.3 Enfoques de vanguardia ........................................................................... 8
Bibliografía ...................................................................................................... 9

Introducción a Paradigmas de la Ingeniería de


Software

Durante esta unidad 4, se entenderá como podrás entender los sistemas de


información antes de comenzar a codificarlos, como estructurarlo, que
herramientas usar, que hacer antes de empezar, los diseños y los
elementos importantes para un sistema de información
Temas de la unidad

4.1. El enfoque estructurado

En el Enfoque Estructurado se usan los DFD (Diagrama de Flujo de Datos)


como principal herramienta para entender al sistema antes de plasmarlo a
código fuente. DFD es un diagrama en el que participan procesos
(métodos), flujo de datos (argumentos) y archivos (Base de datos). Hay de
diferentes niveles dependiendo la complejidad del sistema que se analiza,
hablando de lenguajes tiene mucha diferencia con la orientada a objetos, un
mínimo cambio en el código puede llegar alterar al resto del programa cosa
que en la orientada a objetos eso no sucede lo cual es una ventaja porque
así no se pierde tiempo en arreglar cosas ya hechas. Una desventaja es
que una porción de código en lenguaje estructurado es difícil que pueda
servir en otros proyectos, esto si es habitual en lenguaje orientada a
objetos, con solo importar clases ya hechas se escribe menos código y se
ahorra tiempo.

Diagrama de Flujo de Datos

• Un diagrama de flujo de datos (DFD) es un modelo lógico-gráfico para


representar el funcionamiento de un sistema en un proyecto software.

Un diagrama de flujo de datos (DFD) es una representación gráfica de los


procesos que se realizan con los datos en su organización, con el uso de
tan solo cuatro símbolos, se puede crear una descripción grafica de los
procesos que, con el tiempo, contribuirán a desarrollar una sólida
documentación del sistema.
En seguida mencionan las ventajas sobre las explicaciones descriptivas en
relación con la forma en que los datos se mueven a través del sistema:
Libertad para emprender la implementación técnica del sistema en las
primeras etapas.
Comprensión más profunda de la interrelación entre sistemas y
subsistemas.
Comunicación con los usuarios sobre el conocimiento del sistema actual
mediante diagramas de flujos de datos.
Análisis de un sistema propuesto para determinar si se han definido los
datos y procesos necesarios.

La ventaja más grande es la libertad conceptual para utilizar los cuatro


símbolos, los DFD’s hacen énfasis en el procesamiento o la transformación
conforme estos pasan por una variedad de procesos. En los DFD’s lógicos
no hay distinción entre procesos manuales o automatizados. Los procesos
tampoco se representan gráficamente en orden cronológico. En vez de ello,
se agrupan solo si el análisis detallado dicta que tiene sentido hacerlo. Los
procesos manuales se agrupan, y los procesos automatizados también se
pueden agrupar.

Diccionario de Datos

• El diccionario de datos es un listado organizado de todos los datos


que pertenecen a un sistema.
• El objetivo de un diccionario de datos es dar precisión sobre los datos
que se manejan en un sistema, evitando así malas interpretaciones o
ambigüedades.

El diccionario de datos surge de la necesidad de catalogar los procesos,


flujos almacenes estructuras y elementos de datos. Los nombres que se
usan son muy importantes. Cuando se tiene la oportunidad de asignar
nombre a los componentes de los sistemas orientados a datos, es necesario
trabajar en la creación de un nombre significativo pero diferente al de otros
componentes de datos existentes.
Se ha propuesto el diccionario de datos como gramática casi formal para
describir el contenido de los objetos definidos durante el análisis
estructurado. Esta notación ha sido definida de la siguiente forma por
Yourdon en 1989:

El diccionario de datos es un listado organizado de todos los elementos de


datos que son pertinentes para el sistema, con definiciones precisas y
rigurosas que permiten que el usuario y el analista del sistema tenga una
misma comprensión de las entradas, salidas, de los componentes de los
almacenes y también los cálculos intermedios. [2]
Muchos sistemas de administración de base de datos están equipados con
un diccionario de datos automatizado. Estos diccionarios pueden ser
complejos o sencillos, algunos diccionarios de datos computarizados
catalogan automáticamente los elementos de datos cuando se hace la
programación; otros simplemente proporcionan una plantilla para motivar a
la persona que llene el diccionario a que lo haga de una manera uniforme
para cada entrada.
A pesar de la existencia de los diccionarios de datos automatizados,
entender qué datos conforman un diccionario de datos, las convenciones
usadas en estos últimos y cómo se desarrolla un diccionario de datos, son
problemas que el analista de sistemas debe tener siempre presentes
durante el esfuerzo de sistemas. Entender el proceso de compilar un
diccionario de datos puede ayudar al analista de sistemas a visualizar el
sistema y su funcionamiento. Además de proporcionar documentación y
eliminar la redundancia, el diccionario datos se podría usar para:
• Validar la integridad y exactitud del diagrama de flujo de datos.
• Proporcionar un punto de partida para desarrollar pantallas e
informes.
• Determinar el contenido de los datos almacenados en archivos.
• Desarrollar la lógica para los procesos del diagrama de flujo de datos.
Diseño de Módulo
Un modelo de datos es un lenguaje orientado a describir una Base de
Datos. Típicamente un Modelo de Datos permite describir:

• Las estructuras de datos de la base: El tipo de los datos que hay en la


base y la forma en que se relacionan.
• Las restricciones de integridad: Un conjunto de condiciones que
deben cumplir los datos para reflejar correctamente la realidad
deseada.
• Operaciones de manipulación de los datos: Operaciones de
agregado, borrado, modificación y recuperación de los datos de la
base.
• Otro enfoque es pensar que un modelo de datos permite describir los
elementos de la realidad que intervienen en un problema dado y la
forma en que se relacionan esos elementos entre sí.

El concepto de modularidad se ha ido exponiendo desde hace casi cinco


décadas en el software de computadora. La arquitectura de computadora
expresa el modularidad; es decir, el software se divide en componentes
nombrados y abordados por separado, llamados frecuentemente módulos,
que se integran para satisfacer los requisitos del problema.
Se ha afirmado que “El modularidad es el único atributo del software que
permite gestionar un programa intelectualmente”. El software monolítico (es
decir, un programa grande formado por un único modulo) no puede ser
entendido fácilmente por el lector. La cantidad de rutas de control, la
amplitud de referencias, la cantidad de variables y la complejidad global
hará que el entendimiento este muy cerca de ser imposible. Para ilustrar
este punto, tomemos en consideración el siguiente argumento basado en
observaciones humanas sobre la resolución de problemas.

Proceso

Conjunto de tareas lógicamente relacionadas que existen para obtener un


resultado definido dentro de un negocio o proyecto.
4.2. El Enfoque Orientado a Objetos

El contexto del Enfoque Orientado a Objetos (EOO) un objeto es una


entidad que encapsula datos (atributos) y acciones o
funciones que los manejan (métodos). También para el EOO un objeto se
define como una instancia o particularización de una clase.

Los objetos de interés durante el desarrollo de software no sólo son


tomados de la vida real (objetos visibles o tangibles), también pueden ser
abstractos. En general son entidades que juegan un rol bien definido en el
dominio del problema. Un libro, una persona, un carro, un polígono son
apenas algunos ejemplos de objeto.

Cada objeto puede ser considerado como un proveedor de servicios


utilizados por otros objetos que son sus clientes. Cada objeto puede ser a la
vez proveedor y cliente. De allí que un programa pueda ser visto como un
conjunto de relaciones entre proveedores clientes. Los servicios ofrecidos
por los objetos son de dos tipos:
1. Los datos, que llamamos atributos.
2. Las acciones o funciones, que llamamos métodos.
Fundamentos del Enfoque Orientado a Objeto
El Enfoque Orientado a Objeto se basa en cuatro principios que constituyen
la base de todo desarrollo orientado a objetos.
Estos principios son: la Abstracción, el Encapsulamiento, la Modularidad y la
Herencia.

Otros elementos para destacar (aunque no fundamentales) en el EOO son:


Polimorfismo, Enlace dinámico (o binding),
Concurrencia y Persistencia.
El análisis orientado a objetos (AOO) y el diseño orientado a objetos (DOO)
constituyen un enfoque distinto de desarrollo de sistemas. Estas técnicas se
basan en los conceptos de la programación orientada a objetos, que han
sido codificados en UML (Lenguaje Unificado de Modelación), un lenguaje
estandarizado de modulación en el cual los objetos generados no solo
incluyen código referente a los datos sino también instrucciones acerca de
las operaciones que se realizaran sobre los datos.

EL Paradigma Orientado a Objetos es una disciplina de ingeniería de


desarrollo y modelado de software que permite construir más fácilmente
sistemas complejos a partir de componentes individuales.

Objetos + Mensajes = Programa

El proceso Orientado a Objetos se mueve a través de una espiral evolutiva


que comienza con la comunicación con el usuario. Es en esta parte donde
se define el dominio del problema y se identifican las clases básicas del
problema. La planificación y el análisis de riesgos establecen una base para
el plan de proyecto OO. El trabajo técnico asociado con la ingeniería del
software OO sigue las siguientes tareas:
1. Identificar clases candidatas
2. Buscar clases en biblioteca
3. Extraer nuevas clases si existen
4. Desarrollar las clases sino existen
5. Añadir las nuevas clases a la biblioteca
6. Construir n-esima iteración del sistema

La ingeniería de software hace hincapié en la reutilización. Por lo tanto las


clases se buscan en una biblioteca (de clases existentes) antes de
construirse

Las Características del Enfoque Orientado a Objetos son:

a) Objeto: Los datos están cuantificados en entidades discretas y


distinguibles llamadas objetos.

b) Clase: Significa que los objetos con la misma estructura de datos


(atributos) y comportamiento (operaciones) se agrupa para formar una
clase.

c) Atributo: Describen la clase o el objeto de alguna manera


d) Mensajes: Medio por el cual interactúan los objetos

e) Polimorfismo: Significa que una misma operación puede comportarse de


modos distintos en distintas clases.

f) Herencia: Compartir atributos y operaciones entre clases tomando como


base una relación jerárquica.

4.3 Enfoques de vanguardia

La Ingeniería de Software es reconocida como una disciplina legítima, digna


de tener una investigación seria, un estudio cuidadoso y ha generando una
gran controversia. En la industria el Ingeniero del software ha sustituido al
programador como titulo de trabajo preferente. Los modelos de procesos de
software, métodos de ingeniería de software y herramientas se han
adoptado con éxito en el amplio espectro de las aplicaciones industriales.
Los gestores y usuarios reconocen la necesidad de un enfoque más
disciplinado del software.

Un paradigma de programación es un modelo básico de diseño y desarrollo


de programas, que permite producir programas con una directriz específica,
tales como: estructura modular, fuerte cohesión, alta rentabilidad, etc.

Existen tres categorías de paradigmas de programación:


a) Los que soportan técnicas de programación de bajo nivel (ejemplo:
copia de ficheros frente estructuras de datos compartidos)
b) Los que soportan métodos de diseño de algoritmos (ejemplo: divide y
vencerás, programación dinámica, etc.)
c) Los que soportan soluciones de programación de alto nivel, como los
descritos en el punto anterior
Los paradigmas relacionados con la programación de alto nivel se agrupan
en tres categorías de acuerdo con la solución que aportan para resolver el
problema:
a) Solución procedimental u operacional. Describe etapa a etapa el
modo de construir la solución. Es decir señala la forma de obtener la
solución.
b) Solución demostrativa. Es una variante de la procedimental.
Especifica la solución describiendo ejemplos y permitiendo que el
sistema generalice la solución de estos ejemplos para otros casos.
Aunque es fundamentalmente procedimental, el hecho de producir
resultados muy diferentes a ésta, hace que sea tratada como una
categoría separada.
c) Solución declarativa. Señala las características que debe tener la
solución, sin describir cómo procesarla. Es decir señala qué se desea
obtener pero no cómo obtenerlo.

Bibliografía
Sommerville, Ian (2005), Ingeniería de software, Ed. Addison Wesley 7ª
Edicion.
Pressman Roger S. Ingeniería del software, Ed. Mc Graw Hill, 5ª edición
Kendall Kenneth E. & Kendall Julie E., Análisis y diseño de sistemas, Ed.
Prentice Hall 6ª edición

También podría gustarte