Está en la página 1de 12

INSTITUTO TECNOLÓGICO

SUPERIOR DE SAN ANDRÉS


TUXTLA

INGENIERÍA INFORMÁTICA

Materia:

FUNDAMENTOS DE SISTEMAS DE INFORMACIÓN

Docente:

MARÍA DE LOS ÁNGELES PELAYO VAQUERO

Grupo:

310-A

Alumno:

LUIS ENRIQUE RIVAS CHAMPALA


ABISAÍ BLAS DÍAZ
ABDIEL MIGUEL GÓMEZ ALEMÁN
U2

INVESTIGACIÓN

“DISEÑO EN LA ING. DE SOFTWARE”

U2
INTRODUCCIÓN
Millones de personas utilizan hoy en día recursos informáticos tales como computadoras,
redes de computadoras, tablets, smartphones, para solventar problemas de
comunicación, de trabajo o por cuestiones cotidianas. A medida que el número de
usuarios se amplía cada día, incorporando personas de formaciones y culturas dispares,
aumenta a la par la demanda de los mismos de adquirir sistemas de software con mayor
nivel de asistencia y facilidad de uso.

Sistemas interactivos que provean un estilo de comunicación más simple, que sean
cada vez más fáciles de utilizar, de instalar, de aprender, sin requerir ningún tipo de
entrenamiento específico en Informática. Además, se pretende que el software brinde
mecanismos de interacción más inteligentes y que se adapte al usuario en forma eficiente.

El usuario necesita ver al sistema interactivo que está utilizando en su


computadora como una herramienta capaz de ayudarlo a resolver sus problemas, a
concretar sus intenciones. Pero esto no siempre es así. Es muy común que se le sume
innumerables problemas más al utilizar el software, debiendo solucionar fallos o errores
producidos cuyas causas no son claras, aprender cuestiones técnicas imprevistas, incurrir
a ciertas artimañas para sortear obstáculos innecesarios, adivinar cómo realizar
determinada tarea recurriendo a la técnica de prueba y error.

OBJETIVO DE LA INVESTIGACIÓN

El objetivo de la presenta investigación es dar a conocer el proceso que está detrás al


momento desarrollar un software, esta investigación estará enfocada a lo que es
principalmente el diseño, las etapas, los objetivos y otros conceptos que son muy útiles
para saber lo importante que es este paso para los que trabajan en las realizaciones de
softwares nuevos.

Además de que el diseño es muy esencial para dar paso a la siguiente etapa, pues
en el diseño se crean todas las ideas de como se quiere la interfaz, por ejemplo.
DISEÑO DE SOFTWARE

El diseño es el primer paso en la fase de Desarrollo de


cualquier producto o sistema de ingeniería. En [1] hace
mención a que el diseño es “el proceso de aplicar
distintas técnicas y principios con el propósito de definir
un dispositivo, proceso o sistema con los suficientes
detalles como para permitir su realización física, ya que el objetivo del diseñador es
producir un modelo o representación de una entidad que será construida más adelante.

Dentro de [2], el autor nos hace mención que hay dos maneras de darle significado
a lo que es el diseño de software. El primero de ellos, es cuando el diseño de software es
usado como producto, y un significado más, cuando es usado como un proceso. Ahí
mismo, nos menciona que cuando es usado en el primer sentido, el término de diseño de
software indica el producto que emerge del acto (o proceso) de proyectar un sistema de
software y siendo así algún documento u otro tipo de representación del deseo del
director de proyecto (diseñador). Entonces, ese producto es el resultado de las decisiones
del diseñador para formar una abstracción del sistema que es deseado en el mundo real.

De la misma manera, el autor crea el


segundo sentido (proceso) de diseño de
software, que indica el proceso seguido para
obtenerse un proyecto. Este es un proceso que
forma parte del proceso de las diversas partes
interesadas en el desarrollo y que es orientado
a los objetivos del software. Él debe ser
realizado teniendo en mente el sistema y debe ser fundamentado en el conocimiento del
diseñador sobre el dominio del problema.

Por otro lado, en [3] el autor hace mención a que un diseño de software es una
descripción de la estructura del software que se va a implementar, los datos que son parte
del sistema, las interfaces entre los componentes del sistema y, algunas veces, los
algoritmos utilizados, además de que los diseñadores no llegan inmediatamente a un
diseño detallado, sino que lo desarrollan de manera iterativa a través de diversas
versiones. El proceso de diseño conlleva agregar formalidad y detalle durante el desarrollo
del diseño, y regresar a los diseños anteriores para corregirlos.

ELEMENTO DEL PROCESO DEL DISEÑO DE SOFTWARE

