Está en la página 1de 35

Tema V: Modelado avanzado en el desarrollo de software

Universidad Internacional de La Rioja


Índice

► Modelado avanzado de requisitos


► Modelado estático avanzado
► Modelado dinámico avanzado
► Diseño modelado con prototipos

2
Índice

3
Modelado avanzado en el desarrollo de software
v Las fases de un proyecto de software, independientemente de la
metodología son:

• Requisitos

• Diseño

• Construcción

• Pruebas

v Podemos a utilizar diferentes modelos para esas fases

v En muchos casos haremos uso de UML https://www.omg.org/spec/uml/

4
Modelado avanzado de requisitos
v La obtención de requisitos es la 1ª etapa de todo proyecto software

v Es la más critica a realizar en todo proyecto de software

v A pesar de la existencia de herramientas que facilitan el modelado de


sistemas, el nº de proyectos que fracasan es muy alto

v Uno de los principales problemas suele ser la falta de comunicación entre


clientes y desarrolladores

5
Modelado avanzado de requisitos

6
Modelado avanzado de requisitos

v Un requisito es un atributo necesario de un sistema

v Constituyen la base fundamental para el trabajo de desarrollo

v Indica una capacidad, característica o factor de calidad del sistema que


aporta valor y utilidad para el cliente o usuario final

v Los requisitos pueden cambiar a lo largo de un proyecto de software. Es


importante obtenerlos (elicitación de requisitos) y darles seguimiento
(gestión de requisitos).

7
Modelado avanzado de requisitos
v Los requisitos deben ser identificados, elaborados y documentados en
función de un número de factores:
§La audiencia a la que va dirigida
§El nivel de avance en el que se encuentre el proceso de desarrollo
§El tipo de capacidad o restricción que se desea documentar, etc.

8
Modelado avanzado de requisitos

v Existen muchas taxonomías de requisitos.

v Desde el punto de vista de la funcionalidad ofrecida podemos identificar


niveles diferenciados en los requisitos de software.

v En un primer nivel:

§ Negocio. Son el origen de todo proyecto

§ Usuario. Expresan las necesidades de clientes y usuarios

v En un segundo nivel:

§ Funcionales. Detallan el comportamiento esperado del sistema

§ No funcionales. Limitaciones sobre servicios o funciones que ofrece el sistema

9
Modelado avanzado de requisitos

v Los requisitos funcionales están relacionados con qué debe hacer el


sistema, mientras que los no funcionales expresan cómo debe hacerlo

v Ejemplo: Supongamos que estamos desarrollando un nuevo sistema de


videoconferencia sobre IP

Requisitos funcionales Requisitos no funcionales


▸ Agregar un participante ▸ Calidad del audio y del vídeo
▸ Contar participantes ▸ Confiabilidad del sistema
▸ Expulsar a un participante ▸ Disponibilidad del sistema
▸ Bloquear la entrada a nuevos participantes ▸ Facilidad de uso
▸ Silenciar el sonido ▸ Coste de desarrollo

10
Modelado avanzado de requisitos
v Una posible clasificación de requisitos no funcionales:

§ Producto. Restringen el comportamiento del software en cuanto a rendimiento, fiabilidad,


seguridad o usabilidad

§ Organización. Derivados de las propias políticas y procedimientos de la organización

§ Externos. Tienen que ver con aspectos regulatorios, legislativos o de tipo ético

11
Modelado avanzado de requisitos
v La ISO 830-1998 establece las características de un buen requisito:

§ Completo § Trazable

§ Correcto § Modificable

§ Comprensible § Localizable

§ Necesario § Independiente del diseño

§ Realizable § No redundante

§ Conciso § Escrito de forma estándar

§ No ambiguo § Exentos de formas de excepción

§ Consistente § Priorizado

§ Verificable

12
Modelado avanzado de requisitos - Técnicas

v Contexto individual:

§ Entrevistas

§ Observación directa

v Contexto grupal:

§ Etnografía. Análisis del comportamiento y de la manera de operar

§ Workshops. Reuniones colectivas

§ Focus group. Consulta a usuarios finales

§ Cuestionarios

§ Brainstorming

§ Design Thinking

17
Modelado avanzado de requisitos - Técnicas

v Contexto de las cosas:

§ Análisis de interfaces

§ Análisis de la documentación

§ Casos de uso y escenarios

§ Prototipos

§ Ingeniería inversa

§ Reutilización de requisitos

18
Modelado avanzado de requisitos

v Con UML somos capaces de modelar los requisitos funcionales del sistema

§ Podemos usar los diagramas de Casos de Uso.

§ Actor

§ Use Case

§ Use

§ Extend

§ Include

§ Pero no son suficientes, se podrían complementar con diagramas de actividad, de


secuencia y/o de estados

19
Modelado avanzado de requisitos

Identificador Código identificativo del caso de uso

Nombre Nombre del requisito funcional

Descripción Descripción de la funcionalidad del caso de uso

Precondición Precondición del caso de uso

Postcondición Postcondición del caso de uso

Actores
Paso Acción
1
Secuencia Normal
2

Paso Acción
1
Secuencia alternativa
2

Paso Acción
Excepciones
1
Importancia Sin importancia, importante, vital

Urgencia Puede esperar, hay presión, inmediatamente

Observaciones Comentarios adicionales

20
Modelado avanzado de requisitos

21
Modelado estático avanzado

v UML nos ofrece varios diagramas para poder mostrar los aspectos estáticos
(independientes del tiempo). Los más utilizados son:

§ Diagramas de clases

§ Diagramas de componentes

§ Diagramas de objetos

22
Modelado estático avanzado

v El modelado de clases es una pieza importante de comunicación entre


