Presentation is loading. Please wait.

Presentation is loading. Please wait.

Systems Analysis and Design with UML Version 2.0

Similar presentations


Presentation on theme: "Systems Analysis and Design with UML Version 2.0"— Presentation transcript:

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.

244

245

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

256

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.

260

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

267

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

273

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

299

300

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.

312

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.

450

451

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:


Download ppt "Systems Analysis and Design with UML Version 2.0"

Similar presentations


Ads by Google