Diseños de sofware

Diseño arquitectonico

La funcionalidad es en gran medida ortogonal a los
requisitos de calidad:
La funcionalidad es la capacidad del sistema de hacer lo

que se pretendía que hiciese;

Los sistemas se descomponen en elementos para lograr

variados propósitos, más allá de la funcionalidad:

Las opciones de arquitectura promueven ciertas

cualidades al tiempo que implementan la funcionalidad

deseada.

cualidades

La medida en que un sistema alcanza sus requisitos de
calidad depende de las decisiones de arquitectura:
la arquitectura es crítica para alcanzar los atributos de

calidad;

las cualidades del producto deben diseñarse como parte

de la arquitectura;

un cambio en la estructura que mejora una cualidad suele

afectar las otras cualidades;

la arquitectura sólo puede permitir, no garantizar, que

cualquier requisito de calidad se alcance.

Arquitectura de aplicaciones

el proposito es cubir toda y cada una de las necesidades de la empres u organizacion

las principales caracteristicas de una arquitectura de aplicacion es encapsular las clase

El arquitecto trata con la información del problema y diseña una solución, la cual satisface los requerimientos funcionales y no funcionales del cliente, siendo una solución flexible que evoluciona cuando los requerimientos cambian

Responsabilidades Tecnológicas
identificar los casos de uso significantes para la arquitectura
guiar el desarrollo de prototipos

Para que un arquitecto sea polifacético, debe tener conocimiento del negocio o del dominio del problema. Puede obtener este conocimiento mediante la experiencia o la formación.

Reutilización de Software

Se podria considerar que se usa este tipo de proceso para garantizar varios factores tales como la confiabilidad ya que es un software existente el % de fallas es casi 0% lo cual ayudara a la eficiencia del flujo del sistema mientras que cuando de reportar el sistema como tal y se consta de poco tiempo ayuda en gran manera. Algo elemental que se basa este tipo de sistema es que no se modifica nada de lo ya existente sino que mas bien se configura para los nuevos clientes

Reutilizacion de componentes

Cuando se maneja lo que son textos en cuanto almacenamiento se refiere se puede reutilizar los componentes tales como las base de datos

Reutilizacion de funciones y objetos

existen cosas en comun que manejan las empresas y esto por medio de los sistema se lo lleva a cabo y es el hecho de saber estadisticamente el comportamiento financiero de la empresa por medio de funciones matematicas, esto se logra o se hace uso con sistemas ya existente para saber los niveles de alza o baja en ventas o servicios que se ofrezcan segun los requerimientos del usuario

Desarrollo de sistemas criticos

cuando de organizacion se trata la manera en la que se debe de llevar a cabo los procesos deben de ser tratados con pinzas y ser minuciosos es por eso que se manejan capaz que son los niveles y conjunto de interrelaciones entre lo tangible ( hardware ) y lo integible (software) esto para manejar las relaciones por procesos que ayudaran a tener un mejor orden que den eficiencia en el manejo de todo un sistema

existen 3 tipos de sistemas entre ellos estan los de seguridad que son aquellos que pueden haber perdida de vidas , tambien estan los de mision que son aquellos sistemas criticos que pueden ocacionar errores en el accionar de actividades de un sistema y por ultimo el critico de negocio que puede provocar perdida muy elevadas de dinero

Diseño de interfaz de usuario

su objetivo fundamental es la manera en la que se atrae al usuario de manera atractiva en otras palabra la vizulizacion agradable

por otro lado se podria considerar que es la manera interactiva en la que se crea una comunicacion entre el ususario y la computadora

reglas

diseño de interfaz con los componentes del software

diseño de interfaz con los productores y los consumidores

diseño de interfaz con usuario y computadora

Las interfaces básicas de usuario son aquellas que incluyen elementos como menús, ventanas, contenido gráfico, cursor, los beeps y algunos otros sonidos que la computadora hace, y en general, todos aquellos canales por los cuales se permite la comunicación entre el ser humano y la computadora.

