INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una...

14
Sesión 4: Diseño de software INGENIERÍA DE SOFTWARE

Transcript of INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una...

Page 1: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Sesión 4: Diseño de software

INGENIERÍA DE

SOFTWARE

Page 2: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Contextualización

El diseño de un software es un procedimiento en el que se deben estipular varios

elementos antes de comenzar con el desarrollo del mismo, es decir, se tienen que crear

varios elementos importantes en los que se puede medir la efectividad o las

necesidades a cumplir para el usuario final.

Page 3: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Introducción

El diseño de software actualmente es muy importante, pues con la evolución de los

dispositivos móviles y los equipos de escritorio, las aplicaciones que se desarrollan

pueden ser más poderosas, presentar una calidad gráfica superior y un manejo de

varios procesos simultáneamente, por lo que al momento de diseñar un software se

deben considerar varios de los elementos que pueden o no afectar alguna característica

de ejecución o de procesamiento de información. Tómese en cuenta que cuando se

habla de un software debe pensarse en locaciones dentro del equipo, en las cuales se

instalarán las bibliotecas de aplicación y de ejecución de cada herramienta contando los

aspectos que interactúan directamente con el sistema operativo sin que interfieran con

sus funciones ni creen errores.

Page 4: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

El diseño del software es la parte en la que se estipulan los elementos que contendrá

la aplicación y la manera en que éstas funcionarán. El software puede desarrollarse en

el lenguaje que se desee, los más comunes son;

C#

Visual Basic.NET

ActionScript 1, 2, 3

PHP

ASP

AJAX

Etc.

Hoy en día el software que se desarrolla puede ser para el medio educativo,

entretenimiento, etc.

Diseño de software

Page 5: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Los contextos de desarrollo del software es el medio o el entorno que se le dará para la aplicación

para un usuario en específico. El contexto puede ser educación, seguridad, edición, retoque digital,

etc.

Para definir en qué entorno se utilizará la aplicación, se debe hacer un análisis adecuado para

determinar las funciones que tendrán las aplicaciones y las herramientas adicionales que se

ofrecerán.

Un contexto de desarrollo que no se estipula concretamente es un mal análisis, por lo tanto el

desarrollo puede retrasarse y tener problemas de ejecución y de compatibilidad en las plataforma

para la cual se ha desarrollado.

Contexto y aspectos clave

Page 6: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

¿Qué es la arquitectura de software?

La arquitectura de software trata de una representación que permite analizar la efectividad del diseño

de la aplicación para cumplir con lo establecido. Ésta considera alternativas arquitectónicas en una

etapa en la que los cambios pueden ser fáciles y así se pueden reducir los riesgos con la construcción

del software.

¿Por qué es importante la arquitectura?

Es importante porque presenta algunas ventajas en el desarrollo de aplicaciones y pueden ser

aprovechadas para la creación de cualquier software;

Las representaciones permiten la comunicación entre todos los elementos.

La arquitectura resalta las primeras decisiones que tendrá un efecto profundo en todo el trabajo.

Arquitectura software

Page 7: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

¿Qué es un patrón de diseño?

Son la base para buscar soluciones a problemas comunes en el de desarrollo de

software, este resulta ser la solución a un problema de diseño, también se conocen

como design patterns, también pueden crearse ámbitos referentes al diseño de

interacción e interfaces.

Los patrones de diseño no tienen un lenguaje estándar en el cual se puedan aplicar

únicamente, lo que da la libertad de utilizarlo en cualquier lenguaje de desarrollo de

aplicaciones, ya sea; Java, ASP, .NET, PHP, HTML o cualquier otro.

Patrones de diseño

Page 8: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Notaciones

Las notaciones son formas de representar las acciones y los medios con los que se

cuentan, las más importantes con las que se trabajan son;

Abstracción

Generalización

Potencia expresiva

Eficiencia

Las cuales tienes atributos específicos con los cuales se puede trabajar de una mejor

