SA Capstone Requirements and Design Week 5 SYST Winter 2014

Slides:



Advertisements
Similar presentations
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Advertisements

Objectives Detailed Object-Oriented Requirements Definitions
Object-Oriented Analysis
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain how.
Systems Analysis and Design in a Changing World, Fourth Edition
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Systems Analysis and Design in a Changing World, 6th Edition
Overview Objective: refine information gathered
2Object-Oriented Analysis and Design with the Unified Process Events and Use Cases  Use case  Activity the system carries out  Entry point into the.
6. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Explain how events can be used to identify use cases that define requirements.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 7: The Object-Oriented Approach to Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Chapter 5: Modeling Systems Requirements: Events and Things
Modeling Systems Requirements: Events and Things.
Systems Analysis and Design in a Changing World, Tuesday, Feb 27
Modeling System Requirements:
SA Capstone Requirements and Design Week 5 SYST Winter 2013 Instructors: Jerry Kotuba & Joe Varrasso Some slides adapted from: Systems Analysis.
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, Thursday, Feb 22
Systems Analysis and Design in a Changing World, 6th Edition
Conceptual Data Modeling. What Is a Conceptual Data Model? A detailed model that shows the overall structure of organizational data A detailed model.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
The Object-Oriented Approach to Requirements
Systems Analysis and Design in a Changing World, Fifth Edition
R McFadyen Chapter 7 Conceptual Data Modeling.
Systems Analysis and Design in a Changing World, 6th Edition
Association Class Generalization/Specialization Whole-Part Page More Associations 1.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 - Domain Classes.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 Domain Classes.
1 Relational Databases and SQL. Learning Objectives Understand techniques to model complex accounting phenomena in an E-R diagram Develop E-R diagrams.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
7-1 © Prentice Hall, 2004 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 4 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH SATZINGER.
Unit 3 Conceptual Data Modeling. Key Concepts Conceptual data modeling process Classes and objects Attributes Identifiers, candidate keys, and primary.
7-1 © Prentice Hall, 2007 Week 5: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich,
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 5: Modeling System Requirements [Prof. Peter Khaiter]
Jerry KotubaSYST39409-Object Oriented Methodologies1 Object Oriented Methodologies Week05/06.
Objectives Explain how events can be used to identify use cases that define requirements Identify and analyze events and resulting use cases Explain.
Modeling system requirements. Purpose of Models Models help an analyst clarify and refine a design. Models help simplify the complexity of information.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Lecture 4 Conceptual Data Modeling. Objectives Define terms related to entity relationship modeling, including entity, entity instance, attribute, relationship,
5 Systems Analysis and Design in a Changing World, Fifth Edition.
Modeling System Requirements: Events and Things. Objectives Explain the many reasons for creating information system models Describe three types of models.
Systems Analysis and Design in a Changing World, 6th Edition
Use Case Driven Analysis Requirements Use Case Use Case Description System Sequence Diagram Chapter 5.
 Week08.  Review Schedule Weeks 8-14  This week o Review last class o Introduce Class Diagrams o ICE-03 Sheridan SYST Engineering Quality Systems.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 5 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH CHAPTER.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Systems Analysis and Design in a Changing World, Fourth Edition
Chapter 4 Basic Object-Oriented Concepts. Chapter 4 Objectives Class vs. Object Attributes of a class Object relationships Class Methods (Operations)
Copyright © 2011 Pearson Education, Inc. Publishing as Prentice Hall Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design,
Chapter 3: Introducing the UML
DBMS ER model-2 Week 6-7.
Week04 Project Requirements.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
5 Systems Analysis and Design in a Changing World, Fourth Edition.
5 Chapter 5: Modeling Systems Requirements: Events and Things Systems Analysis and Design in a Changing World.
Systems Analysis and Design in a Changing World, Fourth Edition
DATA REQIREMENT ANALYSIS
Systems Analysis and Design in a Changing World, 6th Edition
Use Case Driven Analysis
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis – ITEC 3155 Modeling System Requirements – Part 2
State Machine Diagram.
Presentation transcript:

SA Capstone Requirements and Design Week 5 SYST36367 - Winter 2014 Some slides adapted from: Systems Analysis and Design in a Changing World, 6th Edition, Satzinger, Jackson, Burd, CENGAGE Learning, 2012

Lesson Objectives Build a domain model class diagram Brainstorm Technique Noun Technique Develop System Sequence Diagrams Build State Diagrams(object behavior) Deliverable 2 (Project Requirements) due NEXT WEEK!