analistas, diseñadores y programadores para entender:

§ Que entidades son consideradas

§ Como están relacionadas entre si

§ De qué manera se van a comunicar

v Modelo conceptual (análisis) vs modelo de software (diseño)

§ Clases correspondientes a conceptos del dominio del negocio del sistema

§ Clases correspondientes a conceptos de la plataforma de desarrollo elegida para


su implementación

23
Modelado estático avanzado

24
Modelado estático avanzado

v Asociación reflexiva o recursiva

§ Los dos extremos de la asociación están unidos a la misma clase

§ Los nombres de rol son obligatorios, para poder distinguir los dos extremos de la
asociación

§ Una asociación reflexiva no es simétrica: Los extremos son distinguibles, aunque la


asociación quiera significar equivalencia: es-amigo-de, es-igual-a

25
Modelado estático avanzado

v Clase asociación

§ Es una asociación entre dos clases

§ Tiene las propiedades propias de una clase y una asociación

§ Tiene un único nombre al tratarse de un elemento único

26
Modelado estático avanzado

v Asociación n-aria

§ Asociación que enlaza n clases

§ No permite especificar ni la dirección del nombre, ni la navegabilidad, ni las


asociaciones de agregación

§ Permite las clases asociación

§ Muy poco utilizada

27
Modelado dinámico avanzado

v Para implementar el sistema también es necesario modelar su


comportamiento

v UML ofrece varios modelos dinámicos, los más destacados:

§ Diagramas de interacción
§ Diagramas de secuencia
§ Diagramas de actividad
§ Diagramas de estado

v Elementos que forman parte de la vista dinámica del sistema:

§ Ley de Demeter
§ Creación y destrucción de objetos
§ Polimorfismo de mensajes

28
Modelado dinámico avanzado
v Ley de Demeter

§ Referencia clave para entender cómo se realiza la comunicación vía mensajes


entre los objetos que constituyen el sistema

§ ¿A qué instancias puedo enviar mensajes una instancia (objeto)?

o A una instancia conectada mediante un enlace navegable (instancia de


asociación de la clase)
o A una instancia recibida como parámetro en la activación
o A una instancia creada localmente en la ejecución, o variable local
o A mí misma, el emisor del mensaje (distinto a la asociación reflexiva)

29
Diseño modelado con prototipos

v Fundamental durante el diseño de cualquier tipo de aplicación con interfaz


gráfica de usuario

v Su utilidad se centra en la evaluación de la experiencia de usuario

v Se distinguen varios tipos de prototipos según el grado de conformidad o


fidelidad con el diseño final:

S k et ch Wiref ra m e M o ck u p P ro t o t ip o
Arquitectura Arquitectura de Interacción
Diseño visual
de información información funcional

30
Diseño modelado con prototipos

v Sketch o Boceto: Primeras ideas

v Útiles porque permiten evaluar un gran número de alternativas de manera rápida,


sencilla y económica, y permite que tanto el analista como el usuario se dejen llevar por
su creatividad en un proceso de interacción muy ágil

https://onextrapixel.com/40-brilliant-examples-of-sketched-ui-wireframes-and-mock-ups/

31
Diseño modelado con prototipos

v Wireframes

v Ilustraciones bidimensionales de la interfaz de una página o aplicación que se centra


específicamente en la asignación de espacio y priorización del contenido, las

funcionalidades disponibles y los comportamientos deseados

https://www.lucidchart.com/pages/templates/wireframe

32
Diseño modelado con prototipos

v Mockups o maquetas

v Representación más avanzada


desde el punto de vista gráfico y
comunicativo

https://creately.com/diagram/example/gsy8pdq47/UI%20Mockups%20Example%20-%20Sliders

33
Diseño modelado con prototipos

v Prototipos interactivos

v Representaciones preliminares muy detalladas del resultado final

v Muy útiles para evaluar la interacción del usuario con el producto

http://www.protoshare.com/features/examples/

34
Diseño modelado con prototipos
v Herramientas de prototipado y usabilidad web

v Sketchs, mockups, wireframes y prototipos

v Examples of sketched UI wireframes and mock-ups

v Mobile app and website wireframe templates

v Diseño de interfaces

v Examples of Wireframes and Mockups Sketches

v Examples of Web and Mobile Wireframe Sketches

v Web and mobile app wireframe examples

v Examples of Wireframes in Web Design

v Wireframe Templates

v Interactive Prototypes with Marvel

v Demos created with Proto.io

v Demos with Fluid

35
Diseño modelado con prototipos
v Herrramientas de prototipado:

q Sketch https://www.sketch.com/

q Figma https://www.figma.com/

q Adobe XD https://www.adobe.com/es/products/xd.html

q Invision studio https://www.invisionapp.com/studio/learn/welcome-to-invision-studio

q Axure RP https://www.axure.com/

q Marvel https://marvelapp.com/

q Balsamiq https://balsamiq.com/

q UXPin https://www.uxpin.com/

q Justinmind https://www.justinmind.com/home-a

q Proto.io https://proto.io/

q MockFlow https://www.mockflow.com/

q Moqups https://moqups.com/es/

q Fluid UI https://www.fluidui.com/

36
Diseño modelado con prototipos

v Herramientas de prototipado avanzadas:

q Principle. Solo para MAC. https://principleformac.com/

q Flinto https://www.flinto.com/

q FramerX https://www.framer.com/prototyping/

q Supernova studio https://supernova.io/

q Origami https://origami.design/

q Protopie https://www.protopie.io/

q Webflow https://webflow.com/

v Sitios web sobre herramientas de prototipado

q https://uxtools.co/tools/design/

37
Dudas

38
www.unir.net

También podría gustarte