Metodologia Iconix 1-2-3

  • View
    219

  • Download
    5

Embed Size (px)

Transcript

1

Casos de Uso Guiados Por Modelado de Objetos Con UML.

Doug Rosenberg y Matt Stephens

2

Use Case Driven Object Modeling with UML: Theory and Practice Copyright 2007 by Doug Rosenberg and Matt Stephens All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-774-3 ISBN-10 (pbk): 1-59059-774-5 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Jonathan Gennick Technical Reviewer: Dr. Charles Suscheck Editorial Board: Steve Anglin, Ewan Buckingham, Gary Cornell, Jason Gilmore, Jonathan Gennick, Jonathan Hassell, James Huddleston, Chris Mills, Matthew Moodie, Dominic Shakeshaft, Jim Sumser, Matt Wade Senior Project Manager: Tracy Brown Collins Copy Edit Manager: Nicole Flores Assistant Production Director: Kari Brooks-Copony Senior Production Editor: Laura Cheu Compositor: Linda Weidemann, Wolf Creek Press Proofreader: Nancy Riddiough Indexer: Toma Mulligan Artist: Kinetic Publishing Services, LLC Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax 201-348-4505, e-mail ordersny@springer-sbm.com, or visit http://www.springeronline.com. For information on translations, please contact Apress directly at 2560 Ninth Street, Suite 219, Berkeley, CA 94710. Phone 510-549-5930, fax 510-549-5939, e-mail info@apress.com, or visit http://www.apress.com. The information in this book is distributed on an as is basis, without warranty. Although every precaution has been taken in the preparation of this work, neither the author(s) nor Apress shall have any liability to any person or entity with respect to any loss or damage caused or alleged to be caused directly or indirectly by the information contained in this work.

3

The UML model and source code for the example use cases in this book are available to readers at http://www.apress.com and http://www.iconixprocess.com/InternetBookstore.

4

Para Rob, quien tiene el futuro mas brillante lo s. Mantn el baln donde se hacen os puntos, Y buenas cosas seguirn pasando. Doug Rosenberg Para Michelle, por su inacabable paciencia y apoyo. Matt

5

CONTENIDO

Acerca de los autores. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .XV Sobre el revisor tcnico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XVII Agradecimientos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XIX Prefacio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .XXI Introduccin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXVII CAPITULO I Introduccin al Proceso ICONIX. . . . . . . . . . . . . . . . . . . . . . . . .1

PARTE 1CAPITULO 2 CAPITULO 3 CAPITULO 4

C C

APITULO 1

Definicin de los

Introduccin al Proceso ICONIXPARTE 2 Anlisis, Diseo Arquitectura TcnicaCAPITULO 5 CAPITULO 6 CAPITULO 7

Requisitos

Modelo de Dominio. . . . . . . . . . . . . . . . . . . . . . . . . . . . .23 Modelo de Casos de Uso.. . . . . . . . . . . . . . . . . . . . . . . .49 Revisin de Requisitos. . . . . . . .. . . . . . . . . . . . . . . . . . . .83

Conceptual yAnlisis de Robustez. . . . . . . . . . . . . . . . . . . . . . . . . . . .101 Revisin Preliminar del Diseo. . . . . . . . . . . . . . . . . . . 143 Arquitectura Tcnica. ... . . . . . . . . . . . . . . . . . . . . . . . 159

s

PARTE 3CAPITULO 8 CAPITULO 9 CAPITULO 10

Diseo y CodificacinDiagramas de Secuencia. . . . . . . . . . . . . . . . . . . . . . .185 Revisin Crtica del Diseo. . . . . . . . . . . . . . . . . . . . . . 233 Implementacin: Paso del Diseo detallado al Cdigo. . . . . . . ... . . . . . . . ... . . . . . . . ... . . . . . . . . . 2576

CAPITULO 11

Revisin del cdigo y Actualizacin del modelo. . . . . . . . . . . . . . . . . . . . . . 297

PARTE 4CAPITULO 12 329 CAPITULO 13 373

Pruebas y Trazabilidad de RequisitosDiseo guiado por pruebas. . . . . . . . . . . . . . . . . . . . . Atendiendo Requisitos. . . . . . . . . . . . . . . . . . . . . . . .

PARTE 5CAPITULO 14 395 CAPITULO 15 . 409

ApndicesQue hay de nuevo en UML 2.0. . . . . . . ... . . . . . . . . . Spring Bin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . . .

INDICE. . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . . . . . . . . . . . . . . 425

7

Un proceso es mucho ms grande Y el otro demasiado pequeo Y el completo UML que OMG te da Es incomprensible para todos. . . (Canta a la meloda de "Go Ask Alice" de Jefferson Airplane)