Atendiendo a como el usuario puede interactuar con una interfaz, existen varios tipos de interfaces de usuario:

Interfaz de línea de comandos (Command-Line Interface, CLI): Interfaces alfanuméricas (intérpretes de comandos) que solo presentan texto.

Interfaces gráficas de usuario (Graphic User Interface, GUI): Permiten comunicarse con la computadora de forma rápida e intuitiva representando gráficamente los elementos de control y medida.

Interfaz natural de usuario (Natural User Interface, NUI): Pueden ser táctiles, representando gráficamente un «panel de control» en una pantalla sensible al tacto que permite interactuar con el dedo de forma similar a si se accionara un control físico; pueden funcionar mediante reconocimiento del habla, como por ejemplo Siri; o mediante movimientos corporales

Arquitectura de sistemas distribuidos

estas arquitecturas de software establecen como son organizados varios componentes del software y como interactuan entre ellos

seguridad de los sitemas distribuidos

seguridad

facilita la repacion de los fallos con los distintos componente del software

redes

existen porblemas de fallo de transmision muy comunes

Tolerancias a fallo

pueden existir fallos operativos y fallo de componentes

La idea básica tras el estilo arquitectónico en capas es simple: los componentes están organizados en
forma de capas, en la que un componente en una determinada capa puede llamar a componentes en la
capa inmediata inferior. Una observación clave es que el control generalmente fluye de capa en capa:

Las arquitecturas centradas en datos evolucionan en torno a la idea de que los procesos se
comunican a través de un repositorio o medio común (ver Figura 2). Por ejemplo, una cantidad importante
de aplicaciones distribuidas en las que la comunicación se establece por medio de un archivo compartido a

través de un sistema de archivos distribuidos

Ingenieria de Software basado en componentes

debido a la ampliabilidad del sistema se hace uso de la abstraccion o separacion de funcionalidad y objetos en un sistema ya que abarcan grandes cosas como funciones que deben de ejecutar un proceso en el sistema

EJEMPLO

en servicios de web y, más recientemente, en las arquitecturas orientadas a servicios (SOA), por el que un componente es convertido por el servicio web en un servicio y consiguientemente hereda otras características más allá de las de un componente ordinario

cuando los componentes de software interactúan directamente con los usuarios, debe ser considerada la prueba de usabilidad basada en componentes.

Toma un significativo esfuerzo y conciencia para escribir un componente de software que sea efectivamente reutilizable. El componente necesita estar:



completamente documentado

probado a fondo

Caracteristicas

ESTANDARIZADO

Deben de ser estandares en lo que compete a implementacion, documentacion y por ultimo tener su composición

Independiente

la implementacion de los componentes deben de manejar una autonomia en lo que es la factibilidad de implentacion y componerlo.

Componible

debe de tener todos los componentes una interfaz definida publicamente

Implementable

un sistema debe de poderse ejecutar independiente de la plataforma

Documentado

para que exita una mejor eficiencia en la circulacion o uso de un sistema siempre debe de estar documentado para poder ganar clientela al maximo

Evolucion del Software

Es un proceso autoregulativo los atributos de los sistemas tales como el tamaño , tiempo de entrega y el numero de errores en el documentado , el cunjunto de las mejoras de estos parametros son lo que se denominan la evolucion del software

Cuando el software falla, pueden ocurrir daños económicos enormes y ocasionar sufrimiento humano.
Luchamos por construir software informático que tengan fiabilidad y alta calidad.
Nuestra habilidad de soportar y mejorar los programas existentes se ve amenazada por diseños pobres y recursos inadecuados.

En respuesta a estos problemas, las prácticas de la Ingeniería del Software se están adoptando en toda la industria

LUCAS ISAAC ALEJANDRO ALEJANDRO CURSO MA-I-SIS-4-4 INGENIEROIA DE SOFTWARE GRUPO1