Object-Oriented software engineering

所需积分/C币:50 2016-05-12 13:28:46 69.59MB PDF
收藏 收藏

Ivar Jacobson-Object-oriented software engineering_ a use case driven approach-ACM Press_ Addison-Wesley Pub (1992).pdf
ACM PRESS Editor-in-Chief Peter Wegner Brown Universit Ⅰ nternational editor Dines bjorner Technical University (Europe) of denmark SELECTED TITLES Object-Oriented Reuse, Concurrency and Distribution Colin Atkinson Advances in Database Programming Languages Frangois Bancilhon : t and Peter Buneman(eds) Software Reusability(Volume 1: Concepts and Models) Ted Biggerstaff and Alan Perlis(eds) Software Reusability(Volume 2: Applications and Experience) Ted Biggerstaff and Alan Perlis (eds) Object-Oriented Concepts, Databases and Applications Won Kim and Frederick h. Lochousky (eds) Distributed Systems Sape Mullender (ed) The Oberon System: USer Guide and Programmer's manual Martin reiser Programming in Oberon Steps Beyond Pascal and Modula Martin Reiser and niklaus wirth The Programmer's Apprentice Charles rich and Richard C. Waters Instrumentation for Future Parallel Computer Systems Margaret Simmons, Ingrid Bucher and Rebecca Koskela(Eds) User Interface Design Harold Thimbleby Project Oberon: The Design of an Operating System and Compiler Niklaus Wirth and Jurg Gutknecht Object- Oriented Software Engineering n A Use Case Driven Approach Ivar Jacobson Magnus Christerson Patrik Jonsson Gunnar Overgaard Objective Systems acm RESS ADDISON-WESLEY PUBLISHING COMPANY Wokingham, England Reading, Massachusetts. Menlo Park, California New York Don Mills, Ontario. Amsterdam Bonn Sydney Singapore Tokyo. Madrid San Juan. Milan Paris Mexico City. Seoul. Taipei Copyright C 1992 by the ACM Press, A Division of the Association for Computing Machinery, Inc (ACM) All rights rest d No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, electronic, mechanical, photocopying, recording or otherwise, without prior written permission of the publisher The programs in this book have been included for their instructional value been tested with care but are not guaranteed for any particular purpose The publisher does not offer any warranties or representations, nor does it accept any liabilities with Many of the designations used by manufacturers and sellers to distinguish their products a respect to the programs are claimed as trademarks The publisher has made every attempt to supply trademark information about manufacturers and their products mentioned in this book. a list of the trademark designations and their owners appears below Cover designed by Chris Ele by The Riverside Printing Co(Reading) Ltd Printed in the United States of America ISBN0-201-544350 First printed 1992 ritish Library Cataloguing in Publication Data a catalogy the british Lib Lib Cataloging Publication Data available Trademark not Common View IM is a trademark of Glockenspiel Ltd DoD. Us Government Adali demark of the ada joint EiffelIM is a trademark of Interactive Software Engineering HOODIM is a trademark of HOOD working group Inter View M is a trademark of Glockenspiel Ltd KEETM is a trademark of Intellicorp LOOPSTM, SMALLTALKTM, SMALLTALK-78M and SMALLTALK-80M are trade Corporation MacAppIM, Macintosh 'M and Macos M are trademarks of Apple Computer Inc MS-DOSIM and Windows M are trademarks of Microsoft Corporation NeWSM is a trademark of Sun microsystems Inc Newwave NeXTStep Mis a trademark of NeXt corp Objective-CIM is a trademark of Stepstone CoIp Objectory M is a trademark of Objective Systems SF AB PROLOGIM is a trademark of Expert Systems International TMSIM is a trademark of Texas Instruments Inc UNIXIM is a trademark of aT&I Corporation X-WindowsiM is a trademark of mit Foreword var Jacobson is in my opinion one of the foremost methodologists in the field of software engineering. I take great pleasure in writing this, because he is also a close personal friend He brings a refreshingly pragmatic point of view to a discipline that often seems be so abstract and arcane as to be hopelessly remote from the real world of 'blue collar programmers. His methodology is based on some really innovative ideas about modeling the software process, presented within a tried and proven engineering framework. It brings to the task of analyzing designing and constructing complex software intensive products the same disciplined approach that is to be found in other branches of engineering Along with many others I have urged Ivar for some time to publish his methodology in a textbook, so that it would be accessible to a arger audience. I believe that the concepts in Objectory the first comprehensive object-oriented process for developing large scale industrial systems, are important and should get wider exposure This book represents over 20 years of experience building real software based products and a great deal of serious thinking about how such systems should be built. If you have any interest at all in software you will enjoy reading it Objectory stands out as being a truly object-oriented methodology in which both the process and the methodology are themselves represented as objects while some may find this idea of a reflective or 'metaarchitecture to be rather exotic, it is in fact intensely practical and absolutely essential. It makes Objectory an extensible methodology which can be specialized to both the organization and the application domains. Simply put, Objectory provides a software process for building not just software, but also other more specialized software processes Another key innovation in Objectory is the concept of use cases which has now been proved effective in a number of real-world projects Use cases provide the needed linkage between requirements vi Foreword development, testing and final customer acceptance This idea, which : s originated in Ivars work on the AXE switch, has been generalized so that it can be applied in application domains as diverse as command and control and business information systems Use cases provide a concrete representation of software require ments,which allows them to be both formally expressed and systematically tested. Changes in requirements map directly onto changes in the set of use cases. In this way Objectory provides a solid methodological foundation for rapid prototyping and other forms of incremental software development. Objectory enables managers to move beyond labour intensive hand assembly of software systems, and allows them to transform their organizations into:I highly automated factories to manufacture software from reusable components Many feel that we are in the midst of a software crisis, and i agree High g -q uality software has b f the sough ht after commodities in the modern world We just cant seem to get enough on time and on budget, to meet the demand. This book will help you overcome the software crisis in your own organization, b showing you how to make software construction into a reliable and predictable engineering activity One of the more profound insights offered by modern software engineering is that change is inevitable, and that software must be designed to be flexible and adaptable in the face of changing requirements. Objectory, with its reflective architecture, goes one step further, and provides an extensible methodology which can itself adapt to shifts in the business climate or the demands of new technologies No static text can ever capture all the nuances of such a dynamic software entity but this one comes very close I strongly recommend it, not only for software managers and designers, but for anyone who wishes to understand how the next generation of software systems should be built Dave thomas F brewer d Ivar jacobson has taken the time to create a book that is certain to become essential reading for software developers and their managers In this book, jacobson establishes a new direction for the future of software engineering practice It is a thoughtful and thorough presentation of ideas and techniques that are both solidly proven and, simultaneously, at the leading edge of software engineering methodology. Jacobson is simply a thinker who has been ahead of his time in creating usable methods for building better, more reliable and more reusable large software systems Despite the title, this is not 'another book on object-oriented analysis and design, nor yet another standard reworking on the word-of-the-week. Once, of course, the word-of-the-week in software engineering was ' modular′ later it was‘ structured,′ and now,as every programmer or software engineer who reads or attends conferences knows it is 'object-oriented When the word-of-the-week was still 'structured, and i wrote the first edition of Structured Design, the very idea of systematic methods for software development was radical, Software engineering was in its infancy and when i introduced data flow diagrams and structure charts, few recognized either the need for notation or the benefits of well-conceived modeling tools for analysis and design But things have changed Now, new methodologies are created over cocktails, and books spin out of word-processors so fast that revised or corrected editions appear almost before the original has reached the bookstores. Since nearly everyone now recognizes that a methodology must be supported by a notation, notations proliferate A new object-oriented design notation can be churned out over a weekend so long as the major objective is simply squiggles and icons with a unique 'look and feel, and issues of usability and power in modeling are considered unimportant And here we have yet another notation supporting one more methodology quite vii Foreword It is true that the serious reader will have to surmount both new terminology and new notation to get to the marrow, but this book is different It was not ved and written overnight. The methodology it describes has been in use for years to design and build numerous software systems, and its notation has evolved slowly rom both manual and CASE-supported application It is not the work of a writer or consultant with a long booklist, but comes from a practicing software engineer and leader in software engineering g who has been doing large-scale object-oriented development for longer than most people even knew that objects existed. Throughout this period the ideas and methods have been honed by the grir of building software and refined by thoughtful reflection and analysis What we have here is an approach to object-oriented analysis and design that is fundamentally different from most of the highly touted and more visible methods that clutter the landscape. i believe it is an approach of proven power and even greater promise The real power of this approach rests not only in the wealth of experience on which it is based but also in the way in which it starts from a different point of departure and builds an entirely different perspective on how to organize software into objects. Jacobson does not build naive object models derived from simplistic reinterpretations of data modeling and entity object relationship models. He starts from an entirely different premise and set of assumptions uniquely tailored to creating robust, sophisticated object structures that stand the test of time His approach centers on an analysis of the ways in which a system is actually used, on the sequences of interactions that comprise the operational realities of the software being engineered. Although it ully incorporates the conceptual constructs, the application and enterprise entities that undergird our thinking about software systems, it does not force the entire design into this rigid patter The result is a more robust model of an application, leading to software that is fundamentally more pliant, more accommodating to extensions and alterations and to collections of component parts that are b y design, more reusable At the heart of this method is a brilliantly simple notion: the use A use case, as the reader will learn, is a particular form or pattern or exemplar of usage, a scenario that begins with some user of the system initiating some transaction or sequence of interrelated events By organizing the analysis and design models around user interaction and actual usage scenarios, the methodology produces systems that are intrinsically more useable and more adaptable to changing usage. Equally important, this approach analyzes each use case into its constituent parts and allocates these systematically to Fc software objects in such a way that external behavior and internal structure and dynamics are kept apart, such that each may be altered or extended independently of the other This approach recognizes not one kind of object, but three, which separate interface behavior from underlying entity objects and keep these independent of the control and coordination of usage scenarios Using this approach, it is possible to construct very large and complex designs through a series of small and largely independent analyses of distinct use cases. The overall structure of the problem and its solution emerges, step-by-step and piece-by-piece, from this localized analysis In principle- and in practice this methodology IS one whose power increases rather than diminishes with the size of the system being developed Use case driven analysis and design is a genuine breakthrough, but it o well-grounded in established fundamentals and connected to proven ideas and traditions in software engineering in general and object-c lopment in particular. It echoes and extends the popular model-view-controller paradigm of object- ted programming. It is clearly kin to the event-driven analysis and design approaches of Page-Jones and Weiss, as well as to the widely practiced event-partitioning methods pioneered by Mcmena- min and almer On this ground, Ivar Jacobson has built a work that is nothing short of revolutionary. Rich with specific guidelines and accessible examples, with completely detailed case studies based on real-world projects, this book will give developers of object-oriented software material that they can put into practice immediately. It will also challenge the reader and, I am confident, enrich the practice of our rofession for years to come Larry L Constantine

试读 127P Object-Oriented software engineering
立即下载 低至0.43元/次 身份认证VIP会员低至7折
riverside123 英文版的影印版,还挺清晰的。毕竟有点年头了,能看到也不容易了。感谢分享。
JohnIsChen 找了超久,感谢分享
Object-Oriented software engineering 50积分/C币 立即下载
Object-Oriented software engineering第1页
Object-Oriented software engineering第2页
Object-Oriented software engineering第3页
Object-Oriented software engineering第4页
Object-Oriented software engineering第5页
Object-Oriented software engineering第6页
Object-Oriented software engineering第7页
Object-Oriented software engineering第8页
Object-Oriented software engineering第9页
Object-Oriented software engineering第10页
Object-Oriented software engineering第11页
Object-Oriented software engineering第12页
Object-Oriented software engineering第13页
Object-Oriented software engineering第14页
Object-Oriented software engineering第15页
Object-Oriented software engineering第16页
Object-Oriented software engineering第17页
Object-Oriented software engineering第18页
Object-Oriented software engineering第19页
Object-Oriented software engineering第20页

试读结束, 可继续阅读

50积分/C币 立即下载 >