En teora, todos y cada uno de los aspectos de UML es potencialmente til, pero

en la prctica, nunca parece haber suficiente tiempo para hacer el modelado, anlisis y diseo. Siempre hay presin por parte de la administracin para saltar al cdigo e iniciar la codificacin de forma prematura, porque los avances en proyectos de software tienden a medirse por la cantidad de cdigo existente. El proceso ICONIX, tal y como se muestra en la figura de apertura de este captulo, es minimalista, tiene un enfoque racionalizado que se centra en esa zona que se encuentra entre los casos de uso y el cdigo. Su nfasis est en lo que tiene que pasar en ese momento del ciclo de vida que se est comenzando: donde ya se tiene un inicio en algunos casos de uso, y es momento de hacer un buen anlisis y diseo.CUANDO USAR UN LIBRO DE COCINA (RECETARIO)

8

Hay una creciente idea equivocada en el desarrollo de software y es que los libros de de desarrollo de software con enfoques tipo recetario no funcionan. Estamos de acuerdo con esto hasta cierto punto porque el anlisis y la programacin son enormes, campos muy complejos, y el nmero de diferentes tipos de proyectos de software es aproximadamente igual al nmero de proyectos de software. Sin embargo, creemos firmemente que el anlisis y el diseo pueden-y de hecho deberan ser una secuencia de pasos repetible como los de un recetario. Estos pasos no deben ser grabados sobre una piedra (es decir pueden y deben ser adaptados), pero ayuda siempre tenerlos ah. En un mundo lleno de dudas e incertidumbre, es bueno tener una clara y definida secuencia de pasos y respuestas al Cmo hacer? para poder empezar. Mucho antes, en los das del pre-UML cuando Doug empezaba a ensear un modelo de enfoque unificado de Booch / Rumbaugh / Jacobson (alrededor de 1992-1993), uno de sus primeros clientes de formacin le anim a escribir un libro de cocina porque a mi gente le gusta seguir los enfoques de los libros tipo recetario. Aunque muchos han afirmado que es imposible codificar prcticas de anlisis y diseo orientado a objetos (OOAD) en un simple y repetible conjunto de pasos (y probablemente no es posible en su totalidad), ICONIX posiblemente se aproxime lo ms cerca a un libro tipo recetario para OOAD. Si bien es cierto an hay margen significante para la flexibilidad con el enfoque (por ejemplo, agregando diagramas de estado o actividad), ICONIX establece un procedimiento sencillo y un conjunto mnimo de pasos que suelen dar lugar a muy buenos resultados. Estos resultados han demostrado ser coherentes y repetibles en los ltimos 12 aos.

El proceso ICONIX en teora.En esta seccin proporcionamos una visin general del proceso de ICONIX, mostrando cmo todas las actividades funcionan juntas. Empezaremos con una revisin de muy alto nivel de opinin (una especie de un panorama general de otro panorama general) y luego examinaremos cada una de las actividades con ms detalle. Mientras avance a travs de la visin general, que le proporcionaremos remtase al diagrama del proceso que se halla al inicio de este captulo, para ver cmo encaja cada parte en el proceso general.

Descripcin: De los casos de uso al cdigo fuente.El diagrama al inicio de este captulo le ofrece una visin general del proceso ICONIX. (Vamos a repetir este diagrama al inicio de cada captulo, con la seccin correspondiente del diagrama de color rojo.) Como se puede ver en el diagrama, ICONIX se divide en flujos de trabajo estticos y dinmicos que son altamente iterativo: puede ir a travs de una iteracin de toda el proceso para un pequeo lote de casos de uso (tal vez un par de paquetes vlidos que no es gran cantidad teniendo en cuenta que cada caso de uso es tan solo un par de prrafos), todo el camino desde el cdigo fuente hasta las pruebas unitarias. Por esta razn, ICONIX se adecua perfectamente a los proyectos giles, donde se necesita una rpida retroalimentacin en factores tales como los requisitos, el diseo, y las estimaciones. Vayamos a travs de los pasos que cubriremos en el transcurso de este libro. Los elementos en rojo corresponden a los subttulos en esta. Al igual que con cualquier otro proyecto, en algn momento a principios de comenzar a explorar y definir los requisitos. Tenga en cuenta que dentro de cada fase hay un grado de paralelismo, de modo que todas las actividades en la fase de definicin de requisitos se entrelazan y se superponen hasta que estn listas.

9

Nota Hay diferentes tipos de requisitos (por ejemplo, los requisitos no funcionales, tales como la escalabilidad). Sin