Things in the Problem Domain Problem domain—the specific area (or domain) of the users’ business need that is within the scope of the new system. “Things” are those items users work with when accomplishing tasks that need to be remembered Examples of “Things” are products, sales, shippers, customers, invoices, payments, etc. These “Things” are modeled as domain classes or data entities Systems Analysis and Design in a Changing World, 6th Edition

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

Things in the Problem Domain Two Techniques for Identifying them Brainstorming Technique Use a checklist of all of the usual types of things typically found and brainstorm to identify domain classes of each type Noun Technique Identify all of the nouns that come up when the system is described and determine if each is a domain class, an attribute, or not something we need to remember Systems Analysis and Design in a Changing World, 6th Edition

Brainstorming Technique Are there any tangible things? Are there any organizational units? Sites/locations? Are there incidents or events that need to be recorded? Systems Analysis and Design in a Changing World, 6th Edition

Brainstorming Technique: Steps Identify a user and a set of use cases Brainstorm with the user to identify things involved when carrying out the use case—that is, things about which information should be captured by the system. Use the types of things (categories) to systematically ask questions about potential things, such as the following: Are there any tangible things you store information about? Are there any locations involved? Are there roles played by people that you need to remember? Continue to work with all types of users and stakeholders to expand the brainstorming list Merge the results, eliminate any duplicates, and compile an initial list Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition The Noun Technique A technique to identify problem domain classes (things) by finding, classifying, and refining a list of nouns that come up in in discussions or documents Popular technique. Systematic. Does end up with long lists and many nouns that are not things that need to be stored by the system Difficulty identifying synonyms and things that are really attributes Good place to start when there are no users available to help brainstorm Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Partial List of Nouns for RMO With notes on whether to include as domain class Systems Analysis and Design in a Changing World, 6th Edition

The Noun Technique: Steps Using the use cases, actors, and other information about the system— including inputs and outputs—identify all nouns. For the RMO CSMS, the nouns might include customer, product item, sale, confirmation, transaction, shipping, bank, change request, summary report, management, transaction report, accounting, back order, back order notification, return, return confirmation… Using other information from existing systems, current procedures, and current reports or forms, add items or categories of information needed. For the RMO CSMS, these might include price, size, color, style, season, inventory quantity, payment method, and shipping address. Systems Analysis and Design in a Changing World, 6th Edition

The Noun Technique: Steps (continued) As this list of nouns builds, refine it. Ask these questions about each noun to help you decide whether you should include it: Is it a unique thing the system needs to know about? Is it inside the scope of the system I am working on? Does the system need to remember more than one of these items? Ask these questions to decide to exclude it: Is it really a synonym for some other thing I have identified? Is it really just an output of the system produced from other information I have identified? Is it really just an input that results in recording some other information I have identified? Ask these questions to research it: Is it likely to be a specific piece of information (attribute) about some other thing I have identified? Is it something I might need if assumptions change? Systems Analysis and Design in a Changing World, 6th Edition

The Noun Technique: Steps (continued) Create a master list of all nouns identified and then note whether each one should be included, excluded, or researched further. Review the list with users, stakeholders, and team members and then define the list of things in the problem domain. Systems Analysis and Design in a Changing World, 6th Edition

Details about Domain Classes Attribute— describes one piece of information about each instance of the class Customer has first name, last name, phone number Identifier or key One attribute uniquely identifies an instance of the class. Required for data entities, optional for domain classes. Customer ID identifies a customer Compound attribute Two or more attributes combined into one structure to simplify the model. (E.g., address rather than including number, street, city, state, zip separately). Sometimes an identifier or key is a compound attribute. Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Attributes and Values Class is a type of thing. Object is a specific instance of the class. Each instance has its own values for an attribute Systems Analysis and Design in a Changing World, 6th Edition

Associations Among Things Association— a naturally occurring relationship between classes (UML term) Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Just to Clarify… Called association on class diagram in UML Multiplicity is term for the number of associations between classes: 1 to 1 or 1 to many Called relationship on ERD in database class Cardinality is term for number of relationships in entity relationship diagrams: 1 to 1 or 1 to many Associations and Relationships apply in two directions Read them separately each way A customer places an order An order is placed by a customer Systems Analysis and Design in a Changing World, 6th Edition

Minimum and Maximum Multiplicity Associations have minimum and maximum constraints minimum is zero, the association is optional If minimum is at least one, the association is mandatory Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Types of Associations Binary Association Associations between exactly two different classes Course Section includes Students Members join Club Unary Association (recursive) Associations between two instances of the same class Person married to person Part is made using parts Ternary Association (three) N-ary Association (between n) Systems Analysis and Design in a Changing World, 6th Edition

