12-IntroToDesign.pdf
Document Details
Uploaded by WinningZircon
The University of Winnipeg
2022
Tags
Full Transcript
ACS2913 Software Requirements Analysis and Design Instructor: David Tenjo INTRODUCTION TO SYSTEM DESIGN THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 1 The Elements of Design Inputs and Outputs for Systems Design Object-Oriented Design: Bridging from Analysis to Implementation Chapter 6 Out...
ACS2913 Software Requirements Analysis and Design Instructor: David Tenjo INTRODUCTION TO SYSTEM DESIGN THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2022 1 The Elements of Design Inputs and Outputs for Systems Design Object-Oriented Design: Bridging from Analysis to Implementation Chapter 6 Outline Object-Oriented Architectural Design Fundamental Principles of Object-Oriented Detailed Design Design Classes and the Design Class Diagram Detailed Design with CRC Cards Fundamental Detailed Design Principles ACS 2913 - THE UNIVERSITY OF WINNIPEG 2 This chapter introduces system design and the design activities involved in systems development Design bridges the gap between requirements to actual implementation Overview Objective of design is to define, organize, and structure the components of the final solution to serve as a blue print for construction In this chapter, an emphasis is placed on application design using OO principles 3 Analysis provides the starting point for design Design provides the starting point for implementation What is systems design? Analysis and design results are documented to coordinate the work Objective: to define, organize and structure the components of the final solution to the system that wills serve as a blueprint to construction Systems Analysis and Design in a Changing World, 7th Ed - Chapter 6 ©2016. Cengage Learning. All rights reserved. ACS 2913 - THE UNIVERSITY OF WINNIPEG 4 Analysis to Design to Implementation SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH ED - CHAPTER 6 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED. Two Levels of Design Architectural Design Detailed Design Broad design of the overall system infrastructure Low level design that includes the design of the specific program details Also called General Design and Conceptual Design • Design of each use case • Design of the database • Design of user and system interfaces • Design of controls and security ACS 2913 - THE UNIVERSITY OF WINNIPEG 6 Input: The input to design activities consists of documents and models build during earlier activities (Analysis) On iterative projects analysis and design activities are often done concurrently. Inputs and Outputs for Systems design However, the first focus of an iteration should always be identifying and specifying requirements (i.e. analysis) and then determining solutions (i.e. design) Output: Design is also a model-building activity Design is much more oriented toward technical issues and therefore requires less user involvement and more involvement by other systems professionals Design involves describing, organizing, and structuring the system solution The output is set of diagrams and documents that record various aspects of the solution system ACS 2913 - THE UNIVERSITY OF WINNIPEG 7 Documents and models build during earlier activities (Analysis) Design Diagrams and documents that record various aspects of the solution system Inputs and Outputs THE UNIVERSITY OF WINNIPEG - ACS 2913 - FALL 2016 8 Analysis Objectives versus Design Objectives ACS 2913 - THE UNIVERSITY OF WINNIPEG 9 Analysis Models to Design Models SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH ED - CHAPTER 6 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED. Design Activities ACS 2913 - THE UNIVERSITY OF WINNIPEG 11 Design Activities and Key Question ACS 2913 - THE UNIVERSITY OF WINNIPEG 12 Two key elements in the environment ◦ Communications with External Systems Describe the Environment ◦ ◦ ◦ ◦ ◦ Message formats Web and networks Communication protocols Security methods Error detection and recovery ◦ Conforming to an existing Technology Architecture ◦ Discover and describe existing architecture ◦ Chapter 7 provides more details SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH ED - CHAPTER 6 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED. Design the Application Components An application component is a well-defined unit of software that performs some function(s) Issues involve how to package components including ◦ Scope and size – what are the functions, boundaries, interfaces? ◦ Programming language – what are the accepted languages? ◦ Build or buy – is an acceptable version available to purchase? SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH ED - CHAPTER 6 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED. Design Activities: Design the application architecture and software Partition system into subsystems Define software architecture ◦ Three layer or model-view-controller Detailed design of each use case ◦ Design class diagrams ◦ Sequence diagrams ◦ State machine diagrams ACS 2913 - THE UNIVERSITY OF WINNIPEG 15 Typical models for defining application components SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH ED - CHAPTER 6 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED. Design Class Diagram Detail design for two use cases: Process New Sale Make payment ACS 2913 - THE UNIVERSITY OF WINNIPEG 17 Dialog design begins with requirements Design Activities: Design the user interfaces ◦ Use case flow of activities ◦ System sequenced diagram Design adds in screen layout, look and feel, navigation, user experience Now we require interface design for many different environment and devices ◦ Smart phone ◦ Notebooks, tablets, iPads ACS 2913 - THE UNIVERSITY OF WINNIPEG 18 Design Activities: Design the system interfaces Information system interacts with many other systems, internal and external ◦ Much more integration now System interfaces connect with other systems in many different ways ◦ ◦ ◦ ◦ Save data another system uses Read data another system saved Real time request for information Software services ACS 2913 - THE UNIVERSITY OF WINNIPEG 19 Starting with the domain model class diagram (or ERD) Choose database structure Design Activities: Design the database ◦ Usually relational database ◦ Could be ODBMS framework Design architecture (distributed, etc.) Design database schema ◦ Tables and columns in relational Design referential integrity constraints ◦ Foreign key references ACS 2913 - THE UNIVERSITY OF WINNIPEG 20 Typical Design Class Diagram with attributes and methods Design Software Classes and Methods AKA Detailed Design A model building activity Design Class Diagram Sequence Diagrams State-Machine Diagrams SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH ED - CHAPTER 6 ©2016. CENGAGE LEARNING. ALL RIGHTS RESERVED. Design Activities: Design the security and system controls ➢Protect the organization’s assets ➢Becomes crucial in Internet and wireless ➢User interface controls ➢Application controls ➢Database controls ➢Network controls ACS 2913 - THE UNIVERSITY OF WINNIPEG 22 Summary This chapter introduces the concept of Systems Design ◦ Analysis is fact finding and modeling ◦ Design is modeling to specify how system will be implemented ◦ Design is bridge between analysis an implementation Activities of Systems Design ◦ ◦ ◦ ◦ ◦ Describe the environment Design the application components Design the User Interface Design the database Design the software classes and methods SYSTEMS ANALYSIS AND DESIGN IN A CHANGING WORLD, 7TH ED - CHAPTER 6 LEARNING. ALL RIGHTS RESERVED. ©2016. CENGAGE