Documentos de Académico
Documentos de Profesional
Documentos de Cultura
DISEÑO DE SISTEMAS
GRUPO
301309_47
PRESENTADO A
MOISES DE JESUS RODRIGUEZ
DIRECTOR DE CURSO
.
Por medio de este se pretende dar respuesta a las preguntas formuladas dentro
de la actividad teniendo en cuenta las referencias dadas y la investigación
realizada por cada estudiante referente al diseño de software, calidad del diseño
de software, patrones, estilos, características, implementación y demás temas
relacionados con la manera en la que se realiza un diseño de software y como se
implemente.
OBJETIVOS
Interiorizar la teoría sobre arquitectura del software, estructuras de datos,
interfaces y componentes que se necesitan para implementar el sistema
Desarrollar el diseño para un sistema de información o producto informático
de alta calidad
Identificar las distintas representaciones de un software tomando como
características la resistencia, la funcionalidad y la belleza.
DESARROLLO DE ACTIVIDADES
La arquitectura del software se puede definir como las técnicas metodológicas que
son usadas para facilitar la programación de un producto, a través de un grupo de
abstracciones o patrones que nos guían con un esquema de referencia y con la
compatibilidad necesaria para lograr estos objetivos.
El software debe contener parámetros que mantengan su calidad y rendimiento
como lo son: mantenibilidad, fácilmente analizable, modificable y corregible.
La arquitectura del software es la estructuración del sistema de esta
restructuración representa un diseño de alto nivel del sistema que tiene dos
propósitos primarios: satisfacer los atributos de calidad y servir como guía en el
desarrollo, la omisión de dicho procedimiento de la arquitectura puede llegar a
limitar severamente el producto ya que en la arquitectura el costo de correcciones
relacionadas con problemas es demasiado elevado.
https://msdn.microsoft.com/es-
8. Describa en breves palabras cada uno de los cuatro elementos del modelo
del diseño.
El elemento del diseño arquitectónico emplea información obtenida del dominio
de la aplicación, del modelo de requerimientos y de los catálogos disponibles
de patrones y estilos para obtener una representación estructural completa del
software, de sus subsistemas y componentes.
Los elementos del diseño de la interfaz modelan las interfaces internas y
externas y la de usuario.
Los elementos en el nivel de componentes definen cada uno de los módulos
(componentes) que constituyen la arquitectura.
Por último, los elementos del diseño albergan la arquitectura, sus componentes
y las interfaces dirigidas hacia la configuración física en la que se alojará el
software.
Figura3
Figura4:https://userscontent2.emaze.com/images/b3e894ba-05c7-4a68-
a29b-dd386d252f3d/71b1b97c-649c-4040-a882-6c5853723a05.png
Arquitecturas en capas.
Se define un número de capas diferentes
• En la capa externa: los componentes atienden las operaciones de la
interfaz de usuario.
• En la interna: los componentes realizan la interfaz con el sistema
operativo.
• Las capas intermedias: proveen servicios de utilerías y funciones de
software de aplicación.
Figura5:
http://arevalomaria.files.wordpress.com/2010/12/ejemplo_mvc1.png
Máquinas Virtuales
Estilos Peer-to-Peer
Datos. ¿Cómo se comunican los datos entre los componentes? ¿El flujo de datos
es continuo o los objetos de datos pasan al sistema en forma esporádica?
15. ¿Por qué son necesarios los componentes de control en el software tradicional
y por qué en general no se requieren en el orientado a objetos?
Tipos de acoplamiento:
Programación estructurada
Un módulo hace referencia a una subrutina de cualquier tipo. Por ejemplo, un
conjunto de una o más secciones de código que tiene un nombre y
preferiblemente su propio conjunto de nombres de variable.
Acoplamiento de contenido (alto)
El acoplamiento de contenido ocurre cuando un módulo modifica o se apoya en el
funcionamiento interno de otro módulo.
Acoplamiento común
El acoplamiento común ocurre cuando dos módulos comparten los mismos datos
globales; Cambiar el recurso compartido implica cambiar todos los módulos que lo
usen.
Acoplamiento externo
El acoplamiento externo ocurre cuando dos módulos comparten un formato de
datos impuesto externamente, protocolo de comunicación, o interfaz de
dispositivo. Esto está básicamente relacionado con la comunicación a
herramientas externas y dispositivos.
Acoplamiento de control
El acoplamiento de control es un módulo controlando el flujo de otro, mediante el
paso de información sobre lo que debe hacer
Acoplamiento sellado
El acoplamiento sellado ocurre cuando los módulos comparten una estructura de
datos compuesta y usan solo una parte de ella, posiblemente una parte diferente.
Esto podría llevar a cambiar la forma en la que un módulo lee un registro debido a
que un campo que el módulo no necesita ha sido modificado.
Acoplamiento de datos
El acoplamiento de datos ocurre cuando los módulos comparten datos entre ellos,
por ejemplo, parámetros. Cada dato es una pieza elemental y dicho parámetro es
la única data compartida.
Acoplamiento de mensajes
Este es el más bajo tipo de acoplamiento. Se puede lograr por la descentralización
de estados y la comunicación de componentes se realiza mediante parámetros o
paso de mensajes.
Sin acoplamiento
Módulos que no se comunican para nada uno con otro.
Las aplicaciones web (web app) se ejecutan en un navegador web, lo que hacen
que sean compatibles con la gran mayoría de los dispositivos existentes, y sólo
necesitan ser programadas una vez. Se las consideran aplicaciones híbridas.
Al mostrarse en un navegador web, el código que se utiliza es el mismo que el de
las páginas web (HTML, JavaScript y CSS).
Pero no nos equivoquemos, una aplicación web no es una página web, mientras la
primera ofrece una serie de servicios y es totalmente interactiva, las páginas webs
son, en general, un modo informativo y estático de mostrar una información
concreta.
No necesitan estar instaladas en el terminal, a excepción de algunas funciones
básicas en algunos casos, ya que se ejecutan desde un servidor. Esta cualidad
hace que necesitemos una conexión a internet para poder utilizarlas, aunque
puede haber alguna función que no lo requiera. Desde el punto de vista del
almacenamiento, nos ahorran mucho espacio en el terminal.
Una Web App o Aplicación Web no es otra cosa que la manera moderna de llamar
a una página web de toda la vida. Por supuesto, esa Aplicación Web debe realizar
algún tipo de tarea, normalmente complementada por un servidor que realiza
tareas en backend, si no, estaríamos hablando de una simple página web estática
como puede ser una página informativa y no de una aplicación propiamente dicha.
C++
o C++ es un lenguaje de programación diseñado en 1979 por Bjarne
Stroustrup. La intención de su creación fue el extender al lenguaje de
programación C mecanismos que permiten la manipulación de
objetos. En ese sentido, desde el punto de vista de los lenguajes
orientados a objetos, el C++ es un lenguaje híbrido.
Java
o Java es un lenguaje de programación de propósito general,
concurrente, orientado a objetos, que fue diseñado específicamente
para tener tan pocas dependencias de implementación como fuera
posible. Su intención es permitir que los desarrolladores de
aplicaciones escriban el programa una vez y lo ejecuten en cualquier
dispositivo (conocido en inglés como WORA, o "write once, run
anywhere"), lo que quiere decir que el código que es ejecutado en
una plataforma no tiene que ser recompilado para correr en otra.
Java es, a partir de 2012, uno de los lenguajes de programación más
populares en uso, particularmente para aplicaciones de cliente-
servidor de web, con unos diez millones de usuarios reportados.
Python
o Python es un lenguaje de programación interpretado cuya filosofía
hace hincapié en una sintaxis que favorezca un código legible.
Se trata de un lenguaje de programación multiparadigma, ya que
soporta orientación a objetos, programación imperativa y, en menor
medida, programación funcional. Es un lenguaje interpretado, usa
tipado dinámico y es multiplataforma.
1) un diagrama de actividades
2) un diagrama de flujo
Forma Elemento Descripción y propiedades principales
Condiciones 1 2 3 4
Proporcionar Menú S S N N
Pedir Menú N S S N
Acciones
Entregar Menú X
Salir sin ordenar X
Condiciones 1 2
Proporcionar Menú S S
Pedir Menú N S
Acciones
Entregar Menú X
Salir sin ordenar X
4) LDP
Generado en C++
1
2
3
4
5
6 #include<iostream>
7 #include<string>
8 using namespace std;
9 int main()
10 {
11 int a=0,b=0,total=0;
12 cout<<"ingrese número de menus pedidos: ";cin>>a;
13 cout<<"ingrese Valor menus: ";cin>>b;
14
15 if (a>0)
16
17 tota=a*b;
18
19 cout<<"El total a pagar es: "<<tota<<endl;
20 }cin.ignore(); return 0;
21 }
22
23
24
25
26