Ingenieria de Software Unidad 2 Diseño
Ingenieria de Software Unidad 2 Diseño
Ingenieria de Software Unidad 2 Diseño
El diseño de software, es una de las etapas que deben componer el ciclo de vida
del software, casi de una forma obligatoria, aunque algunas metodologías no le den
la importancia que requiere.
Para definir el diseño de software con una sola palabra, posiblemente Calidad sea
la indicada. Pues si realmente deseas tener un software que supere básicamente
cualquier error y que esté hecho a la perfección como el cliente le pide, el diseño de
software es fundamental. Pues en él, estaremos analizando cada una de las
especificaciones solicitadas por el cliente, además estaremos seccionando el
software, viendo sus funciones, como se mostrará en pantalla y muchas cosas más
que conlleva el diseño de software, por si pensabas que era una etapa sencilla y
que no tendría complejidad alguna.
2.1 Diseño de procesos propuestos
Metamodelo (no siempre visible), que constituye el marco para la definición de las
técnicas y metodologías soportadas por la herramienta.
Ada
Cradle (3SL)
Analysis
Cradle (3SL)
StP/UML (Aonix)
Back-end
Benchmarking
C++
Objecteering (Softeam)
Cradle (3SL)
StP/ClassCapture (Aonix)
StP/UML (Aonix)
Cartography
Client/server
Cradle (3SL)
PowerModel (IntelliCorp)
COBOL
case/4/0 (microTOOL GmbH)
Code generation
Cradle (3SL)
SILDEX (TNI)
StP/ACD (Aonix)
FOUNDATION (Accenture)
CORBA
CORBA IDL
Debugging
xSlice (Bellcore)
Distributed systems
FORTRAN
Design Maintenance System [DMS] (Semantic Designs, Inc.)
FORTRAN
Front -end
I-CASE
Informix 4GL
Java
Objecteering (Softeam)
StP/UML (Aonix)
Macintosh
Open source
ORACLE
Parallel programming
Smalltalk
UML
HAT (E2S)
Objecteering (Softeam)
ProxyDesigner (ProxySource.com)
Cradle (3SL)
Enterprise Architect 3.10 (Sparx Systems)
SmartDraw (SmartDraw.com)
StP/UML (Aonix)
El modelo de diseño:
Descomposición en subsistemas.
Diseño Arquitectónico.
El diseño de datos es la primera de las tres actividades de diseño, los datos bien
diseñados pueden conducir a una mejor estructura de programa, a una modularidad
efectiva y a una complejidad procedimental reducida. Por ejemplo: La utilización de
una lista enlazada multicircular puede satisfacer los requisitos de datos, pero puede
también conducir a un diseño de software difícil de manejar. Una organización o
estructura de datos alterna puede llevar a mejores resultados.
1.- Deben identificarse todas las estructuras de datos y las operaciones que se han
de realizar sobre cada una de ellas.
2.- Debe establecerse y usarse un diccionario de datos para definir el diseño de los
datos del programa.
3.- El diseño de datos de bajo nivel debe realizarse hasta el diseño detallado.
Diseño
De acuerdo con McGlaughlin [MCG91], hay tres características que sirven como
parámetros generales para la evaluación de un buen diseño. Estos parámetros son
los siguientes:
El diseño debe implementar todos los requisitos explícitos obtenidos en la etapa de
análisis.
El diseño debe ser una guía que puedan leer y entender los que construyen el
código y los que prueban y mantienen el software.
El tema de las interfaces hombre máquina se han configurado como una de las
áreas de investigación críticas para el desarrollo de la sociedad de la información.
No en vano, la interfaz de usuario regula la interacción entre ambos elementos del
sistema.
Esta interfaz tiene que ser amigable, la amigabilidad se refiere a su facilidad de uso.
Esa facilidad de uso es relativa al tipo de usuario; pero de una manera general
podemos decir que una interfaz es tanto más amigable cuanto más fácil de usar
resulta para una mayor proporción de usuarios de una población dada. Esta
facilidad de uso está muy relacionada con otro concepto, el de interactividad. Una
interfaz es interactiva si dialoga con el usuario, si le proporciona feedback
comunicativo.
Cualquier diseño Web parecerá muy diferente en cada uno de estos dispositivos:
claramente el WYSIWYG (lo que ves es lo que obtienes) está muerto. Cuanto más
especializado sea el dispositivo o cuanto más baja sea su gama (un PC386, por
ejemplo), más estrictos serán los requerimientos para el Web. La única manera de
hacer esto es que los diseñadores den el control y que dejen que la presentación
de sus páginas sea determinada por un conjunto de especificaciones de página y
de preferencias en el dispositivo del cliente.
Objetivos cambiantes
Una interfaz gráfica de usuario puede ser tan simple como un icono que parpadee
o tan compleja como unos grandes almacenes en Internet. En un diseño tradicional
de GUI, el diseñador puede controlar todas las peticiones del usuario. Puede
deshabilitar opciones de los menús en el estado actual, decolorándolas- si
aparecen con letra oscura, se ponen en gris claro-, y puede mostrar una ventana de
diálogo para que el usuario conteste cuestiones. En el Web, el usuario controla su
navegación por las páginas. Puede tomar “caminos” no previstos por el diseñador:
por ejemplo, pueden “saltar” a cualquier página de un sitio web desde un motor de
búsqueda sin haber pasado por la página principal.
http://unidad4-desarrollo-de-software-lisr.blogspot.mx/2013/05/46-herramientas-
case-para-el-diseno.html
https://www.fing.edu.uy/tecnoinf/mvd/cursos/ingsoft/material/teorico/is06-
DisenioIU.pdf
https://www.ecured.cu/Dise%C3%B1o_de_Interfaces_de_Usuario
https://eseida.wikispaces.com/file/view/Tema+4++Dise%C3%B1o+Arquitect%C3%
B3nico.pdf
https://es.slideshare.net/jpbthames/diseo-arquitectnico-9443843
http://www.monografias.com/trabajos102/ingenieria-del-software/ingenieria-del-
software.shtml