Systems Analysis and Design in a Changing World, 6th Edition

Slides:



Advertisements
Similar presentations
Chapter 11 Designing the User Interface
Advertisements

Object-Oriented Analysis and Design
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Robert B. Jackson Brigham Young University John W. Satzinger
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, Fourth Edition
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 5: Restaurant.
© 2005 Prentice Hall8-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
ASP.NET Programming with C# and SQL Server First Edition
Systems Analysis and Design in a Changing World, 6th Edition
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Systems Analysis and Design in a Changing World, 6th Edition
Object-Oriented Analysis and Design
Chapter 7: The Object-Oriented Approach to Requirements
The Design Discipline.
SA Capstone Requirements and Design Week 6 SYST Winter 2014
The Object Oriented Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, 6th Edition
Introduction to Sequence Diagrams
1 SA Capstone Requirements and Design Week 6 SYST Winter 2015 Some slides adapted from: Systems Analysis and Design in a Changing World, 6th Edition,
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
12 Systems Analysis and Design in a Changing World, Fifth Edition.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Systems Analysis and Design in a Changing World, 6th Edition 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH Chapter 11 SATZINGER.
Systems Analysis and Design in a Changing World, 6th Edition
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Chapter 9 Moving to Design
SWE © Solomon Seifu ELABORATION. SWE © Solomon Seifu Lesson 10 Use Case Design.
Copyright 2002 Prentice-Hall, Inc. Chapter 2 Object-Oriented Analysis and Design Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH SATZINGER.
GRASP: Designing Objects with Responsibilities
2 Object-Oriented Analysis and Design and the Unified Process Objectives  Explain the purpose and objectives of object- oriented design  Develop design.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
1 ITEC 2010 Chapter 9 – Design The Structure Chart Structure chart –A hierarchical diagram showing the relationships between the modules of a.
Systems Analysis and Design in a Changing World, 6th Edition
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Use Case Controller System sequence diagram (SSD) shows input messages from external actors within use case Only indicates that messages go to system Use.
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
12 Chapter 12: Advanced Topics in Object-Oriented Design Systems Analysis and Design in a Changing World, 3 rd Edition.
Systems Analysis and Design in a Changing World, Fourth Edition
Object-Oriented Programming © 2013 Goodrich, Tamassia, Goldwasser1Object-Oriented Programming.
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH From.
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
Systems Analysis and Design in a Changing World, 6th Edition
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
11. Chapter 11: The Object-Oriented Approach to Design: Use Case Realization Systems Analysis and Design in a Changing World, Fourth Edition.
11 Systems Analysis and Design in a Changing World, Fifth Edition.
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
 Sequence Diagrams Introduction.  Sequence Diagrams  Review Schedule Sheridan.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Object-Oriented Analysis and Design
Systems Analysis and Design in a Changing World, 6th Edition
The Object Oriented Approach to Design
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Analysis models and design models
SA Capstone Requirements and Design Week 6 SYST Winter 2015
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Presentation transcript:

Systems Analysis and Design in a Changing World, 6th Edition INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH SATZINGER | JACKSON | BURD Chapter 11 Systems Analysis and Design in a Changing World, 6th Edition

Object-Oriented Design: Use Case Realizations Chapter 11 Introduction to Systems Analysis and Design: An Agile, Iteractive Approach 6th Ed Satzinger, Jackson & Burd

Introduction to Systems Analysis and Design, 6th Edition Chapter 11 Outline Detailed Design of Multilayer Systems Use Case Realization with Sequence Diagrams Designing with Communication Diagrams Updating and Packaging the Design Classes Design Patterns Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Learning Objectives Explain the different types of objects and layers in a design Develop sequence diagrams for use case realization Develop communication diagrams for detailed design Develop updated design class diagrams Develop multilayer subsystem packages Explain design patterns and recognize various specific patterns Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Overview Chapter 10 introduced software design concepts for OO programs, multi-layer design, use case realization using the CRC cards technique, and fundamental design principles This chapter continues the discussion of OO software design at a more advanced level Three layer design is demonstrated using sequence diagrams, communication diagrams, package diagrams, and design patterns Design is shown to proceed use case by use case, and within each use case, layer by layer The method used to extend the process of detailed design is called use case realization Use case realization: the process of elaborating the detailed design with interaction diagrams for a particular use case