manera con un mejor detalle en las tareas y eficiencia.

Page 9: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Conclusión

La programación actualmente por ser parte importante del mundo de la

comunicación y el entretenimiento presenta herramientas con las cuales se

apoya para mejorar el software y hacerlo en un corto tiempo, por ejemplo, el

uso de los patrones ayuda a disminuir el tiempo en que se efectúa todo y

puede adaptarse el código a varias plataformas y lenguajes.

Para tener resultados positivos en la producción de un software es importante

que se diseñe una arquitectura funcional y que cubra todas las necesidades

con las cuales se ha ideado el mismo, si la arquitectura es buena, puede

ejecutarse de manera óptima en la plataforma del sistema en la que se ha

ideado.

Page 10: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Para aprender más

Notaciones

Abstracción; se considera como una característica útil de los lenguajes para describir un

sistema sin la necesidad de conocer a detalle la máquina en la que se ejecutará la

aplicación. Sus notaciones pueden ser graficas o de forma abstracta.

Generalización; estas presentan mecanismos de abstracción necesarios para soportar las

diferentes fases del ciclo de vida, éste soporte se logra con la reducción del ámbito de

aplicación o de características del sistema y se describen de una forma simple.

Potencia expresiva; éste utiliza un conjunto de conceptos característicos del dominio en el

que se trabaja. Si las notaciones con las que se describen éstos sistemas cuentan con

construcciones pueden expresar conceptos en el lenguaje que se desee, cuando un

lenguaje permite la descripción de un dominio se puede decir que cuenta con potencia

expresiva suficiente en ese dominio.

Eficiencia; sabemos que una notación debe contar con construcciones que permitan a los

compiladores generar un código ejecutable para que el programa pueda aprovechar los

atributos que ofrece la computadora.

Page 11: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Descripciones estructurales

(estática)

Las descripciones estructurales se basan en modelos informáticos, de los cuales el estático es

uno de los tres que se utilizan. En esta sección se pueden utilizar diagramas estáticos;

Diagrama de caso de uso

Diagrama de clases

Diagrama de objetos

Diagrama de componentes

Diagrama de despliegue

Estos diagramas funcionan cuando la estructura se basa en el UML, por lo que es importante

conocer los elementos que lo componen y determinar la prioridad de cada uno dentro del

proyecto que deseamos realizar.

Page 12: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Descripciones de

comportamiento (dinámica)

El comportamiento dinámico a comparación del estático, presenta movimiento y una forma en que se

expresen soluciones posibles a elementos que no se consideran para este aspecto, como se mencionó

anteriormente esto se conoce como modelos. Este caso se puede utilizar en varias situaciones, puede

ser aplicada para elementos con funciones en tiempo real o para crear estructuras un poco más

compiladas que los medios estáticos.

Algunos de los principios más importantes de este tema son;

Constituye una abstracción de la realidad

Omiten detalles no esenciales

Es sencillo de manipular que al medio original

Puede expresarse a diferentes niveles de precisión

Page 13: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación

Referencias

iKohm, Diseño de software. Consultado el 18 de jul. de 13, obtenido de:

http://www.ikohm.com/diseno_de_software.php

Cabero J., Diseño de software informático. Consultado el 18 de jul. de 13, obtenido de:

http://edutec.rediris.es/documentos/1992/2.htm

Dr. Lemus C., López P., Arquitectura de software, mucho más que un diagrama tradicional.

Consultado el 18 de jul. de 13, obtenido de: http://www.cimat.mx/~clemola/Ponencias/CECIC-

UAAgs.pdf

Arends T. Di Nardo M., Sistema de programas. Modelo dinámico. Consultado el 18 de jul. de 13,

obtenido de: http://ldc.usb.ve/~teruel/ci3711/dinam2/Sistemas.html

Page 14: INGENIERÍA DE SOFTWARE - UNID · C# Visual Basic.NET ... La arquitectura de software trata de una representación que permite analizar la efectividad del diseño de la aplicación