Está en la página 1de 8

TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

2. Diseño de sistemas
2.1 Modelo estructurado
En el modelo estructurado se examinan brevemente las nueve actividades y los
tres terminadores que lo componen. Los terminadores son los usuarios, los
administradores, y el personal de operaciones. Los cuales se tratan de individuos
o grupos que proporcionan la entrada al equipo del proyecto, y son los
beneficiados finales del sistema.

2.2 Modelo orientado a objetos


Es evidente que el concepto básico de la orientación a objetos es el objeto, pero
para ello debemos precisar primero porque orientado a objetos. Un objeto puede
ser algo tan trivial como una silla o una mesa, pero en el mundo hay infinidad de
objetos de ese tipo y las declaraciones de atributos y operaciones para cada uno
sería muy difícil y desgastante. La verdadera esencia de la orientación a objetos
está en la estructuración de una jerarquía de clases y esto trae consigo otros
conceptos que siguen. Por otra parte los objetos deben comunicarse unos con
otros. Es por ello que Coad y Yourdon definieron la orientación a objetos así:
Orientado a objetos = Objetos + Clasificación + Herencia + Comunicación.
• Clases y objetos.
Un modelo orientado a objetos de SW debe exhibir abstracciones de datos y
procedimientos que conduzcan a una modularidad eficaz. Una clase es un
concepto orientado a objetos que encapsula las abstracciones de datos y
procedimientos que se requieren para describir el contenido y el comportamiento
de alguna entidad del mundo real.
Una clase es una descripción generalizada que describe una colección de objetos
similares. Por definición, todos los objetos que existen dentro de una clase
heredan sus atributos y operaciones. De este concepto se derivan cosas como:
• Una superclase es una colección de clases.
• Una subclase es una instancia de una clase.
Es interesante sin embargo la notación de Taylor sobre una clase, donde queda
destacado de forma relevante que la clase encapsula las abstracciones de datos
(atributos) dentro de una muralla de abstracciones procedimentales (operaciones),
a través de la cual hay que pasar para poder acceder a los datos.
TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

Una 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 nítidamente definidas respecto a la perspectiva del observador.
El encapsulamiento es el proceso de almacenar en un mismo compartimento los
elementos de una abstracción que constituyen su estructura y su comportamiento;
sirve para separar la interfaz contractual de una abstracción y su implantación.
La modularidad es la propiedad que tiene un sistema que ha sido descompuesto
en un conjunto de módulos cohesivos y débilmente acoplados.
La jerarquía es una clasificación u ordenación de abstracciones.
Los tipos son la puesta en vigor de una clase de los objetos, de modo que los
objetos de tipos distintos no pueden intercambiarse o, como mucho, pueden
intercambiarse sólo de formas muy restringidas.
La concurrencia es la propiedad que distingue un objeto activo de uno que no está
activo.
La persistencia es la propiedad de un objeto por la que su existencia trasciende el
tiempo, el espacio, o ambos.
• Atributos.
Los atributos son las características estables que identifican claramente a los
objetos y clases de objetos de la vida real. Se puede decir que una característica
puede verse como una relación binaria entre una clase y cierto dominio donde
quedan definidos los posibles valores que puede tomar esa característica.

2.3 Modelo basado en componentes


El modelo de desarrollo basado en componentes incorpora muchas de las
características del modelo espiral. Es evolutivo por naturaleza y exige un enfoque
interactivo para la creación del software. Sin embargo, el modelo de desarrollo
basado en componentes configura aplicaciones desde componentes preparados
de software (clases).
Una vez que la mayor parte de los aspectos funcionales de esta disciplina
comienzan a estar bien definidos, la atención de la comunidad científica comienza
a centrarse en los aspectos extrafuncionales y de calidad, como un paso hacia
una verdadera ingeniería.
El uso de este paradigma posee algunas ventajas:
1. Reutilización del software. Nos lleva a alcanzar un mayor nivel de reutilización
de software.
TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