Detailed Design of Multilayer Systems CRC Cards focuses on the business logic, also known as problem domain layer of classes This chapter describes in depth the detailed design of all three layers, include view layer, business logic/problem domain layer, and data access layer Questions that come up include How do objects get created in memory? How does the user interface interact with other objects? How are objects handled by the database? Will other objects be necessary? What is the lifespan of each object?

Object-Oriented Program Flow Three Layer Architecture Systems Analysis and Design in a Changing World, 6th Edition

Design Patterns Design Pattern—standard design techniques and templates that are widely recognized as good practice Design patterns have become popular because they can speed OO design work For common design/coding problems, the design pattern suggests the best way to handle the problem. Design patterns became widely accepted after the publication of Elements of Reusable Object-Oriented Software,(1996) by (the “Gang of Four”) They are written up in design pattern catalogs/references. Include: Pattern name Problem that requires solution The pattern that solves the problem An example of the pattern Benefits and consequences of the a pattern

Introduction to Systems Analysis and Design, 6th Edition Design Patterns The first example of a design pattern shown is the Controller Pattern (use case controller) Problem is deciding how to handle all of the messages from the view layer to classes in the problem domain layer to reduce coupling Solution is to assign one class between the view layer and the problem domain layer that receives all messages and acts as a switchboard directing messages to the problem domain Use case controller also contain logic that controls the flow of execution for the use case We should define a controller class for each use case A use case controller is artificial class created by the designer Artifact classes are needed to execute the use case but are not based on domain model classes Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Controller Pattern First step toward multilayer architecture More design patterns are at the end of the chapter Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Use Case Realization with Sequence Diagrams Use case realization—the process of elaborating the detailed design of a use case with interaction diagrams Two types of interaction diagrams UML sequence diagram UML communication diagram Sequence diagrams(use case realization sequence diagrams), extend the system sequence diagram (SSD) to show: View layer objects Domain layer objects (usually done first) Data access layer objects Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Start with System Sequence Diagram (SSD) Use case Create customer account Used to document the inputs to and outputs from the system for a single use case

Sequence Diagram to show View Layer and Part of Problem Domain Layer After the customer object is created ,it has the responsibility of saving itself to the database Systems Analysis and Design in a Changing World, 6th Edition Activation lifeline: the duration of the method’s execution © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Notes of Expanded Sequence Diagram This is a two layer architecture, as the domain class Customer knows about the database and executes SQL statements for data access Three layer design would add a data access class to handle the database resulting in higher cohesiveness and loose coupling Note :CustomerForm is an object of the CustomerForm class, :CustomerHandler is an object of the CustomerHandler class playing the role of a controller stereotype (both underlined becuase they are objects) aC:Customer is an object of the Customer class known by reference variable named aC Note: the create message to aC:Customer points to the object symbol to indicate create

Overview of Detailed Design Steps Shown previously in Chapter 10 Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Create Customer Account Use Case Start with domain model for Customer Account Subsystem © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Create Customer Account Use Case First cut design class diagram for use case Select needed classes, elaborate attributes, add controller, and add navigation visibility Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition A sequence diagram uses all the elements that a SSD uses. The difference is that :system object is replaced by all the internal objects and messages within the system .we will identify the internal objects that collaborate and the messages they send to each other to carry out use case Create Customer Account Use Case First cut sequence diagram expanding SSD, adding controller, and adding needed classes From DCD From SSD Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Create Customer Account Use Case Add messages and activation to complete collaboration This is just the domain layer These domain classes handle data access, so this is a two layer architecture Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Fill Shopping Cart Use Case Start with domain layer based on activity diagram and then SSD Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Fill Shopping Cart Use Case Start with domain layer based on activity diagram and then SSD loop Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Fill Shopping Cart Use Case First cut design class diagram Select classes, elaborate attributes, add navigation visibility Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Fill Shopping Cart Use Case First cut sequence diagram for domain layer. Will be three layer architecture. :CartHandler is controller, other domain classes are included. Note loop frame for adding each item to cart. The SSD used * notation Condition Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Guidelines : page 318 Assumptions: Perfect technology assumption—First encountered for use cases. We don’t include messages such as the user having to log on. Perfect memory assumption—We have assumed that the necessary objects were in memory and available for the use case. In multilayer design to follow, we do include the steps necessary to create objects in memory. Perfect solution assumption—The first-cut sequence diagram assumes no exception conditions. Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Developing a Multilayer Design Designing the data Access Layer The principle of separation of responsibilities is behind the design of the data access layer Separation of responsibilities: design principle that recommends segregating classes into separate components based on the primary focus of the classes In most cases, problem domain classes are also persistent classes, which means that their data values must be stored by the system even when the application isn't executing Persistent classes need some mechanism for storing and retrieving their state from a database Separate layer required when the business logic is complex and there is a need to separate connection to database and SQL from the domain classes. Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Developing a Multilayer Design Create customer account use case might not need a separate layer as domain classes can handle data Fill shopping cart is much more complex and does need it For each domain class, add a data access class to get data and save data about an instance The data access layer for the fill shopping cart use case We no longer assume that the objects are automatically in memory(disregard the perfect memory assumption) The design of the use case now requires additional messages to save data to the database and to retrieve data to instantiate classes Designing the View Layer User interface design is a complex process it often precedes the realization of use cases with sequence diagrams Documenting the user interface design with the view layer on a sequence diagram helps envision the integration of the user interface with other system object classes