The Domain Model Class Diagram A category of classification used to describe a collection of objects Domain Class Classes that describe objects in the problem domain Class Diagram A UML diagram that shows classes with attributes and associations (plus methods if it models software classes) Domain Model Class Diagram A class diagram that only includes classes from the problem domain, not software classes so no methods Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Domain Class Notation Domain class has no methods Class name is always capitalized Attribute names are not capitalized and use camelback notation (words run together and second word is capitalized) Systems Analysis and Design in a Changing World, 6th Edition

A Simple Domain Model Class Diagram Note: This diagram matches the semantic net shown previously A customer places zero or more orders An order is placed by exactly one customer An order consists of one or more order items An order item is part of exactly one order Systems Analysis and Design in a Changing World, 6th Edition

UML Notation for Multiplicity Systems Analysis and Design in a Changing World, 6th Edition

Domain Model Class Diagram for a bank with many branches Systems Analysis and Design in a Changing World, 6th Edition

Domain Model Class Diagram for course enrollment at a university Where is each student’s grade remembered in this model? Each section has many grades and each grade is association with a student Each student has many grades and each grade is association with a section Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Refined Course Enrollment Model with an Association Class CourseEnrollment Association class— an association that is treated as a class in a many to many association because it has attributes that need to be remembered, such as grade Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition More Complex Issues about Classes: Generalization/Specialization Relationships Generalization/Specialization A hierarchical relationship where subordinate classes are special types of the superior classes. Often called an Inheritance Hierarchy Superclass the superior or more general class in a generalization/specialization hierarchy Subclass the subordinate or more specialized class in a generalization/specialization hierarchy Inheritance the concept that subclasses classes inherit characteristics of the more general superclass Systems Analysis and Design in a Changing World, 6th Edition

Generalization/Specialization Inheritance Systems Analysis and Design in a Changing World, 6th Edition

Generalization/Specialization Inheritance for RMO Three Types of Sales Abstract class— a class that allow subclasses to inherit characteristics but never gets instantiated. In Italics (Sale above) Concrete class— a class that can have instances Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Generalization/Specialization Inheritance for the Bank with Special Types of Accounts A SavingsAccount has 4 attributes A CheckingAccount Has 5 attributes Note: the subclasses inherit the associations, too Systems Analysis and Design in a Changing World, 6th Edition

More Complex Issues about Classes: Whole Part Relationships Whole-part relationship— a relationship between classes where one class is part of or a component portion of another class Aggregation— a whole part relationship where the component part exists separately and can be removed and replaced (UML diamond symbol, next slide) Computer has disk storage devices Car has wheels Composition— a whole part relationship where the parts can no longer be removed (filled in diamond symbol) Hand has fingers Chip has circuits Systems Analysis and Design in a Changing World, 6th Edition

Whole Part Relationships Computer and its Parts Note: this is composition, with diamond symbol. Whole part can have multiplicity symbols, too (not shown) Systems Analysis and Design in a Changing World, 6th Edition

More on UML Relationships There are actually four types of relationships in class diagrams Association Relationships (“uses a”) These are associations discussed previously, just like ERD relationships Whole Part Relationships (“has a”) One class is a component or part of another class Generalizations/Specialization Relationships (“is a”) Inheritance Interface/Contract Relationships (“can do”) Interface So, try not to confuse relationship with association Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Summary “Things” in the problem domain are identified and modeled, called domain classes or data entities Two techniques for identifying domain classes/data entities are the brainstorming technique and the noun technique Domain classes have attributes and associations Associations are naturally occurring relationships among classes, and associations have minimum and maximum multiplicity Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Summary The UML class diagram notation is used to create a domain model class diagram for a system. The domain model classes do not have methods because they are not yet software classes. There are actually four UML class diagram relationships: association relationships, generalization/specialization (inheritance) relationships, interface and whole part relationships Other class diagram concepts are abstract versus concrete classes, compound attributes, composition and aggregation, association classes, super classes and subclasses Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Overview The two primary aspects of functional requirements: use cases and domain classes Now focus on additional techniques and models to extend the requirements models to show more detail Fully developed use case descriptions provide information about each use case, including actors, stakeholders, preconditions, post conditions, the flow of activities and exceptions conditions Activity diagrams can also be used to show the flow of activities for a use case Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Overview (continued) System sequence diagrams (SSDs) show the inputs and outputs for each use case as messages State diagrams show the states an object can be in over time between use cases Use cases are modelled in more detail using fully developed use case descriptions, activity diagrams, and system sequence diagrams Domain classes are modelled in more detail using state diagrams Not all use cases and domain classes are modelled at this level of detail. Only model when there is complexity and a need to communicate details Systems Analysis and Design in a Changing World, 6th Edition