2. Simplifica las pruebas. Permite que las pruebas sean ejecutadas probando cada
uno de los componentes antes de probar el conjunto completo de componentes
ensamblados.
3. Simplifica el mantenimiento del sistema. Cuando existe un débil acoplamiento
entre componentes, el desabollador es libre de actualizar y/o agregar
componentes según sea necesario, sin afectar otras partes del sistema.
4. Mayor calidad. Dado que un componente puede ser construido y luego
mejorado continuamente por un experto u organización, la calidad de una
aplicación basada en componentes mejorará con el paso del tiempo
• La Notación de Componentes
Un componente puede ser algo como un control Actives; tanto un componente de
la Interfaz de usuario como un servidor de reglas de negocio.
• El Diagrama de Componentes
El diagrama de componentes muestra la relación entre componentes de software,
sus dependencias, su comunicación su ubicación y otras condiciones.
• Interfaces
Los componentes también pueden exponer las interfaces. Estas son los puntos
visibles de entrada o los servicios que un componente está ofreciendo y dejando
disponibles a otros componentes de software y clases. Típicamente, un
componente está compuesto por numerosas clases y paquetes de clases internos.
También se puede crear a partir de una colección de componentes más pequeños.
• Los componentes y los Nodos
Un diagrama de despliegue muestra el despliegue físico del sistema en un
ambiente de producción (o de prueba). Muestra dónde se ubican los
componentes, en qué servidores, máquinas o hardware. Puede representar los
enlaces de redes.
• Restricciones
Los componentes pueden restricciones asignadas que indican el entorno en el que
operan.
Las pre-condiciones especifican lo que debe ser verdadero antes de que un
componente pueda realizar alguna función; las post-condiciones indican lo que
debe ser verdadero después de que un componente haya realizado algún trabajo
y los invariantes especifican lo que debe permanecer verdadero durante la vida del
componente.
TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

2.4 Diseño de la Arquitectura del software


La Arquitectura del Software es el diseño de más alto nivel de la estructura de
un sistema.
Una Arquitectura de Software, también denominada Arquitectura lógica,
consiste en un conjunto de patrones y abstracciones coherentes que proporcionan
el marco de referencia necesario para guiar la construcción del software para un
sistema de información.
La Arquitectura de Software establece los fundamentos para que analistas,
diseñadores, programadores, etc. trabajen en una línea común que permita
alcanzar los objetivos del sistema de información, cubriendo todas las
necesidades.
Una arquitectura de software se selecciona y diseña con base en objetivos y
restricciones. Los objetivos son aquellos prefijados para el sistema de información,
pero no solamente los de tipo funcional, también otros objetivos como la
mantenibilidad, auditabilidad, flexibilidad e interacción con otros sistemas de
información. Las restricciones son aquellas limitaciones derivadas de las
tecnologías disponibles para implementar sistemas de información.
.
2.5 Diseño de Interfaz de usuario
El diseño de interfaz de usuario o ingeniería de la interfaz es el diseño de
computadoras, aplicaciones, máquinas, dispositivos de comunicación móvil,
aplicaciones de software, y sitios web enfocado en la experiencia de usuario y la
interacción.
Normalmente es una actividad multidisciplinar que involucra a varias ramas del
diseño y el conocimiento como el diseño gráfico, industrial, web, de software y la
ergonomía; y está implicado en un amplio rango de proyectos, desde sistemas
para computadoras, vehículos hasta aviones comerciales.
Su objetivo es que las aplicaciones o los objetos sean más atractivos y además,
hacer que la interacción con el usuario sea lo más intuitiva posible, conocido como
el diseño centrado en el usuario. En este sentido las disciplinas del diseño
industrial y gráfico se encargan de que la actividad a desarrollar se comunique y
aprenda lo más rápidamente, a través de recursos como la gráfica, los
pictogramas, los estereotipos y la simbología, todo sin afectar el funcionamiento
técnico eficiente
• Diseño de bases de datos
Son muchas las consideraciones a tomar en cuenta al momento de hacer el
diseño de la base de datos, quizá las más fuertes sean:
TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

• La velocidad de acceso,
• El tamaño de la información,
• El tipo de la información,
• Facilidad de acceso a la información,
• Facilidad para extraer la información requerida,
• El comportamiento del manejador de bases de datos con cada tipo de
información.
No obstante que pueden desarrollarse sistemas de procesamiento de archivo e
incluso manejadores de bases de datos basándose en la experiencia del equipo
de desarrollo de software logrando resultados altamente aceptables, siempre es
recomendable la utilización de determinados estándares de diseño que garantizan
el nivel de eficiencia mas alto en lo que se refiere a almacenamiento y
recuperación de la información.
De igual manera se obtiene modelos que optimizan el aprovechamiento
secundario y la sencillez y flexibilidad en las consultas que pueden proporcionarse
al usuario.

2.7 Diseño de controles y procesos