El proceso de diseño puede ser descrito como el proceso de elección de la representación


de una solución a partir de varias alternativas, dadas las restricciones que un conjunto de
objetivos envuelve. [2]

El diseño de software es un proceso iterativo por medio del cual se traducen los
requerimientos en un “plano” para construir el software. Al principio, el plano ilustra una
visión holística del software. Es decir, el diseño se representa en un nivel alto de
abstracción, en el que se rastrea directamente el objetivo específico del sistema y los
requerimientos más detallados de datos, funcionamiento y comportamiento. A medida
que tienen lugar las iteraciones del diseño, las mejoras posteriores conducen a niveles
menores de abstracción. Éstos también pueden rastrearse hasta los requerimientos, pero
la conexión es más sutil. [4]

Mientras que en [1] nos muestra las etapas en las que se lleva acabo el proceso de
diseño:

1. Fase Preliminar

Se centra en la transformación de los


requisitos de los datos y la arquitectura del
software. Consiste en desarrollar una
estructura funcional y modular del
sistema, definir interfaces entre los
módulos y establecer las estructuras de datos. En el mismo no se considera los aspectos
procedimentales de los módulos, ya que se contemplan como “cajas negras” que luego
serán desarrollados.

Una actividad importante de esta etapa es el diseño de la interfaz, que establece la


disposición y los mecanismos para la interacción hombre-máquina.

El diseño preliminar consta de 3 partes:

 Diseño de Datos. Es la primera de


las cuatro actividades de diseño
(diseño de datos, diseño
arquitectónico, diseño de interfaz
hombre-máquina y diseño
procedimental) a realiza durante
la ingeniería de software. En el mismo libro, se proponen los siguientes principios
para especificar y diseñar los datos:
- Aplicar a los datos los mismos principios sistemáticos de diseño que se aplican
a la funcionalidad del sistema.
- Identificar todas las estructuras de datos y operaciones a realizar sobre ellas.
- Establecer un diccionario de datos para definir el diseño de los datos y del
programa.
- Posponer las decisiones de diseño de datos de bajo nivel al “diseño detallado”.
- Una estructura de datos debe ser conocida por los módulos que lo utilicen
directamente.
 Diseño arquitectónico. Su objetivo
es desarrollar una estructura
modular del software y
representar las relaciones de
control entre los módulos. El
diseño arquitectónico mezcla la
estructura de programa y la de los datos, y define las interfaces que facilita el flujo
de datos entre los módulos que definen el software.
 Diseño de la interfaz hombre-
máquina. Su objetivo es diseñar una
interfaz para el usuario que le
proporcione una comunicación
bidireccional con el sistema software
durante su ejecución. En su diseño se
debe tener en cuenta:
- Los diseños de datos y arquitectónicos, que ayudan a establecer las
características y restricciones que debe tener la interfaz.
- El modelo de usuario, que define el perfil de los usuarios finales del sistema.

Un buen diseño de la interfaz suele tener en cuenta, entre otras, las siguientes
directrices.

- Muestra solo aquella información que es relevante en el contexto actual.


- No abruma al usuario con datos textuales. Los gráficos deben reemplazar las
tablas de datos.
- Produce mensajes de error significativos.

2. Diseño Detallado

Se ocupa del refinamiento de la representación


arquitectónica que conduce una estructura de datos
detallada y a la representación algorítmica del
software o diseño procedimental.

 Diseño Procedimental. Define los detalles algorítmicos de cada uno de los módulos
producidos durante el diseño arquitectónico. Es decir, produce el diagrama
(organigrama) de cada módulo, así como las especificaciones procedimentales de
cada módulo.

Durante esta etapa es aconsejable construir un modelo de interfaz de usuario (diseñada


durante el diseño preliminar) para que la evalúe el usuario y modificar su diseño conforme
a esta evaluación.

El resultado de esta etapa es un “Documento


de Diseño Detallado” que incorpora un diseño
detallado de los datos, de la interfaz hombre-
máquina y de la arquitectura modular del sistema
con la interfaz de los módulos, así como el diseño
procedimental de cada módulo. A este documento también se le incorpora una
especificación de las pruebas a realizar a nivel de módulo y de su integración en el
sistema, configurando todo ello el “Documento de Diseño Final”.

 Diseño de la interfaz

Diseño de interfaces hombre-máquina para


facilitar al usuario la utilización del sistema. En
esta etapa se recolecta información de los
usuarios y la misma se pone a disposición de
otros usuarios. Este proceso es vital para
lograr adaptar el sistema realmente a las
necesidades y conocimientos de los usuarios
finales.