Systems Analysis and Design in a Changing World, 6th Edition There are two sources of inputs for the design of the view layer: The user-interface components that were designed during user-interface design. The first-cut sequence diagram Adding the view layer to your design is a good way to verify that user interface that was developed is consistent with the application design If there are messages without input windows or windows without messages you will know that part of the design is incomplete Systems Analysis and Design in a Changing World, 6th Edition

Adding Data Access Layer Fill shopping Cart use case To ensure there is customer in memory Adding Data Access Layer Fill shopping Cart use case © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Adding View Layer Fill shopping Cart use case (search for an item &view accessory) Sequence diagram just shows View interaction with the controller View classes don’t need to even know about the domain or data access layer Omit the perfect technology assumption Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Designing with UML Communication Diagrams Shows the same information as a sequence diagram It is useful for showing a different view of the use case (that emphasizes coupling It is easier to use to sketch design ideas in a meeting, as it easier to change and rearrange Symbols used in a communication diagram: [condition]sequence-number: return-value:=message-name(parameter-list) Link © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Communication Diagram for Fill Shopping Cart Use Case This diagram should match the domain layer sequence diagram shown earlier Communication diagram focuses on the objects It is difficult to visualize the sequence of the massages with communication diagram Many designers use communication diagram to sketch out a solution if the use case is small and not too complex Hierarchical dot numbering scheme Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Updating the Design Classes Design class diagram (DCD) focuses on domain layer When an object of a class receives a message, that message becomes a method in the class on the DCD If :InventoryItem receives the message updateQty(qty), then a method signature is added to InventoryItem: Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Systems Analysis and Design in a Changing World, 6th Edition Three types of methods: Constructor methods Data-get and data-set methods.(retrieve and update attribute values) Use case-specific methods To avoid information overload, most designer don’t include the get and set method in the DCD Systems Analysis and Design in a Changing World, 6th Edition

Updated Design Class Diagram for Domain Layer After Create customer account use case and Fill shopping cart use case This diagram provides excellent ,thorough documentation of the design classes and serves as the blueprint for programming the system © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Structuring Components with UML Package Diagram Three layer package diagram after two RMO use cases Dashed line is dependency Note: Java package or .NET namespace Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Package diagram: is a high-level diagram that allows designers to associate classes of related groups Designers need to document differences or similarities in the objects’ relationships in these different layers This information can be captured by showing each layer as a separate package The classes are placed inside the appropriate package based on the layer to which they belong Dependency relationship: a relationship between packages, classes, or use cases in which a change in the independent item requires a change in the dependent item In summary, package diagrams show related components and dependencies

RMO Subsystem Package Diagram Package diagram can also be nested to show different levels of packages

Implementation Issues Three Layer Design Analysts and programmers should use good design principles in the development of new systems Based on the design principle ‘’object responsibility ‘’ it possible to define which program responsibilities belong to each layer View Layer Class Responsibilities Display electronic forms and reports. Capture such input events as clicks, rollovers, and key entries. Display data fields. Accept input data. Edit and validate input data. Forward input data to the domain layer classes. Start and shut down the system.

Implementation Issues Three Layer Design Domain Layer Class Responsibilities Create problem domain (persistent) classes. Process all business rules with appropriate logic. Prepare persistent classes for storage to the database. Data Access Layer Class Responsibilities Establish and maintain connections to the database. Contain all SQL statements. Process result sets (the results of SQL executions) into appropriate domain objects. Disconnect gracefully from the database. Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

University Library System This case is a simplified version of a new system for the University Library. Of course, the library system must keep track of books. Information is maintained both about book titles and the individual book copies. Book titles maintain information about title, author, publisher, and catalog number. Individual copies maintain copy number, edition, publication year, ISBN, book status (whether it is on the shelf or loaned out), and date due back in. The library also keeps track of its patrons. Because it is a university library, there are several types of patrons, each with different privileges. There are faculty patrons, graduate student patrons, and undergraduate student patrons. Basic information about all patrons is name, address, and telephone number. For faculty patrons, additional information is office address and telephone number. For graduate students, information such as graduate program and advisor information is maintained. For undergraduate students, program and total credit hours are maintained. The library also keeps information about library loans. A library loan is a somewhat abstract object. A loan occurs when a patron approaches the circulation desk with a stack of books to check out. Over time a patron can have many loans. A loan can have many physical books associated with it. (And a physical book can be on many loans over a period of time. Information about past loans is kept in the database.) So, in this case, an association class should probably be created for loaned books.

University Library System If a patron wants a book that is already checked out, the patron can put that title on reserve. This is another class that does not represent a concrete object. Each reservation is for only one title and one patron. Information such as date reserved, priority, and date fulfilled is maintained. When a book is fulfilled, the system associates it with the loan on which it was checked out. Patrons have access to the library information to search for book titles and to see whether a book is available. A patron can also reserve a title if all copies are checked out. When patrons bring books to the circulation desk, a clerk checks out the books on a loan. Clerks also check books in. When books are dropped in the return slot, clerks check in the books. Stocking clerks keep track of the arrival of new books. The managers in the library have their own activities. They will print reports of book titles by category. They also like to see (online) all overdue books. When books get damaged or destroyed, managers delete information about book copies. Managers also like to see what books are on reserve.

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition

First-cut Sequence diagram check out books use case Systems Analysis and Design in a Changing World, 6th Edition

Design class diagram check out books use case Systems Analysis and Design in a Changing World, 6th Edition

Introduction to Systems Analysis and Design, 6th Edition Summary This chapter went into more detail about use case realization and three layer design to extend the design techniques from last chapter Three layer design is an architectural design pattern, part of the movement toward the use of design principles and patterns. Use case realization is the design of a use case, done with a design class diagram and sequence diagrams. Using sequence diagrams allows greater depth and precision than using CRC cards. Use case realization proceeds use case by use case (use case driven) and then for each use case, it proceeds layer by layer Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Summary (continued) Starting with the business logic/domain layer, domain classes are selected and an initial design class diagram is drawn. The systems sequence diagram (SSD) from analysis is expanded by adding a use case controller and then the domain classes for the use case. Messages and returns are added to the sequence diagram as responsibilities are assigned to each class. The design class diagram is then updated by adding methods to the classes based on messages they receive and by updating navigation visibility. Simple use case might be left with two layers if the domain classes are responsible for database access. More complex systems add a data access layer as a third layer to handle database access Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.

Introduction to Systems Analysis and Design, 6th Edition Summary (continued) The view layer can also be added to the sequence diagram to show how multiple pages or forms interact with the use case controller. The UML communication diagram is also used to design use case realization and it shows the same information as a sequence diagram. The UML package diagram is used to structure the classes into packages, usually one package per layer. The package diagram can also be used to package layers into subsystems. Design patterns are a standard solutions or templates that have proven to be effective approaches to handling design problems. The design patterns in this chapter include controller, adapter, factory, and singleton Introduction to Systems Analysis and Design, 6th Edition © 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S. Edition. May not be scanned, copied, duplicated, or posted to a publicly accessible website, in whole or in part.