• La aplicación debe funcionar
La característica más simple e importante de un programa es que funcione. Esto
puede parecer obvio, pero es difícil de asegurar en los programas de algún
tamaño considerable. Circulan en el ambiente muchas historias de errores
catastróficos y muy costosos de programas computacionales. Tales incidentes no
sólo reflejan las fallas de la industria como un todo, sino que también contribuyen
en gran medida a robustecer el recelo y la desconfianza que tiene el público hacia
los sistemas (y en consecuencia de los clientes hacia los fabricantes de sistemas).
Debe tenerse cuidado de no adornar el programa con características no pedidas
en forma específica (pero sensacionales visualmente), porque esto significa una
fuente adicional de error. Hoy las normas y buenas prácticas crean tres (o más)
ambientes físicos (y filtros) antes de entregar. En efecto:
• Prototipo (Paginas o Formularios, conjunto de objetos, Navegación. Ver
RobotDocIRS)
• Ambiente de Desarrollo (Aquí los propios programadores revisan)
TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

• Ambiente de Prueba (Aquí revisa el ingeniero de proceso que ha juega el


rol de contraparte del cliente)
• Ambiente de Pre-Producción (Aquí se revisa conjuntamente con el cliente y
un grupo de usuarios. También llamado Piloto. Ver Metodología DocIRS)
• Ambiente de Producción (Aquí se implanta el sistema en la organización)
La aplicación debe estar bien documentada
Es muy importante que una aplicación o sistema esté bien documentado. La
documentación existe para ayudar a comprender o usar un programa. Esto no sólo
es importante para los encargados de dar mantenimiento o modificar los
programas; también puede ser de gran valor para el desarrollador mismo (Tener
los planos con el Modelamiento, Diseño Funcional, Casos de Uso,..etc (Ver UML).
Nuestro punto de vista es evitar la Programación Extrema). La mayoría de los
desarrolladores se ven forzados a prestar atención simultánea a diferentes
asuntos, ya sean programas distintos, diversas partes de un mismo programa e,
incluso, diferentes tareas de su trabajo. Los detalles de los programas en
particular, o algunas partes especiales de los mismos, pueden olvidarse fácilmente
o confundirse si no se tiene la documentación apropiada.
La aplicación debe ser eficiente
En este artículo hemos tratado la construcción de aplicaciones, siempre de un
punto de vista de los códigos . Sin embargo, es importante remarcar que lo
fundamental de una aplicación es el usuario final. Es decir, la eficiencia también
dice relación con la usabilidad de las funcionalidades, esto implica que las
soluciones del programador deben se amistosas y simples. En efecto, no es
eficiente que el usuario tenga que ingresar una estructura de complicada sintaxis,
como por ejemplo: "[prefijo]_[nombre]_[version]_ddmmaaa.zip" (y aun peor, si no
lo ingresa con esa estructura el sistema le emite un error); que el cliente se vea
obligado a presionar tres teclas al mismo tiempo para lograr una operación; que
tenga que pasar por tres pantallas, para llegar obtener un formulario donde finaliza
la acción; que la acción esté llena de validaciones innecesarias al momento de
grabar,etc… Actualmente, con el hardware existente y la potencialidad de los
lenguajes de programación orientados al objeto, realmente se puede facilitar el
trabajo de los diseñadores, de los constructores y fundamentalmente de los
clientes. Siempre se debe tener presente que la ponderación de la Calidad
Percibida por el cliente es lo que más se valora.
2.8 Aplicación de métricas para la evaluación del diseño
Es el proceso por el cual los números o símbolos son asignados a atributos o
entidades en el mundo real tal como son descritos de acuerdo a reglas claramente
definidas. Sirve para: Proveer la información necesaria para la toma de decisiones
técnicas.
TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

Características:
Evaluación de los modelos de análisis y de diseño
Proporcionarán una complejidad de diseños procedimentales y de código
fuente
Diseño de pruebas más efectivas
Proceso de medición
Métricas del software
Estimación de costo y el esfuerzo
Medición de la productividad
Acumulación de datos
Realización de modelos y mediciones de la calidad
Elaboración de modelos de seguridad
Evaluación y modelos de desempeño
Valoración de las capacidades y de la madurez
Administración por métricas
Evaluación del método y herramientas

Métricas de desempeño:
Corresponden a las métricas que miden la conducta de módulos y sistemas de un
software, bajo la supervisión del sistema operativo o hardware. De acuerdo al
software creado debe de cumplir ciertas características como:
• Simple y fácil de calcular
• Empírica e intuitivamente persuasiva: la métrica debería satisfacer las
nociones intuitivas del ingeniero de software
• Consistente en el empleo de unidades y tamaños
• Independiente del lenguaje de programación
• Mecanismo eficaz para la realimentación de calidad
• Colección
• Formulación
TEMA: UNIDAD II

ALUMNO: MEJÍA MARIO EDWIN JOSUÉ

También podría gustarte