System Sequence Diagram (SSD) A UML sequence diagram Special case for a sequence diagram Only shows actor and one object The one object represents the complete system Shows input & output messaging requirements for a use case Actor, :System, object lifeline Messages Systems Analysis and Design in a Changing World, 6th Edition

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

System Sequence Diagram (SSD) Notation Systems Analysis and Design in a Changing World, 6th Edition

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

SSD Message Examples with Loop Frame Option B is an optional way to display A. Systems Analysis and Design in a Changing World, 6th Edition

SSD Message Examples Opt Frame (optional) Alt Frame (if-else) A-message optional based on a test B If –ELSE conditional Systems Analysis and Design in a Changing World, 6th Edition

Steps for Developing SSD Identify input message See use case flow of activities or activity diagram Describe the message from the external actor to the system using the message notation Name it verb-noun: what the system is asked to do Consider parameters the system will need Identify any special conditions on input messages Iteration/loop frame Opt or Alt frame Identify and add output return values On message itself: aValue:= getValue(valueID) As explicit return on separate dashed line Systems Analysis and Design in a Changing World, 6th Edition

SSD for Create customer account Use case Systems Analysis and Design in a Changing World, 6th Edition

SSD for Ship items Use Case Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition State Machine Diagram State machine diagram A UML diagram showing the life of an object in states and transitions State A condition during an object’s life when it satisfies some criterion, performs some action, or waits for an event Transition The movement of an object from one state to another state Action Expression A description of activities performed as part of a transition Systems Analysis and Design in a Changing World, 6th Edition

State Machine Diagram (continued) Pseudo state The starting point of a state machine diagram (black dot) Origin state The original state of an object before transition Destination state The state to which the object moves after the transition Guard condition A true false test to see whether a transition can fire Systems Analysis and Design in a Changing World, 6th Edition

State Machine Diagram for a Printer Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Composite States State containing other states and transitions Printer can be On and either Idle or Working Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Concurrent Paths Multiple paths in composite state Printer On paths are independent Systems Analysis and Design in a Changing World, 6th Edition

Steps for Developing State Diagram Review the class diagram and select classes that might require state machine diagrams For each class, make a list of status conditions (states) you can identify Begin building diagram fragments by identifying transitions that cause an object to leave the identified state Sequence these states in the correct order and aggregate combinations into larger fragments Review paths and look for independent, concurrent paths Systems Analysis and Design in a Changing World, 6th Edition

Steps for Developing State Diagram (continued) Look for additional transitions and test both directions Expand each transition with appropriate message event, guard condition, and action expression Review and test the state machine diagram for the class Make sure state are really state for the object in the class Follow the life cycle of an object coming into existence and being deleted Be sure the diagram covers all exception condition Look again for concurrent paths and composite states Systems Analysis and Design in a Changing World, 6th Edition

Extending and Integrating Requirements Models Use cases Use case diagram Use case description Activity diagram System sequence diagram (SSD) Domain Classes Domain model class diagram State machine diagram Systems Analysis and Design in a Changing World, 6th Edition

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

Systems Analysis and Design in a Changing World, 6th Edition Summary Modelled the two primary aspects of functional requirements: use cases and domain classes Focus on additional techniques and models to extend the requirements models to show more detail Fully developed use case descriptions provide information about each use case, including actors, stakeholders, preconditions, post conditions, the flow of activities and exceptions conditions Activity diagrams can also be used to show the flow of activities for a use case Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Summary (continued) System sequence diagrams (SSDs) show the inputs and outputs for each use case as messages State diagrams show the states an object can be in over time between use cases Use cases are modelled in more detail using fully developed use case descriptions, activity diagrams, and system sequence diagrams Domain classes are modelled in more detail using state diagrams Not all use cases and domain classes are modelled at this level of detail. Only model when there is complexity and a need to communicate details Systems Analysis and Design in a Changing World, 6th Edition

Deliverable 2 (Project Requirements) Let’s review Deliverable 2 together which is due: NEXT WEEK! For detailed instructions and a link to the rubric please visit: http://sacapstone.wikidot.com/deliverable2instructions

Group Meetings Please break into your Capstone Groups to plan and work on Deliverable 2! We will be meeting with each group today to assess your progress and provide some advice