La interfaz cubre las entradas y las salidas, se debe tener en cuenta la psicología del
usuario, sobrecarga de la información, complejidad de la tarea, grado de control del
sistema permitido al usuario, ergonomía, diseño intuitivo y finalmente tomar en cuenta
problemas de adaptación entre hombre-máquina para un desarrollo completo. [5]
OBJETIVOS

1. Descomponer el sistema en
subsistemas: es necesario
identificar la arquitectura de
software.
2. Determinar las relaciones entre
componentes: Identificar las
dependencias entre componentes y determinar los mecanismos de comunicación
entre esos componentes.
3. Especificar las interfaces entre los componentes: Interfaces bien definidas para
facilitar la prueba y comunicación entre los componentes.
4. Describir la funcionalidad de cada uno de los componentes.
5. Desarrollar modelos que se pueden analizar para determinar si cumplen los
requisitos planteados y examinar soluciones alternativas.
6. Utilizar modelos para planificar el desarrollo de las actividades, y establecer las
especificaciones para iniciar con la codificación y pruebas. [5]

El diseño del software comienza cuando termina la


primera iteración de la ingeniería de
requerimientos. El objetivo del diseño del software
es aplicar un conjunto de principios, conceptos y
prácticas que llevan al desarrollo de un sistema o
producto de alta calidad. La meta del diseño es
crear un modelo de software que implantará
correctamente todos los requerimientos del
usuario y causará placer a quienes lo utilicen. Los diseñadores del software deben elegir
entre muchas alternativas de diseño y llegar a la solución que mejor se adapte a las
necesidades de los participantes en el proyecto.

El proceso de diseño va de una visión “panorámica”


del software a otra más cercana que define el detalle
requerido para implementar un sistema. El proceso
comienza por centrarse en la arquitectura. Se definen los
subsistemas, se establecen los mecanismos de
comunicación entre éstos, se identifican los componentes
y se desarrolla la descripción detallada de cada uno.
Además, se diseñan las interfaces externas, interna y de
usuario.

Los conceptos de diseño han evolucionado en los primeros 60 años de trabajo de la


ingeniería de software. Describen atributos de software de computadora que debe
presentarse sin importar el proceso que se elija para hacer la ingeniería, los métodos de
diseño que se apliquen o los lenguajes de programación que se utilicen. En esencia, los
conceptos de diseño ponen el énfasis en la necesidad
de la abstracción como mecanismo para crear
componentes reutilizables de software, en la
importancia de la arquitectura como forma de
entender mejor la estructura general de un sistema,
en los beneficios de la ingeniería basada en patrones
como técnica de diseño de software con capacidad
comprobada, en el valor de la separación de
problemas y de la modularidad eficaz como forma de
elaborar software más entendible, más fácil de probar y de recibir mantenimiento, en las
consecuencias de ocultar información como mecanismo para reducir la propagación de los
efectos colaterales cuando hay errores, en el efecto de la independencia funcional como
criterio para construir módulos eficaces, en el uso del refinamiento como mecanismo de
diseño, en una consideración de los aspectos que interfieren con los requerimientos del
sistema, en la aplicación del rediseño para optimizar el diseño obtenido y en la
importancia de las clases orientadas a objetos y de las características relacionadas con
ellos.

El modelo del diseño incluye cuatro elementos distintos. Conforme se desarrolla


cada uno, surge una visión más completa del diseño. El elemento 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. [3]
CONCLUSIONES PERSONALES

El diseño del software es sumamente importante en el ciclo de vida del mismo ya que se
especifica la estructura de todo el software; los datos, la arquitectura, módulos,
interfaces, entre otros. Un buen diseño facilitará la labor de programación y construcción
del producto final. Es necesario que antes de iniciar con el diseño se verifiquen
exhaustivamente cada uno de los requisitos planteados ya que son la base para diseñar el
software. (LUIS ENRIQUE RIVAS CHAMPALA).
Bibliografía

[1] L. M. N. y. J. S. P. F. Alonso Amo, Introducción a la Ingeniería del Software, Madrid:


Delta Publicaciones, 2005.

[2] D. Alicia, Diseño de Software, 2da Edición ed., I. C. Academy, Ed., 2015.

[3] S. IAN, Ingeniería del Software, Séptima Edición ed., MADRID: PEARSOS EDUCACION
S.A, 2005, p. 712.

[4] S. P. Roger, Ingeniería del Software, un enfoque práctico, séptima edición ed., P. R.
Vázquez, Ed., University of Connecticut, 2010.

[5] E. M. Moreira, Ciclo de Vida del Software, J. F. R. V. K. H. M. David Granados Chacón,


Ed., 2014.

También podría gustarte