Download presentation
Presentation is loading. Please wait.
Published byChristal Boyd Modified over 6 years ago
1
Systems Analysis and Design with UML Version 2.0
Alan Dennis , Barbara Haley Wixom , David Tegarden
2
Table Of Contents 1. Introduction to Systems Analysis and Design 2.Introduction to Object-Oriented Systems Analysis & Design with Unified Modeling Language, Version 3: Project Initiation 4: Project Management 5: Requirements Determination 6: Functional Modeling 7: Structural Modeling 8: Behavioral Modeling
3
9: Moving on to Design 10: Class and Method Design 11: Data Management Layering 12: Human Computer Interaction Design 13: Physical Architecture Layer Design 14: Construction 15: Installation and Operations
4
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 1: Introduction to Systems Analysis and Design Alan Dennis, Barbara Wixom, and David Tegarden
5
INTRODUCTION Chapter 1
6
Key Ideas Many failed systems were abandoned because analysts tried to build wonderful systems without understanding the organization. The primarily goal is to create value for the organization.
7
Key Ideas The systems analyst is a key person analyzing the business, identifying opportunities for improvement, and designing information systems to implement these ideas. It is important to understand and develop through practice the skills needed to successfully design and implement new information systems.
8
THE SYSTEMS DEVELOPMENT LIFE CYCLE
9
Major Attributes of the Lifecycle
The project Moves systematically through phases where each phase has a standard set of outputs Produces project deliverables Uses deliverables in implementation Results in actual information system Uses gradual refinement
10
Project Phases Planning Analysis Design Implementation System delivery
Why build the system? Analysis Who, what, when, where will the system be? Design How will the system work? Implementation System delivery
11
A “Simple” Process for Making Lunch
12
Planning Identifying business value Analyze feasibility
Develop work plan Staff the project Control and direct project
13
Analysis Analysis Information gathering Process modeling Data modeling
14
Design Physical design Architectural design Interface design
Database and file design Program design
15
Implementation Construction Installation
16
Processes and Deliverables
Product Planning Analysis Design Implementation Project Plan System Proposal System Specification New System and Maintenance Plan
17
SYSTEM DEVELOPMENT Methodologies
18
What Is a Methodology? A formalized approach or series of steps
Writing code without a well- thought-out system request may work for small programs, but rarely works for large ones.
19
Structured Design Projects move methodically from one to the next step
Generally, a step is finished before the next one begins
20
Waterfall Development Method
21
Pros and Cons of the Waterfall Method
Identifies systems requirements long before programming begins Design must be specified on paper before programming begins Long time between system proposal and delivery of new system
22
Parallel Development
23
Alternatives to the SDLC
Rapid Application Development (RAD) Phased Development Prototyping Throw-Away Prototyping
24
Rapid Application Development
Critical elements CASE tools JAD sessions Fourth generation/visualization programming languages Code generators
25
Rapid Application Development Categories
Phased development A series of versions Prototyping System prototyping Throw-away prototyping Design prototyping Agile Development Extreme Development
26
How Prototyping Works
27
Throwaway Prototyping
28
Selecting the Appropriate Methodology
Clarity of User Requirements Familiarity with Technology System Complexity System Reliability Short Time Schedules Schedule Visibility
29
Criteria for Selecting a Methodology
30
Project Team Roles and Skills
31
Information Systems Roles
Business analyst System analyst Infrastructure analyst Change management analyst Project manager
32
Project Team Roles
33
Summary -- Part 1 The Systems Development Lifecycle consists of four stages: Planning, Analysis, Design, and Implementation The major development methodologies: Structured design the waterfall method Parallel development RAD development Prototyping (regular and throwaway) Agile development XP streamline SDLC
34
Summary -- Part 2 There are five major team roles: business analyst, systems analyst, infrastructure analyst, change management analyst and project manager.
35
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 2: Introduction to Object-Oriented Systems Analysis and Design with the Unified Modeling Language, Version 2.0 Alan Dennis, Barbara Wixom, and David Tegarden © 2005 John Wiley & Sons, Inc.
36
Unified Modeling Language, Version 2.0
Chapter 2
37
Objectives Understand the basic characteristics of object-oriented systems. Be familiar with the Unified Modeling Language (UML), Version 2.0. Be familiar with the Unified Process. Understand a minimalist approach to object-oriented systems analysis and design.
38
Basic Characteristics of Object Oriented Systems
Classes and Objects Methods and Messages Encapsulation and Information Hiding Inheritance Polymorphism and Dynamic Binding
39
Classes and Objects Class – Template to define specific instances or objects Object – Instantiation of a class Attributes – Describes the object Behaviors – specify what object can do
40
Classes and Objects
41
Methods and Messages Methods implement an object’s behavior
Analogous to a function or procedure Messages are sent to trigger methods Procedure call from one object to the next
42
Messages and Methods
43
Encapsulation and Information Hiding
combination of data and process into an entity Information Hiding Only the information required to use a software module is published to the user Reusability Key Use an object by calling methods
44
Inheritance Superclasses or general classes are at the top of a hierarchy of classes Subclasses or specific classes are at the bottom Subclasses inherit attributes and methods from classes higher in the hierarchy
45
Class Hierarchy
46
Inheritance
47
Polymorphism and Dynamic Binding
A message can be interpreted differently by different classes of objects Dynamic Binding Sometimes called late binding Delays typing or choosing a method for an object until run-time Static Binding Type of object determined at compile time
48
Polymorphish & Encapsulation
49
The Unified Modeling Language, Version 2.0
Structure Diagrams Behavior Diagrams Extension Mechanisms Developers Grady Booch Ivar Jacobson James Rumbaugh
50
Structure Diagram Structure Diagrams include Class Object package
Deployment Component Composite structure diagrams
51
UML 2.0 Diagram Summary
52
Structure Diagrams Class Object Package relationship between classes
Relationships between objects Package Group UML elements together to form higher level constructs
53
Structure Diagrams Cont.
Deployment Shows the physical architecture and software components of system Component Physical relationships among software components Composite Structure Illustrates internal structure of a class
54
Activity Diagrams Activity Sequence Communication
Illustrates business workflows Sequence Time-based ordering Behavior of objects activities in a use case Communication Communication among a set of collaborating objects of an activity Interaction Overview Timing Overview of flow of control of a process
55
State Machines Behavioral State Machine Protocol State Machine
Examines behavior of one class Protocol State Machine Shows dependencies of different interfaces of a class Use-Case Captures business requirements Illustrates interaction between system and environment
56
Use Case Diagrams Captures Business requirements
Illustrates interaction between a system and its environment Includes end user Any external system that interacts with its information system Documents and clarifies requirements of system being modeled
57
Extension Mechanisms Stereotypes Tagged Values Constraints Profiles
Gives ability to incrementally extend UML Tagged Values Add new properties to base elements Constraints Place restrictions on use of model elements Profiles Group model elements into a package
58
Object Oriented Systems Analysis and Design
Use-case driven Architecture Centric Iterative and Incremental The Unified Process
59
Engineering Workflows
60
Supporting Workflows
61
A Minimalist Approach Benefits of Object-Oriented Systems Analysis and Design Extensions of the Unified Process The Minimalist Object-Oriented Systems Analysis and Design Approach
62
Benefits of the Object Approach
63
MOOSAD Approach
64
Basic Characteristics of Object Oriented Systems
Identifying business value Analyze feasibility Develop workplan Staff the project Control and direct project Requirements determination Functional modeling Structural modeling Behavioral modeling Moving on to design
65
UML Summary Class and method design Data management layer design
Human computer interaction layer design Physical architecture layer design Construction Installation Operations and support
66
Summary Basic characteristics of an object oriented system
Unified modeling system Object oriented Systems Analysis and Design Minimalist approach to Object oriented systems analysis and design with UML
67
Chapter 3: Project Initiation
Systems Analysis and Design with UML Version 2.0 An Object-Oriented Approach, Second Edition Chapter 3: Project Initiation Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc.
68
PROJECT INITIATION Chapter 3
69
Key Ideas Projects being when someone sees an opportunity to create business value from using information technology. Feasibility analysis is used to aid in the decision of whether or not to proceed with the IS project.
70
Key Ideas The project sponsor is a key person proposing development or adoption of the new information technology . The approval committee reviews proposals from various groups and units in the organization and decides which to commit to developing.
71
IDENTIFYING BUSINESS VALUE
72
System Request Lists key elements of the project Project name
Project sponsor Business need Functionality Expected value Special issues or constraints
73
An ongoing-case study used to illustrate concepts presented in the text
74
Your Turn If you were building a web- based system for course enrollment -- What would be the functionality? What would be the expected value? What special issues or constraints would you foresee?
75
FEASIBILITY ANALYSIS
76
Feasibility Analysis Detailing Expected Costs and Benefits
Technical feasibility Economic feasibility Organizational feasibility 76
77
Technical Feasibility: Can We Build It?
Familiarity with application Knowledge of business domain Familiarity with technology Extension of existing firm technologies Project size Number of people, time, and features
78
Economic Feasibility Should We Build It?
Development costs Annual operational costs Annual benefits Intangible costs and benefit
79
Expected Value Costs Benefits Tangible Intangible *
80
Cash Flow Method for Cost Benefit Analysis
81
Return on Investment Calculation
RETURN ON INVESTMENT EQUALS Total (benefits - costs) Divided by Total costs
82
Net Present Value Calculation
(1 + interest rate)n Some amount of money NET PRESENT VALUE EQUALS Divided by Where “n” equals the number of periods
83
Organizational Feasibility If we build it, will they come?
Stakeholder analysis considers Project champion(s) Organizational management System users
84
APPLYING THE CONCEPTS AT CD SELECTIONS
85
What technical, economic, and organizational issues will developers of this system need to be aware of?
86
Summary Project initiation involves creating and assessing goals and expectations for a new system Identifying the business value of the new project is a key to success The system request describes an overview of the proposed system. The feasibility study is concerned with insuring that technical, economic, and organizational benefits outweigh costs and risks
87
Expanding the Domain For an excellent source of information on IT management see:
88
Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc.
Systems Analysis and Design with UML Version 2.0 Chapter 4 Project Management Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
89
Project Management Chapter 4
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
90
Objectives ■ Become familiar with estimation.
■ Be able to create a project workplan. ■ Understand why project teams use timeboxing. ■ Become familiar with how to staff a project. ■ Understand how computer-aided software engineering, improve the efficiency of a project. ■ Understand how to reduce risk on a project.
91
Key Definitions Project management is the process of planning and controlling the development of a system within a specified timeframe at a minimum cost with the right functionality. A project manager has the primary responsibility for managing the hundreds of tasks and roles that need to be carefully coordinated.
92
Estimating a Project Based on Industry Information
Planning Analysis Design Implementation Industry Standard For Web 15% % % % Applications Time Required in Person Months
93
Function Points Estimate System Size
A function point is a measure of program size that is based on the system’s number and complexity of inputs, outputs, queries, files, and program interfaces Estimate effort required Person Months Estimate time required Months to complete
94
Time Estimation Using a More Complex Approach
95
Getting the Right Numbers for Estimation
Prior projects Past experience Industry standards Detailed analysis
96
Estimation Trade-offs
Size Function points Lines of code Effort Person-months People available Time Months
97
Calculate Function Points
List major elements of system Determine total number of each element Specify complexity index of each component (low, med., high) Total index multiplied by number of components (TUFP)
98
Function Point Estimation -- Step One
Complexity Description Low Medium High Total Inputs __x 3 __x 4 __x 6 ____ Outputs __x 4 __x 5 __x 7 ____ Queries __x 3 __x 4 __x 6 ____ Files __x 7 __x 10 __x 15 ____ Program __x 5 __x 7 __x 10 ____ Interfaces TOTAL UNADJUSTED FUNCTION POINTS ____
99
TUPF Example PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
100
Adjusted Processing Complexity -- Step 2
101
Function Points Estimation -- Step Four
Adjusted Project Complexity = (0.01 * Project Complexity) Total Adjusted Function Points = Adjusted Project Complexity * TUFP
102
Function Point Estimation
Processing Complexity (PC): __7______ (From Step 2) Adjusted Processing Complexity (PCA) = (0.001 * __7_ ) Total Adjusted Function Points: _0.72 * _338_ = 243 (TUFP -- From Step 1)
103
Converting Function Points to Lines of Code
Language LOC/Function Code Point C COBOL JAVA C++ Turbo Pascal Visual Basic PowerBuilder HTML Packages (e.g., Access, Excel) 130 110 55 50 30 15 10-40 Source: Capers Jones, Software Productivity Research
104
Final Step Multiply function points
Approximate lines of code per function point in the chosen language If you chose C, then 243 function Points times 130 lines of code = 31,590 total lines of code
105
Estimating Effort Function of size and production rate COCOMO model
converts a lines-of-code estimate into a person-month estimate For moderate-size projects multiply thousands of lines of code by 1.4 to get the number of people to assign to the project
106
COCOMO Estimation Calculation
Effort = 1.4 * thousands-of- (in Person- lines-of-code Months) Example: If LOC = Then... Effort = (1.4 * 2000) = Person Months
107
Estimating Schedule Time
Rule of thumb for estimation Schedule Time (months) = 3.0 * person-months1/3
108
Staffing Attributes Staffing levels will change over a project’s lifetime Adding staff may add more overhead than additional labor Using teams of 8-10 reporting in a hierarchical structure can reduce complexity
109
Increasing Complexity with Larger Teams
110
CREATING THE WORK PLAN PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
111
Developing a WorkPlan Identify tasks in the project Estimate task length Determine task dependencies Specify to whom task will be assigned List deliverables PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
112
A Workplan Example Work Plan Information Example Name of task Perform economic feasibility Start date ` Jan 05, 2001 Completion date Jan 19, 2001 Person assigned Mary Smith, sponsor Deliverable(s) Cost-benefit analysis Completion status Open Priority High Resources needed Spreadsheet Estimated time 16 hours Actual time hours PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
113
Identifying Tasks Top-down approach Identify highest level tasks as phases in the project Break them into increasingly smaller units Methodology Using standard list of tasks Similar previous projects PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
114
Top Down Task Identification
Phases with high level steps Phases Work Plan Deliverables Estimated Assigned hours To * PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
115
Work Breakdown Structure
Specify high level tasks Break down each step into smaller tasks and number them in a hierarchical fashion WBS can be done in two ways SDLC phase Product PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
116
WBS Problems They tend to be specific to the design of the information system being developed Too many levels of detail too early on in the SDLC for large projects or too few for small projects. Since they are project specific, they are very difficult to compare across projects.
117
Evolutionary WBS organize in a standard manner across all projects
create in an incremental and iterative manner first evolutionary WBS done with initial aspects of the project Later on more details are added to the WBS. Comparable to earlier projects based on cost and schedule estimation
118
Project WorkPlan
119
STAFFING THE PROJECT PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
120
Key Definitions The staffing plan describes the kinds of people working on the project The project charter describes the project’s objectives and rules A functional lead manages a group of analysts A technical lead oversees progress of programmers and technical staff members
121
Motivation Use monetary rewards cautiously Use intrinsic rewards
Recognition Achievement The work itself Responsibility Advancement Chance to learn new skills
122
Conflict Avoidance Strategies
Clearly define roles and project plans Hold individuals accountable Project charter listing norms and groundrules Develop schedule commitments ahead of time Forecast other priorities and their possible impact on the project
123
Possible Reporting Structure
124
CONTROLLING AND DIRECTING THE PROJECT
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
125
The Hurricane Model Time Project Stage
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
126
Margins of Error in Cost and Time Estimates
Typical margins of Error for Well-done Estimates Phase Deliverable Cost (%) time (%) Planning System Request Project Plan Analysis System Proposal Design System Specification Source: Boehm et al. (1995) PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
127
Gantt Chart PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
128
PERT Charts Project Evaluation and Review Technique (PERT) PERT uses three time stimates: Optimistic, O Most likely, M Pessimistic, P Time Estimate = O + 4 * M + P PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
129
Pert Chart PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
130
CASE Tools Upper CASE Lower CASE Integrated CASE (I-CASE)
Initiation Analysis Design Implementation Upper CASE Lower CASE Integrated CASE (I-CASE)
131
CASE Components CASE Repository Diagrams Screen Designs
Procedural Metadata Logic
132
Standards Examples Formal rules for naming files
Forms indicating goals reached Programming guidelines Can you think of more examples? The book lists a long set of examples on page 81. If you have a lot of students with their books open, you might pass up spending time having the students come up with examples. Otherwise, this is a valuable exercise. You might also ask whether there are times when it is better NOT to use standards.
133
Documentation Project binder Table of contents Continual updating
134
Managing Scope Scope creep -- a major cause of development problems
JAD and prototyping Formal change approval Charging for changes The smaller points here suggest some methods for limiting scope creep and are worth pointing out to the students. The last in the list allows users to make changes -- but adds to the costs that they must allocate to the project.
135
Timeboxing Fixed deadline Make deadline possible
Set by development group Reduced functionality, if necessary Fewer “finishing touches”
136
Timeboxing Steps 1. Set the date for system delivery.
2. Prioritize the functionality that needs to be included in the system. 3. Build the core of the system (the functionality ranked as most important). 4. Postpone functionality that cannot be provided within the time frame. 5. Deliver the system with core functionality. 6. Repeat steps 3 through 5, to add refinements and enhancements.
137
Managing Risk Risk assessment Actions to reduce risk
Revised assessment
138
Classic Mistakes Overly optimistic schedule
Failing to monitor schedule Failing to update schedule Adding people to a late project
139
Summary Project management is critical to successful development of new systems Project management involves planning, controlling and reporting on time, labor, and costs.
140
Expanding the Domain For more detail on project management, visit the project management institute and its special interest group on information systems:
141
Systems Analysis and Design with UML Version 2.0, Second Edition
Alan Dennis, Barbara Wixom, and David Tegarden Chapter 5: Requirements Determination John Wiley & Sons, Inc. Copyright 2005
142
Requirements Determination
Chapter 5
143
Objectives ■ Understand how to create a requirements definition.
■ Become familiar with requirements analysis techniques. ■ Understand when to use each requirements analysis technique. ■ Understand how to gather requirements using interviews, JAD sessions, questionnaires, document analysis, and observation. ■ Understand when to use each requirements- gathering technique.
144
Key Ideas The goal of the analysis phase is to truly understand the requirements of the new system and develop a system that addresses them. The first challenge is collecting and integrating the information The second challenge is finding the right people to participate.
145
Analysis Phase This phase takes the general ideas in the system request and refines them into a detailed requirements definition (this chapter), functional models (Chapter 6), structural models (Chapter 7), and behavioral models (Chapter 8) This becomes the system proposal Includes revised project management deliverables, feasibility analysis (Chapter 3) and workplan (Chapter 4).
146
Requirement Specification
a statement of what the system must do or characteristics it must have Written from businessperson perspective (“what” of system) Later requirements become more technical (“how” of system)
147
Functional vs. Nonfunctional
A functional requirement relates directly to a process the system has to perform or information it needs to contain. Nonfunctional requirements refer to behavioral properties that the system must have, such as performance and usability.
148
Functional Requirements
149
Nonfunctional Requirements
150
Requirements Analysis Techniques
Business process automation (BPA) Doesn’t change basic operations Automates some operations BPA Techniques Problem Analysis Root Cause Analysis
151
Business Process Improvement
Business process improvement (BPI) changes How an organization operates Changes operation with new techniques Can improve efficiency Can improve effectiveness
152
BPI Components Duration Analysis Activity-Based Costing
Time to perform each process Activity-Based Costing Examines major process costs Informal Benchmarking Studies how other organizations perform business processes
153
Business Process Reengineering
Changes how the organization does certain operations Consists of Outcome Analysis Technology analysis Activity Elimination
154
Select Appropriate Technique
Assess Potential Business Value Determine Project Cost Specify Breadth or Scope of Analysis Determine Risk of Failure
155
Analysis Characteristics
156
Requirements Gathering
157
Interviews -- Five Basic Steps
Selecting interviewees Designing interview questions Preparing for the interview Conducting the interview Post-interview follow-up
158
Selecting Interviewees
Based on information needed Often good to get different perspectives Managers Users Ideally, all key stakeholders
159
Types of Questions Types of Questions Examples Closed-Ended Questions
* How many telephone orders are received per day? * How do customers place orders? * What additional information would you like the new system to provide? Open-Ended Questions * What do you think about the current system? * What are some of the problems you face on a daily basis? * How do you decide what types of marketing campaign to run? Probing Questions * Why? * Can you give me an example? * Can you explain that in a bit more detail?
160
Designing Interview Questions
Unstructured interview Broad, roughly defined information Structured interview More specific information
161
Questioning Strategies
162
Interview Preparation Steps
Prepare general interview plan List of question Anticipated answers and follow-ups Confirm areas of knowledge Set priorities in case of time shortage Prepare the interviewee Schedule Inform of reason for interview Inform of areas of discussion
163
Conducting the Interview
Appear professional and unbiased Record all information Check on organizational policy regarding tape recording Be sure you understand all issues and terms Separate facts from opinions Give interviewee time to ask questions Be sure to thank the interviewee End on time
164
Conducting the Interview Practical Tips
Don’t worry, be happy Pay attention Summarize key points Be succinct Be honest Watch body language
165
Post-Interview Follow-Up
Prepare interview notes Prepare interview report Look for gaps and new questions
166
Interview Report INTERVIEW REPORT
Interview notes approved by: ____________ Person interviewed ______________ Interviewer _______________ Date _______________ Primary Purpose: Summary of Interview: Open Items: Detailed Notes:
167
Your Turn You are interviewing the director of the PC lab at your school regarding a new program to support keeping track of students’ borrowing software With a partner, write 5 questions you would ask the PC lab director Take turns having one pair of students posing the questions to another pair of students Be sure to take notes and write up the results when you have finished.
168
JOINT APPLICATION DESIGN (JAD)
169
JAD Key Ideas Allows project managers, users, and developers to work together May reduce scope creep by 50% Avoids requirements being too specific or too vague
170
Joint Application Design (JAD) Important Roles
Facilitator sets the meeting agenda and guides the discussion Scribe assist the facilitator by recording notes, making copies, etc. Project team, users, and management
171
Joint Application Design (JAD) Setting
U-Shaped seating Away from distractions Whiteboard/flip chart Prototyping tools e-JAD
172
JAD Meeting Room JPEG Figure 5-5 Goes Here
173
The JAD Session Tend to last 5 to 10 days over a three week period
Prepare questions as with interviews Formal agenda and groundrules Facilitator activities Keep session on track Help with technical terms and jargon Record group input Help resolve issues Post-session follow-up
174
Managing Problems in JAD Sessions
Reducing domination Encouraging non-contributors Side discussions Agenda merry-go-round Violent agreement Unresolved conflict True conflict Use humor
175
Questionnaire Steps Selecting participants
Using samples of the population Designing the questionnaire Careful question selection Administering the questionnaire Working to get good response rate Questionnaire follow-up Send results to participants
176
Good Questionaire Design
• Begin with nonthreatening and interesting questions. • Group items into logically coherent sections. • Do not put important items at the very end of the questionnaire. • Do not crowd a page with too many items. • Avoid abbreviations. • Avoid biased or suggestive items or terms. • Number questions to avoid confusion. • Pretest the questionnaire to identify confusing questions. • Provide anonymity to respondents.
177
Document Analysis Provides clues about existing “as-is” system
Typical documents Forms Reports Policy manuals Look for user additions to forms Look for unused form elements
178
Observation Users/managers often don’t remember everything they do
Checks validity of information gathered other ways Behaviors change when people are watched Careful not to ignore periodic activities Weekly … Monthly … Annual
179
Selecting the Appropriate Techniques
180
Suggest how CD Selections should proceed in eliciting requirements.
Consider steps, techniques and goals, who and how.
181
How would you identify possible improvements?
What possible improvements would you suggest?
182
Summary First Step is to determine requirements
Systems analysts use these techniques Interviews, JAD, Questionnaires, Document Analysis, and Observation.
183
Expanding the Domain Additional resources regarding Joint Application Development can be found at:
184
Systems Analysis and Design with UML Version 2.0, Second Edition
Alan Dennis, Barbara Wixom, and David Tegarden Chapter 6: Functional Modeling John Wiley & Sons, Inc. Copyright 2005
185
Objectives ■ Understand the rules and style guidelines for activity diagrams. ■ Understand the rules and style guidelines for use cases and use case diagrams. ■ Understand the process used to create use cases and use case diagrams. ■ Be able to create functional models using activity diagrams, use cases, and use case diagrams. ■ Become familiar with the use of use case points.
186
Business Process Modeling with Activity Diagrams
Elements of an Activity Diagram Guidelines for Creating Activity Diagrams
187
BPM With Activity Diagrams
A number of activities support a business process across several departments Activity diagrams model the behavior in a business process Sophisticated data flow diagrams Addresses Parallel concurrent activities and complex processes
188
Activity Diagram Example
189
Creating Activity Diagrams
1. Since an activity diagram can be used to model any kind of process, you should set the context or scope of the activity being modeled. Once you have determined the scope, you should give the diagram an appropriate title. 2. You must identify the activities, control flows, and object flows that occur between the activities. 3. You should identify any decisions that are part of the process being modeled. 4. You should attempt to identify any prospects for parallelism in the process. 5. You should draw the activity diagram.
190
USE-CASE DESCRIPTIONS
191
Key Ideas A use case illustrates the activities that are performed by users of a system. Use cases are logical models -- they describe the activities of a system without specifying how the activities are implemented.
192
What are Use-Case Descriptions?
Describe basic functions of the system What the user can do How the system responds Use cases are building blocks for continued design activities.
193
How Are Use-Cases Created?
Two steps: Write text-based case descriptions Translate descriptions into diagrams Describes one and only one function, but may have multiple paths. Developed working with users for content.
194
Types of Use-Cases Overview versus detail
■ The use case represents an important business process. ■ The use case supports revenue generation or cost reduction. ■ Technology needed to support the use case is new or risky and therefore will require considerable research. Essential versus real
195
Elements of a Use-Case Description
Use Case Name: ID: Importance Level: Primary Actor: Use Case Type: Stakeholders and Interests: Brief Description: Trigger: Relationships: (Association, Include, Extend, Generalization) Normal Flow of Events: Subflows: Alternate/Exceptional Flows:
196
Guidelines for Creating Use-Case Descriptions
Write each step in “SVDPI” form Clarify initiator and receivers of action Write from independent observer perspective Write at same level of abstraction Ensure a sensible set of steps Apply KISS principle liberally Write repeating instructions after the set of steps to be repeated.
197
Your Turn How would you make requirements gathering (interviews, questionnaires, observation, and document analysis) more effective by knowing that eventually you will be creating use-case descriptions and diagrams?
198
USE-CASE DIAGRAMS
199
Syntax for Use-Case Diagram
200
The Use-Case Diagram for Appointment System
201
Use-Case Diagram with Specialized Actor
202
Extend and Include Relationships
203
CREATING USE-CASE DESCRIPTIONS AND USE-CASE DIAGRAMS
204
Major Steps in Writing Use-Cases
Case Diagrams Identify the major use-cases Expand the major use-case Confirm the major use-cases Create the use-case diagram As can be seen by comparing this list to figure 6-7, it is a very high level summary. Teachers of this material might want to spend significant time reviewing what happens in each of these steps.
205
Identifying the Major Use-Cases
Identify the system’s boundaries List the primary actors List the goals of each primary actor Identify and write the major use- cases Carefully review use-cases
206
Writing Effective Use-Case Descriptions
207
Expand the Major Use-Cases
Choose one major use-case to expand Fill in details on the use-case template Fill in the steps of the normal flow of events Normalize the size of each step Describe alternate or exceptional flows Simplify and organize as necessary
208
Confirm the Major Use Cases
Review the current set Consider semantics and syntax Helpful to involve the users Iterate the entire set of steps until all use cases are defined
209
Create the Use-Case Diagram
Start with system boundary Place elements in order to be easy to read Place actors on the diagram Conclude by connecting actors to use cases by lines
210
Selecting the Appropriate Techniques
Interviews JAD Questionnaires Document Observation Analysis Type of As-Is As-Is As-Is As-Is As-Is Information Improve Improve. Improve. To-Be To-Be Depth of High High Medium Low Low Information Breadth of Low Medium High High Low Integration Low High Low Low Low of Info. User Medium High Low Low Low Involvement Cost Medium Low Low Low Low- Medium Medium
211
Refining Project Size with Case Points
Create essential use cases and use case diagram Determine Unadjusted Actor Weighting Table Obtain Unadjusted Use Case Weight Total Compute value of Unadjusted Use Case Points
212
Identify the major use-cases
Expand the major use-case Confirm the major use-cases Create the use-case diagram
213
Your Turn Create a set of use cases for campus housing. Consider the steps in registering for campus housing, in being assigned to a particular unit, to being matched with roommates, to moving in.
214
Expanding the Domain Additional resources regarding use-cases and many other object-oriented development topics can be found at:
215
Summary Use-case descriptions are the basis for further analysis and design. They are created based on 7 guidelines and 13 steps. Use-case diagrams present a graphical overview of the main functionality of a system.
216
Systems Analysis and Design with UML Version 2.0, Second Edition
Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 7: Structural Modeling John Wiley & Sons, Inc. Copyright 2005
217
Structural Modeling Chapter 7
218
Key Ideas A structural or conceptual model describes the structure of the data that supports the business processes in an organization.. The structure of data used in the system is represented through CRD cards, class diagrams, and object diagrams.
219
STRUCTURAL MODELS
220
Purpose of Structural Models
Reduce the “semantic gap” between the real world and the world of software Create a vocabulary for analysts and users Represent things, ideas, and concepts of importance in the application domain
221
Classes Templates for creating instances or objects Typical examples:
Concrete Abstract Typical examples: Application domain, user interface, data structure, file structure, operating environment, document, and multimedia classes
222
Attributes Units of information relevant to the description of the class Only attributes important to the task should be included
223
Operations Action that instances/objects can take
Focus on relevant problem- specific operations (at this point)
224
Relationships Generalization Aggregation Association
Enables inheritance of attributes and operations Aggregation Relates parts to wholes Association Miscellaneous relationships between classes
225
Your Turn What classes, attributes, and operations that would be required to describe the process of registration for campus housing?
226
CLASS-RESPONSIBILITY-COLLABORATION CARDS
227
Responsibilities and Collaborations
Knowing Doing Collaboration Objects working together to service a request
228
A CRC Card
229
Back of CRC Card
230
CLASS DIAGRAMS
231
Example Class Diagram
232
Class Diagram Syntax A CLASS Class 1 -attribute +operation ()
AN ATTRIBUTE AN OPERATION AN ASSOCIATION Class 1 -attribute +operation () Attribute name/ derived attribute name operation name () 1..* 0..1 ______verb phrase____
233
More on Attributes Derived attributes
/age, for example can be calculated from birth date and current date Visibility Public Protected Private
234
More on Operations Constructor Creates object Query
Makes information about state available Update Changes values of some or all attributes
235
Generalization and Aggregation
Generalization shows that a subclass inherits from a superclass Doctors, nurses, admin personnel are kinds of employees Aggregation classes comprise other classes Health team class comprised of doctor, nurses, admin personnel classes
236
More on Relationships Class can be related to itself (role)
Multiplicity Exactly one, zero or more, one or more, zero or one, specified range, multiple disjoint ranges Association class
237
Simplifying Class Diagrams
The view mechanism shows a subset of information Packages show aggregations of classes (or any elements in UML)
238
Object Diagrams
239
CREATING CRC CARDS AND CLASS DIAGRAMS
240
Object Identification
Textual analysis of use-case information Nouns suggest classes Verbs suggest operations Creates a rough first cut Common object list Incidents Roles
241
Patterns Useful groupings of classes that recur in various situations
Transactions Transaction class Transaction line item class Item class Location class Participant class
242
Steps for Object Identification and Structural Modeling
1. Create CRC cards by performing textual analysis on the use-cases. 2. Brainstorm additional candidate classes, attributes, operations, and relationships by using the common object list approach. 3. Role-play each use-case using the CRC cards. 4. Create the class diagram based on the CRC cards. 5. Review the structural model for missing and/or unnecessary classes, attributes, operations, and relationships. 6. Incorporate useful patterns. 7. Review the structural model.
243
Create CRC cards. Examine common object lists. Role-play the CRC cards. Create the class diagram. Review the class diagram. Incorporate patterns. Review the model.
246
Summary CRC cards capture the essential elements of a class.
Class and object diagrams show the underlying structure of an object-oriented system. Constructing the structural model is an iterative process involving: textual analysis, brainstorming objects, role playing, creating the diagrams, and incorporating useful patterns.
247
Expanding the Domain A quirky and interesting tutorial regarding CRC cards can be found at: butler/tutorials/winter96/crc_b/
248
Systems Analysis and Design with UML Version 2.0, Second Edition
Alan Dennis, Barbara Wixom, and David Tegarden Chapter 8: Behavioral Modeling John Wiley & Sons, Inc. Copyright 2005
249
Behavioral Modeling Chapter 8
250
Key Ideas Behavioral models describe the internal dynamic aspects of an information system that supports business processes in an organization Key UML behavioral models are: sequence diagrams, collaboration diagrams, and statechart diagrams
251
Objectives ■ Understand the rules and style guidelines for sequence and communication diagrams and behavioral state machines. ■ Understand the processes used to create sequence and communication diagrams and behavioral state machines. ■ Be able to create sequence and communication diagrams and behavioral state machines. ■ Understand the relationship between the behavioral models and the structural and functional models.
252
BEHAVIORAL MODELS
253
Purpose of Behavioral Models
Show how objects colaborate to support each use case in the structural model Depict the internal view of the business process To show the effects of varied processes on the system
254
Interaction Diagram Components
Objects Instantiation of a class Has attributes that describe an object Operations Send and receive messages Messages Tell object to execute a behavior
255
Sequence Diagrams Illustrate the objects that participate in a use-case Show the messages that pass between objects for a particular use-case
257
Sequence Diagram Syntax
AN ACTOR AN OBJECT A LIFELINE A FOCUS OF CONTROL A MESSAGE OBJECT DESTRUCTION anObject:aClass aMessage() x
258
Building a Sequence Diagram
Determine the context of the sequence diagram Identify the participating objects Set the lifeline for each object Add messages Place the focus of control on each object’s lifeline Validate the sequence diagram
259
Normal Flow of Events: 1. Customer submits a search request to the system. 2. The system provides the customer a list of recommended CDs. 3. The customer chooses one of the CDs to find additional information. 4. The system provides the customer with basic information & CD Reviews 5. The customer calls the maintain order use case. 6. The customer iterates over 3 through 5 until finished shopping. 7. The customer executes the checkout use case. 8. The customer leaves the website.
261
Collaboration Diagrams
Essentially an object diagram that shows message passing relationships instead of aggregation or generalization associations. Emphasize the flow of messages among objects, rather than timing and ordering of messages
262
Example Collaboration Diagram
263
Example Sequence Diagram
Actor Object Association Message Frame
264
Communication Diagrams
1. Set the context. 2. Identify which objects (actors) and the associations between the objects participate in the collaboration. 3. Layout the communication diagram. 4. Add messages. 5. Validate the communication diagram.
265
“CRUD” Analysis Example
266
Building a Collaboration Diagram
Determine the context of the collaboration diagram Identify the participating objects and their associations Layout objects and associations Add messages Validate the sequence diagram
268
Behavioral State Machines
The behavioral state machine is a dynamic model that shows the different states of the object and what events cause the object to change from one state to another, along with its responses and actions.
269
Elements of a Behavioral State Machine
States Events Transitions Actions Activities
270
Example Behavioral State Machine Diagram
271
Behavioral State Machine Diagram Syntax
A STATE AN INITIAL STATE A FINAL STATE AN EVENT A TRANSITION A Frame
272
Building Behavioral State Machine Diagrams
Set the context Identify the initial final, and stable states of the object Determine the order in which the object will pass through stable states Identify the events, actions, and guard conditions associated with the transitions Validate the statechart diagram
274
Your Turn What distinguishes the sequence diagram, the collaboration diagram, and the behavioral state machine diagram? For what sort of new applications might you need to develop all of these? Are there any new applications that would not need all of these diagrams for full development?
275
Summary Sequence diagrams illustrate the classes that participate in a use case and the messages that pass between them. Collaboration diagrams provide a dynamic view of the object-oriented system and accentuate message passing between collaborating actors and objects. Behavioral State Machine diagrams show the different states that a single class passes through in response to events.
276
Expanding the Domain Each year the Association for Computing Machinery (ACM) sponsors a conference on object oriented programming. For details about future conferences and other ACM programs check:
277
Systems Analysis and Design with UML Version 2.0, Second Edition
Alan Dennis, Barbara Wixom, and David Tegarden Chapter 9: Moving on to Design John Wiley & Sons, Inc. Copyright 2005
278
Moving On To Design Chapter 9
279
Key Ideas The purpose of the analysis phase is to figure out what the business needs. The purpose of the design phase is to figure out how to provide it. The steps in both analysis and design phases are highly interrelated and may require much “going back and forth”
280
Objectives ■ Understand the transition from analysis to design.
■ Understand the use of factoring, partitions, and layers. ■ Be able to create package diagrams. ■ Be familiar with the custom, packaged, and outsource design alternatives. ■ Be able to create an alternative matrix.
281
REVISITING THE OBJECT-ORIENTED APPROACH TO ANALYSIS AND DESIGN
282
OO Analysis and Design Foundation
Use-case driven Architecture centric Iterative and incremental
283
Combining Three Views Functional Static Dynamic
284
A “Minimalist” Approach
Planning Gathering requirements Perform a series of “builds” Use results of each build as feedback for design and implementation
285
EVOLVING THE ANALYSIS MODELS INTO DESIGN MODELS
286
Avoid Classic Design Mistakes
Reducing design time Feature creep Silver bullet syndrome Switching tools in mid-project
287
Factoring Creating modules that account for similarities and differences between units of interest New classes Generalization Aggregation Abstracting Refinement
288
Partitions and Collaborations
Creating “subsystems” or larger units Grouping units that collaborate May have collaboration among units or partitions The more messages or contracts between objects, the more likely they are in the same partition
289
Purpose of Layers Model-view-controller (MVC) architecture
Models implement application logic Views and controllers do user interfaces Separating application logic from user interface logic
290
Layers
291
PACKAGES AND PACKAGE DIAGRAMS
292
Packages Logical grouping of UML elements Simplifies UML diagrams
Groups related elements into a single higher-level element Dependency relationships Shows a dependency between packages
293
Syntax for Package Diagram
A PACKAGE Package A DEPENDENCY RELATIONSHIP
294
Package Diagram of Dependency Relationships Among Layers
295
Modification Dependency
Indicates that a change in one package could cause a change to be required in another package. Example: A change in one method will cause the interface for all objects of this class to change. Therefore, all classes that have objects that send messages to the instances of the modified class could have to be modified.
296
Package Diagram of Appointment System
297
Steps for Identifying Packages and Building Package Diagrams
Set the context Cluster classes together based on shared relationships Model clustered classes as a package Identify dependency relationships among packages Place dependency relationships between packages
298
Package Diagram of the PD Layer for the Appointment System
301
DESIGN STRATEGIES
302
Custom Development Allows for meeting highly specialized requirements
Allows flexibility and creativity in solving problems Easier to change components Builds personnel skills May tax firm’s resources May add significant risk
303
Packaged Software Software already written May be more efficient
May be more thoroughly tested and proven May range from components to tools to whole enterprise systems Must accept functionality provided May require change in how the firm does business May require significant “customization” or “workarounds”
304
System Integration The process of combining packages, legacy systems, and new software Key challenge is integrating data Write data in the same format Revise existing data formats Develop “object wrappers”
305
Outsourcing Hire external firm to create system May have more skills
May extend existing resources Never outsource what you don’t understand Carefully choose vendor Prepare contract and payment style carefully
306
Outsourcing Guidelines
Keep lines of communication open with outsourcer Define and stabilize requirements before signing a contract View outsourcing relationship as partnership Select outsource vender carefully Assign person to manage relationship Don’t outsource what you don’t understand Emphasize flexible requirements, long-term relationships, and short-term contracts
307
Selecting a Design Strategy
Business need In-house experience Project skills Project management Time frame
308
Your Turn Suppose that your university is interested in creating a new course registration system that can support Web-based registration? What should the university consider when determining whether to invest in a custom, packaged, or outsourcing system solution?
309
DEVELOPING THE ACTUAL DESIGN
310
The Alternative matrix
Combines several feasibility analyses into one grid Revisits technical, economic, and organizational feasibility
311
Request for Proposals Description of the system you propose to be built Vendors, developers, service providers respond with proposals including how they will address needs as well as stating cost and time requirements.
313
Summary When evolving analysis into design models, it is important to review the analysis models then add system environment information. Packages and package diagrams help provide structure and less complex views of the new system. Custom building, packages, and outsourcing are alternative ways of creating the new system. The alternative matrix can help with the selection of a design strategy.
314
Expanding the Domain Smalltalk is an object-oriented programming language with many very loyal adherents. For more information check the site at: html
315
Systems Analysis and Design with UML Version 2.0, Second Edition
Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 10: Class and Method Design John Wiley & Sons, Inc. Copyright 2005
316
REVISITING THE BASIC CHARACTERISTICS OF OBJECT-ORIENTATION
317
Levels of Abstraction
318
Elements Classes Objects Attributes States Methods Messages
319
Encapsulation Hiding the content of the object from outside view
Communication only through object’s methods Key to reusability
320
Polymorphism Same message triggers different methods in different objects Dynamic binding means specific method is selected at run time Implementation of dynamic binding is language specific Need to be very careful about run time errors Need to ensure semantic consistency
321
Inheritance Single inheritance -- one parent class
Multiple inheritance -- multiple parent classes Redefinition and inheritance conflict Most inheritance conflicts are due to poor classification
322
Rumbaugh’s Rules Query operations should not be redefined
Methods that redefine inherited ones should only restrict the semantics of the inherited ones The underlying semantics of the inherited method should never be changed The signature (argument list) of the inherited method should
323
Additional Inheritance Conflicts
Two inherited attributes or methods have same name and semantics Two inherited attributes or methods have different name, but same semantics Two inherited attributes or methods have same name and different semantics
324
Inheritance Conflicts with Multiple Inheritance
325
Design Criteria Chapter 10
326
Coupling Indicates the interdependence or interrelationships of the modules Interaction coupling Relationships with methods and objects through message passage
327
Interaction Coupling
328
Types of Method Cohesion
329
Ideal Class Cohesion Contain multiple methods that are visible outside the class Have methods that refer to attributes or other methods defined with the class or its superclass Not have any control-flow coupling between its methods
330
Types of Class Cohesion
331
Connascence Two modules (classes or methods) are so intertwined, that if you make a change in one, it is likely that a change in the other will be required
332
Connascence and Encapsulation Levels
Minimize overall connascence by eliminating any unnecessary connascence throughout the system, Minimize connascence across any encapsulation boundaries, such as method boundaries and class boundaries, Maximize connascence within any encapsulation boundary.
333
Object Design Activities
334
Types of Connascence
335
Additional Specification
Ensure the classes are both necessary and sufficient for the problem Finalize the visibility of the attributes and methods of each class Determine the signature of every method of each class Define constraints to be preserved by objects
336
Identifying Opportunities for Reuse
Analysis patterns Design patterns Frameworks Libraries components
337
Sample Design Pattern
338
Restructuring the Design
Factoring Separate aspects of a method or class into a new method or class Normalization Identifies classes missing from the design Challenge inheritance relationships to ensure they only support a generalization/specialization semantics
339
Optimizing the Design Review access paths between objects
Review each attribute of each class Review fan-out of each method Examine execution order of statements Create derived activities
340
Map Problem Domain Classes to Implementation Languages
Single-Inheritance Language Convert relationships to association relationships Flatten inheritance hierarchy by copying attributes and methods of additional superclass(es)
341
Implement in Object-Based Language
Factor out all uses of inheritance from the problem domain class design
342
Your Turn Dentist office appointment system
Assume that you now know that the system must be implemented in Visual Basic 6, which does not support implementation inheritance. As such, redraw the class diagram factoring out the use of inheritance in the design by applying the above rules.
343
Implement in a Traditional Language
Stay away from this! But if necessary, factor out all uses of Polymorphism Dynamic binding Encapsulation Information hiding
344
Constraints and Contracts
345
Types of Constraints Pre-Conditions Post-condition Invariants
A constraint to be met to allow a method to execute Post-condition A constraint to be met after a method executes Invariants Constraints that must be true for all instances of a class
346
Invariants
347
Elements of a Contract
348
Your Turn Using the CRC card in Figure , the class diagram in Figure 10-12, and the sample contract format in Figure as guides, create contracts for the Calculate subtotal, Calculate tax, Calculate shipping, and Calculate total methods.
349
Method Specification
350
Method Specification General information Events Message passing
Algorithm specification Structured English Pseudocode UML activity diagram
351
Applying the Concepts at CD Selections
352
Revised CD Selections Class Diagram
353
Back of CD CRC Card
354
Get Review Method Contract
355
Revised Package Diagram
356
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 11: Data Management Layer Design Alan Dennis, Barbara Wixom, and David Tegarden © 2005 John Wiley & Sons, Inc.
357
Data Management Layer Design
Chapter 11
358
Objectives Become familiar with several object-persistence formats.
Be able to map problem domain objects to different object-persistence formats. Be able to apply the steps of normalization to a relational database. Be able to optimize a relational database for object storage and access. Become familiar with indexes for relational databases. Be able to estimate the size of a relational database. Be able to design the data access and manipulation classes.
359
Data Management Layer Choose object-persistence format to support the system Problem domain objects drive object storage design Design of Data Storage Must optimize processing efficiency Data access and manipulation Separate problem domain classes from storage format Handle all communication with the database
360
Object Persistence Formats
Files (Sequential and Random) Relational databases Object-relational databases Object-oriented databases
361
Customer Order File
362
Sequential and Random Access Files
Sequential access files allow sequential operations Read, write, and search Efficient for report writing Searches are not efficient because an average of 50% of records have to be accessed Two versions Ordered unordered
363
Random Access Files Allow only random or direct file operations
Good for finding and updating a specific object Inefficient report writing
364
Application File Types
Master Files Look-up files Transaction files Audit file History file
365
Relational Databases Collection of tables Tables related to each other
Comprised of fields that define entities Primary key has unique values in each row of a table Foreign key is primary key of another table Tables related to each other Primary key field of a table is a field of another table and called a foreign key Relationship established by a foreign key of one table connecting to the primary key of another table
366
Customer Order Database
Please Eliminate this line
367
Database Management System (DBMS)
Software that creates and manipulates a database RDBMS is a DBMS for a relational database RDBMS usually support Referential Integrity
368
Referential Integrity
the idea of ensuring that values linking the tables together through the primary and foreign keys are valid and correctly synchronized.
369
Referential Integrity Example
Cust. ID is a primary key for the customer table Cust. ID is a foreign key for the order table A violation of referential integrity would happen if an order was entered in the order table for a Cust. ID that had not been entered into the customer table first An RDBMS prevents such a record from being entered
370
Example of Referential Integrity
371
Structured Query Language (SQL)
Standard language for accessing data in tables SQL Commands Create, edit, and delete tables Add, edit, and delete data Display data from one or more related tables Display data computed from data in one or more related tables
372
Object-Relational Databases
Relational database management systems with extensions that handle object storage in the relational table structure This is done by user defined types Example: Create a map data type
373
Vendors Support ORDBMS
SQL designed for simple data types Vendors extend SQL to handle user data types in Object Relational Databases Usually they don’t support most object oriented features e.g. inheritance
374
Object-Oriented Databases (OODBMS)
Add persistence extensions to an object-oriented programming language Create a entirely separate database management system
375
OODBMS Terminology Extent is a collection of objects
Set of instances associated with a particular class (RDBMS table) Each instance of a class has a unique identifier called an object ID Referential integrity still important Supports a form of inheritance
376
OODBMS Support Allow repeating groups or multivalued attributes
Supports multimedia or other complex data applications CAD/CAM Financial services Geographic information systems Health care
377
Major Strengths & Weaknesses
Files Very efficient for given task Manipulation done by OOPL Redundant data usually results RDBMS Proven commercial technology Handle diverse data No support for object orientation
378
More Strengths and Weaknesses
ORDBMS Inherit RDBMS strengths Support complex data types Limited support for object-orientation (vendor dependent) OODBMS Support object-orientation directly Still maturing (lacks skilled labor and may have a steep learning curve)
379
Criteria for Object Persistence Formats
Data types supported Types of application systems (transaction processing, DSS, …) Existing Storage Formats Future Needs Other miscellaneous Criteria (cost, concurrency control, …)
380
Mapping Objects to Object-Persistence Formats
381
Multiple Inheritance Effect Rules
Results when you have more than one super class Rule 1a. Add an attribute(s) to the OODBMS class to represent the additional super class Rule 1b. Flatten the inheritance hierarchy and remove additional super classes from the design
382
Mapping to Single I-B OODBMS
383
Using Rule 1a Added an attribute to Class1-OODBMS that represents an association with Super-Class2-OODBMS, Added attributes to Class2-OODBMS that represents an association with Super-Class2-OODBMS, Added a pair of attributes to SuperClass2-OODBMS that represents an association with Class1-OODBMS and Class2-OODBMS, for completeness sale, and Added associations between Class2-OODBMS and SuperClass2-OODBMS and Class1-OODBMS and SuperClass2-OODBMS that have the correct multiplicities and the XOR constraint explicitly shown.
384
Mapping PDO to ORDBMS
385
Mapping Table to PD Classes
386
Mapping PD Objects to RDBMS Schema
Rule 1: Map all concrete problem domain classes to the RDBMS tables. Rule 2: Map single valued attributes to columns of the tables. Rule 3: Map methods to stored procedures or to program modules. Rule 4: Map single-valued aggregation and association relationships to a column that can store the key of the related table Rule 5: Map multi-valued attributes and repeating groups to new tables and create a one-to-many association from the original table to the new ones. Rule 6: Map multi-valued aggregation and association relationships to a new associative table that relates the two original tables together. Copy the primary key from both original tables to the new associative table Rule 7: For aggregation and association relationships of mixed type, copy the primary key from the single-valued side (1..1 or 0..1) of the relationship to a new column in the table on the multi-valued side (1..* or 0..*) of the relationship that can store the key of the related table Rule 8a: Ensure that the primary key of the subclass instance is the same as the primary key of the superclass.. OR Rule 8b: Flatten the inheritance
387
Mapping RDBMS Tables to Problem Domain Classes
388
Optimize RDBMS Object Storage
No redundant data Wastes space Allow more room for error Few null values in tables Difficult to interpret
389
Example of Non-normalized Data
390
Normalization
391
Normalization Example
Original Model
392
3NF Normalized Model
393
Problems with RDBMS To access data in multiple tables, the tables must be joined This can result in many database operations and lead to huge tables and slow processing
394
Speeding up access Denormalization – Adds data from one table to another in order to speed processing and eliminate a join operation Example: Add customer last name to order table to avoid joining order to customer to get just last name
395
Example
396
Denormalization Candidates
Lookup Tables one-to-one relationships include a parent entity’s attributes in its child entity on the physical data model
397
Clustering Interfile clustering
Arrange records on storage media so that similar records are stored close together inter-file cluster would be similar to storing peanut butter, jelly, and bread next to each other in a grocery store since they are often purchased together.
398
Indexing An index in data storage is like an index in the back of a textbook; it is a mini table that contains values from one or more columns in a table and the location of the values within the table. A query can use an index to find the locations of only those records that are included in the query answer, and a table can have an unlimited number of indexes but too many can add overhead
399
Indexing Example
400
Estimating Data Storage Size
sum the values of the average width of each column (field) to find total record size Add overhead (vendor may provide an estimate) Estimate the number of records you plan to have in the database
401
Data Sizing Example
402
DESIGNING DATA ACCESS AND MANIPULATION CLASSES
Design data access and manipulation classes Prevent data management functionality from creeping into the problem domain classes
403
Mapping PD Objects
404
CD Selections Example Most of the data would be text and numbers
Thus a relational database would be able to handle the data effectively However, images for the catalog require complex data objects for sound and video
405
Looking at the Data Needs
406
Object Persistent Design
407
Optimizing Application
408
Problem Domain Layer
409
Summary Choose an object-persistent format
Files (sequential or Random Access) Databases (RDBMS, ORDBMS, OODBMS) Map problem domain objects to Data Optimizing object storage Normalization Denormalization, clustering, Indexes Design Data Access and Manipulation Classes
410
Systems Analysis and Design
Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
411
Objectives ■ Understand several fundamental user interface design principles. ■ Understand the process of user interface design. ■ Understand how to design the user interface structure. ■ Understand how to design the user interface standards. ■ Understand commonly used principles and techniques for navigation design. ■ Understand commonly used principles and techniques for input design. ■ Understand commonly used principles and techniques for output design. ■ Be able to design a user interface.
412
Principles for User Interface Design
PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
413
Principles
414
User Interface Design Process
Chapter 12 PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
415
Key Definitions The navigation mechanism provides the way for users to tell the system what to do The input mechanism defines the way the system captures information The output mechanism defines the way the system provides information to users or other systems
416
Key Definitions The graphical user interface (GUI) is the most common type of interfaces most students are likely to use personally and for developing systems.
417
Use Scenario Development
418
Window Navigation Diagram
419
Interface Standards Design
The interface standards are the basic design elements that are common across the individual screens, forms, and reports within the system.
420
Interface Design Prototyping
Storyboard HTML Prototype Language Prototype Interface Evaluation Heuristic Walkthrough Interactive Formal Usability Testing
421
NAVIGATION DESIGN PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
422
Basic Principles Assume users Have not read the manual
Have not attended training Do not have external help readily at hand All controls should be clear and understandable and placed in an intuitive location on the screen.
423
Basic Principles Prevent mistakes Limit choices
Never display commands that can’t be used (or “gray them out”) Confirm actions that are difficult or impossible to undo Simplify recover from mistakes Use consistent grammar order
424
Types of Navigation Control
Languages Command language Natural language Menus Generally aim at broad shallow menu Consider using “hot keys” Direct Manipulation Used with icons to start programs Used to shape and size objects May not be intuitive for all commands
425
A Traditional Menu in a UNIX System
426
Common Types of Menus
427
Example of an Image Map
428
Types of Menus When Would You Use Each of These Menu Types?
Menu bar Drop-down menu Pop-up menu Tab menu Toolbar Image map When Would You Use Each of These Menu Types?
429
Message Tips Should be clear, concise, and complete
Should be grammatically correct and free of jargon and abbreviations (unless they are the users) Avoid negatives and humor
430
Types of Messages When Would You Use Each of These Message Types?
Error message Confirmation message Acknowledgment message Delay message Help message When Would You Use Each of These Message Types?
431
An Example of Crafting an Error Message
432
Your Turn Pretend that you are designing the new interface to a career services system at your university. How would you incorporate the basic principles of input design into your interface design?
433
INPUT DESIGN PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
434
Basic Principles The goal is to simply and easily capture accurate information for the system Reflect the nature of the inputs Find ways to simplify their collection
435
Online versus Batch Processing
Online processing immediately records the transaction in the appropriate database Batch processing collects inputs over time and enters them into the system at one time in a batch Batch processing simplifies data communications and other processes, but means that inventory and other reports are not accurate in real time
436
Capture Data at the Source
Reduces duplicate work Reduces processing time Decreases cost Decreases probability of error
437
Source Data Automation
Can be obtained by using the following technologies: bar code readers optical character recognition magnetic stripe readers smart cards How can internet be used for source data automation?
438
Minimize Keystrokes Never ask for information that can be obtained in another way List selection is more efficient than entering information Use default values where possible
439
Types of Inputs Data items linked to fields Text Numbers
Selection boxes
440
Types of Input Boxes
441
Types of Selection Boxes
Types of Boxes Check box Radio button On-screen list box Drop-down list box Combo box Slider When Would You Use Each of These Box Types?
442
Types of Input Validation
Types of Validation Completeness check Format check Range check Check digit check Consistency check Database checks When Would You Use Each of These Validation Methods?
443
Your Turn Consider a Web form that a student would use to input student and resume information into a career services application. Sketch out how this form would look and what data fields would be used What validity checks would you need? Note to faculty using these slides: The essence of function point analysis is that even when you start with purely arbitrary numbers, as you continue to apply function points project after project, your estimation should become more and more accurate. At some point more accurate estimation lets you allocate the correct amount of resource -- not being too wasteful, nor experiencing staffing “stock-outs”. It also helps the IT department show that it is performing according to reasonable historic estimates rather than arbitrary deadlines and price allocations.
444
OUTPUT DESIGN PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
445
Basic Principles Understand report usage Reference or cover-to-cover?
Frequency? Real-time or batch reports? Manage information load All needed information, no more Minimize bias
446
Bias in Graphs
447
Types of Reports When Would You Use Each of These Report Types?
Detail reports Summary report Turnaround document Graphs When Would You Use Each of These Report Types?
448
Report Media Electronic Versus Paper
449
Your Turn Under what conditions would you be most likely to replace reports on paper with ones delivered electronically? When might you NOT want to make the change? Note to faculty using these slides: The essence of function point analysis is that even when you start with purely arbitrary numbers, as you continue to apply function points project after project, your estimation should become more and more accurate. At some point more accurate estimation lets you allocate the correct amount of resource -- not being too wasteful, nor experiencing staffing “stock-outs”. It also helps the IT department show that it is performing according to reasonable historic estimates rather than arbitrary deadlines and price allocations.
452
Summary The fundamental goal of navigation design is to make the system as simple to use as possible The goal of input mechanism is to simply and easily capture accurate information The goal of the output mechanism is to provide accurate information to users that minimize information overload and bias
453
Expanding the Domain For many years, the University of Maryland has been a leader in research for ideas in human-computer interfaces. For more information investigate:
454
Systems Analysis and Design With UML 2
Systems Analysis and Design With UML 2.0 An Object-Oriented Approach, Second Edition Chapter 13: Physical Architecture Layer Design Alan Dennis, Barbara Wixom, and David Tegarden © 2005 John Wiley & Sons, Inc.
455
Physical Architecture Layer Design
Chapter 13
456
Objectives Understand the different physical architecture components.
Understand server-based, client-based, and client server physical architectures. Be familiar with distributed objects computing. Be able to create a network model using a deployment diagram. Understand how operational, performance, security, cultural, and political requirements affect the design of the physical architecture layer. Be familiar with how to create a hardware and software specification.
457
Physical Architecture
Software Components Data Storage Data Access Logic Application logic Presentation logic Hardware Components Client computers Servers Connecting network
458
Server Based Architecture
Client is a terminal Server has functions of Presentation logic Application logic Data access logic Data storage
459
Server Based Architecture
460
Client-Server Architectures
Thin Client/Fat Server Client is little more than a terminal Server handles all processing Fat Client/Thin Server Client does all processing Server may just store data
461
Thick Client
462
Server has Data 2-Tiered Architecture
463
Client has Presentation Logic
3-tiered Architecture
464
N-tiered Architecture
465
Client-Server Benefits
Scalable Support multiple clients and servers Using Internet Standards Presentation logic can be separated Multiple servers make for a generally more reliable network
466
Middleware Middleware is a type of system software designed to translate between different vendors’ software. Middleware is installed on both the client computer and the server computer. The client software communicates with the middleware that can reformat the message into a standard language that can be understood by the middleware that assists the server software
467
Client-Server Limitations
Complexity Updating the network computers is more complex
468
Distributed Objects Computing
This is commonly called middleware DOC allows the developer to simply concentrate on the users, objects, and methods of an application instead of worrying about which server contains which set of objects. The client object simply requests the “network” to locate and execute the server object’s method.
469
Competing Approaches Object Management Group Sun Microsoft
Common Object Request Broker Architecture (CORBA) Sun Enterprise JavaBeans (EJB) Java 2 Enterprise Edition (J2EE) Microsoft Distributed Component Object Model (DCOM) .net initiative
470
Selecting a Physical Architecture
Cost of Infrastructure Cost of Development Ease of Development Interface Capabilities Control and Security Scalability
471
Characteristics
472
Deployment Diagram Components
Nodes Any piece of hardware in the model Artifacts Piece of the information system such as software component, database table, … Communication paths Links between nodes of the network
473
Deployment Diagram
474
Deployment Diagram (cont.)
475
Diagram Examples
476
The Network Model The network model is a diagram that shows the major components of the information system (e.g., servers, communication lines, networks) and their geographic locations throughout the organization.
477
Network Model Example
478
NonFunctional Requirements
Operational Specify the operating environment Technical Environment Type of hardware and software System Integration Interaction with other systems Portability Response to changing environments Maintainability Expected business requirement changes
479
Performance Requirements
Speed Response time of the system Transaction update time Capacity Number of users Volume of data Availability and Reliability Specify available times Permissible failure rate Security Protect from disruption and data loss
480
Security
481
Cultural and Political
Multilingual Customization Making unstated norms explicit Legal requirements
482
Cultural and Political Rqrts.
483
Synopsis
484
Sample Specifications
485
CD System –Op. Rqrts.
486
CD Systems - Performance
487
CD Systems – Security/Cultural
488
Summary Physical Architecture Layer Infrastructure design
Choose server vs. client-server Middleware Assess strengths and weaknesses Infrastructure design Various clients Network equipment Nonfunctional Requirements Operational Performance Security Hardware and software specification
489
Systems Analysis and Design
Alan Dennis, Barbara Haley Wixom, and David Tegarden Chapter 14: Construction Copyright 2005 John Wiley & Sons, Inc. PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
490
Construction Chapter 14 PowerPoint Presentation for Dennis, Wixom & Tegardem Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved.
491
Key Concepts ■ Be familiar with the system construction process.
■ Understand different types of tests and when to use ■ Understand how to develop documentation.
492
Managing Programming Assigning Programmers Coordinating Activities
Managing the Schedule 492
493
Coordinating Activities
Regular Project Meetings Follow standards File naming Forms to be completed Programming guidelines Coordinate traceability of implementation to requirements
494
Managing the Schedule Control scope creep Manage schedule slippage
Create a risk assessment
495
Avoid Implementation Mistakes
Research-oriented development Using low-cost personnel Lack of code control Inadequate testing
496
Designing Tests Unit tests Integration tests System tests
Acceptance tests
497
Testing and Object Orientation
Encapsulation and information hiding Polymorphism and dynamic binding Inheritance reuse
498
Unit or Class Tests Focus on a single unit – the class
Black-box Testing White-box Testing Develop tests for each contract of a class Test for initial conditions Possibly test for random inputs
499
Integration Tests How a set of classes work together
Classes pass unit tests first Interface testing Use-Case Testing Interaction Testing System Interface Testing
500
System Testing Requirements Usability Security Performance
Documenation
501
Acceptance Testing Alpha Beta
Conducted by users to ensure they accept the system Beta Users use real data, not test data
502
Developing Documentation
System Documentation Produced by systems analysis and design process Automate documentation for classes and methods User Documentation User Manuals Training Manuals Online Help Systems
503
Online Documentation Strengths
Facilitates searching Same information can be presented in different formats Provide interaction with users using links or “tool-tips” Less expensive to distribute
504
Designing Documentation Structure
Table of Contents Navigation Controls lead user to Documentation topics How to perform certain tasks Definitions of important terms
505
Online Documentation Example
506
Documentation Writing
Use Active Voice E-prime Style Consistent terms Simple language Friendly language Parallel grammatical structures Correct use of steps Short paragraphs
507
Applying Concepts at CD Selections
Managing Programming 3 programmers Testing Unit Test – Blackbox tests Integration – User Interfaces System – Requirements, security, performance, and Usability Acceptance – Alpha and Beta
508
Develop User Documentation
Reference Documents for web interface and system management components Help topics Documentation Component Table of Contents Index Find or search Links to definitions
509
Summary Assign programmers and coordinate their activities
Plan for the testing of all aspects of the application Write the documentation for both the systems side and the user aspect
510
Systems Analysis and Design
Alan Dennis, Barbara Wixom, and David Tegarden Chapter 15: Installation and Operations Copyright 2005 John Wiley & Sons, Inc.
511
Installation ■ Be familiar with the system installation process.
■ Understand different types of conversion strategies and when to use them. ■ Understand several techniques for managing change. ■ Be familiar with post-installation processes.
512
Key Ideas Transitioning to new systems involves managing change from pre-existing norms and habits. Change management involves: Unfreezing -- loosening up peoples’ habits and norms Moving -- transition from old to new systems Refreezing -- institutionalize and make efficient the new way of doing things
513
Implementing Change
514
Key Ideas Post-implementation activities include providing:
System support, such as help desks Systems maintenance, fixing bugs and providing improvements Project assessment, learning how to improve from project experiences
515
CONVERSION
516
Migration Planning What activities will be performed when and by whom
Technical aspects Installing hardware and software Converting data Organizational aspects Training users on the system Motivating employees to use the new system to aid in their work
517
Elements of a Migration Plan
518
Conversion Styles Direct conversion Parallel conversion
The new system instantly replaces the old Parallel conversion For a time both old and new systems are used. The old is abandoned when the new is proven fully capable
519
Conversion Location Pilot conversion Phased conversion
One or more locations are converted to work out bugs before extending to other locations Phased conversion Locations are converted in sets Simultaneous conversion All locations are converted at the same time
520
Conversion Modules Whole system conversion Modular conversion
All modules converted in one step Modular conversion When modules are loosely associated, they can be converted one at a time
521
Conversion Strategies
522
Key Factors in Selecting a Conversion Strategy
Risk Seriousness of consequences of remaining bugs Cost Parallel requires paying for two systems for a period of time Simultaneous requires more staff to support all locations Time Parallel, phased, and modular require more time
523
Characteristics of Conversion Strategies
524
Your Turn Suppose you are leading the conversion from one word processor to another at your university. Which conversion strategy would you use? Suppose you are converting to a new web-based course registration system? Which conversion strategy would you use for this?
525
CHANGE MANAGEMENT
526
Key Roles in Change Management
The sponsor is the business person who initiated the request for the new system The change agent is the person(s) who lead the change effort The potential adopter(s) are the people who must change.
527
Change Management Actors
528
Understanding Resistance to Change
What is good for the organization, is not necessarily good for the individuals who work there Cost versus benefit of transition as well as of to-be system Adapting to new work processes requires effort, for which there may be no additional compensation
529
Costs and Benefits of Change
530
Revising Management Policies
No computer system will be successfully adopted unless management policies support its adoption Management tools for supporting adoption Standard operating procedures (SOPs) Measurements and rewards Resource allocation
531
Your Turn Identify and explain three standard operating procedures for the course in which you are using this book Discuss whether they are formal or informal
532
Assessing Costs and Benefits
Factors in Successful Change Benefits of to-be system Certainty of benefits Costs of transition Certainty of costs What Actions Will Encourage the Fullest Measure of Each Factor?
533
Motivating Adoption The information strategy aims to convince adopters that change is better The political strategy uses organizational power to motivate change Differentiate between ready adopters, reluctant adopters, and resistant adopters
534
Training Every new system requires new skills
New skills may involve use of the technology itself New skills may be needed to handle the changed business processes
535
What to Train Should focus on helping users accomplish their tasks
Use cases provide an outline for common activities and a basis to plan training
536
Types of Training When Would You Use Each of These Training Methods?
One-to-One Classroom Computer-Based When Would You Use Each of These Training Methods?
537
Selecting a Training Method
538
POST-IMPLEMENTATION ACTIVITIES
539
Institutionalization of the System
Provide support Assistance in using the system Provide maintenance Repair or fix discovered bugs or errors Add minor enhancements to provide added value Assess the project Analyze what was done well Discover what activities need improvement in the future
540
Types of System Support
On-demand training at time of user need Online support Frequently asked questions (FAQ) Help desk Phone service for known issues Level 2 Support
541
System Maintenance System maintenance is the process of refining the system to make sure it continues to meet business needs
542
Sources of Change Requests
Operations group problem reports User requested enhancements Other system development projects Changes in underlying systems Organization strategy changes
543
Processing a Change Request
544
Project Assessment Important for continued project improvement
Especially important for junior personnel to improve quickly
545
Project Team Review Each member prepares 2-3 page document regarding her or his actions during the project Focus on improvement not penalties Excellent behaviors are acknowledged and diffused to others Team leader summarizes and distributes lessons learned
546
System Review Examine the extent to which the costs and benefits of the system are realized Use this information to help in more accurately estimating costs and benefits for future projects
547
How did the conversion go at CD Selections?
What did CD Selections do to aid change management processes? What were the post-implementation activities at CD Selections?
548
Summary Conversion is the technical process of replacing the old system with the new one. Designers select the method, timing, and location of the conversion process. Change management is aimed at helping system users to adopt the new system and use it productively
549
Summary Post implementation activities provide on-going support to users, include training people to use the system and provide participants in the development process the opportunity to learn and grow from their experiences
550
Expanding the Domain http://www.astd.org/
An excellent source of information all aspects of training Computer- Based, web-based, and classroom is the American Society for Training and Development:
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.