SA Capstone Requirements and Design Week 6 SYST Winter 2015

Slides:



Advertisements
Similar presentations
Systems Analysis and Design in a Changing World, Fourth Edition
Advertisements

Computer Monitoring System for EE Faculty By Yaroslav Ross And Denis Zakrevsky Supervisor: Viktor Kulikov.
Satzinger, Jackson, and Burd Object-Orieneted Analysis & Design
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Object-Oriented Analysis and Design
Objectives Design Class Diagrams Issues in system design Generalization Review UML papers.
The Design Discipline.
SA Capstone Requirements and Design Week 6 SYST Winter 2014
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, Fifth Edition
Systems Analysis and Design in a Changing World, 6th Edition
1 SA Capstone Requirements and Design Week 6 SYST Winter 2015 Some slides adapted from: Systems Analysis and Design in a Changing World, 6th Edition,
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition
12 Systems Analysis and Design in a Changing World, Fifth Edition.
1 SAD2 - UML 4 th Lecture Class Diagram in Construction Phase Patterns Case Study Lecturer: Dr Dimitrios Makris
© 2012 Cengage Learning. All Rights Reserved. This edition is intended for use outside of the U.S. only, with content that may be different from the U.S.
1 ITEC 3010 “Systems Analysis and Design, I” LECTURE 10: Use Case Realizations [Prof. Peter Khaiter]
Systems Analysis and Design in a Changing World, 6th Edition 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH Chapter 11 SATZINGER.
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Systems Analysis and Design in a Changing World, 3rd Edition
2 Object-Oriented Analysis and Design and the Unified Process Objectives  Explain the purpose and objectives of object- oriented design  Develop design.
Systems Analysis and Design in a Changing World, Fourth Edition
Systems Analysis and Design in a Changing World, 6th Edition
Object Oriented Design Jerry KotubaSYST Object Oriented Methodologies1.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 Essentials of Design.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 1 INTRODUCTION TO SYSTEMS ANALYSIS AND DESIGN: AN AGILE, ITERATIVE APPROACH From.
Project Deliverables CIS 4328 – Senior Project 2 And CEN Engineering of Software 2.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 6 - Essentials of Design an the Design Activities.
11. Chapter 11: The Object-Oriented Approach to Design: Use Case Realization Systems Analysis and Design in a Changing World, Fourth Edition.
Systems Analysis and Design in a Changing World, 6th Edition
11 Systems Analysis and Design in a Changing World, Fifth Edition.
Design Engineering 1. Analysis  Design 2 Characteristics of good design 3 The design must implement all of the explicit requirements contained in the.
Logical Architecture and UML Package Diagrams. The logical architecture is the large-scale organization of the software classes into packages, subsystems,
Chapter 1 Systems Analysis and Design in a Changing World, 7th Edition - Chapter 1 ©2016.
 Sequence Diagrams Introduction.  Sequence Diagrams  Review Schedule Sheridan.
Principles of Information Systems Eighth Edition
Software Design Refinement Using Design Patterns
SA Capstone Requirements and Design Week 6 SYST Winter 2017
CompSci 280 S Introduction to Software Development
Component and Deployment Diagrams
Systems Analysis and Design in a Changing World, 6th Edition
Fundamentals of Information Systems, Sixth Edition
Introduction to Visual Basic 2008 Programming
Systems Analysis and Design in a Changing World, 6th Edition
CO6025 Advanced Programming
The Object Oriented Approach to Design
Design and Maintenance of Web Applications in J2EE
3. Object-oriented Design
Chapter 5 Designing the Architecture Shari L. Pfleeger Joanne M. Atlee
Systems Analysis and Design in a Changing World, 6th Edition
Lecture 1: Multi-tier Architecture Overview
Chapter 20 Object-Oriented Analysis and Design
Systems Analysis and Design in a Changing World, 6th Edition
Starting Design: Logical Architecture and UML Package Diagrams
Analysis models and design models
An Introduction to Software Architecture
Chapter 7 –Implementation Issues
Introduction to Systems Analysis and Design Stefano Moshi Memorial University College System Analysis & Design BIT
SAMANVITHA RAMAYANAM 18TH FEBRUARY 2010 CPE 691
CIS 4328 – Senior Project 2 And CEN Engineering of Software 2
Chapter 5 Understanding Requirements.
An Introduction to JavaScript
Design Yaodong Bi.
Chapter 22 Object-Oriented Systems Analysis and Design and UML
Chapter 6: Architectural Design
Software Development Process Using UML Recap
Software Architecture Taxonomy
Presentation transcript:

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

Agenda Schedule Reminder Review Design Document Next Deliverable – Design Document Due Week 10 Worth 30% Review Design Document Optional Team Meetings Today

Design Document (Deliverable 3) Worth 30%

Analysis Objectives versus Design Objectives Understand WHAT is required Design HOW to meet requirements Systems Analysis and Design in a Changing World, 6th Edition

Analysis vs. Design Models The outputs of the Analysis phase become the input for the design phase Systems Analysis and Design in a Changing World, 6th Edition

UML Requirements vs. Design Models Diagrams are enhanced and extended Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Two Levels of Design Architectural Design Broad design of the overall system structure Also called General Design and Conceptual Design Detailed Design Low level design that includes the design of the specific program details Design of each use case Design of the database Design of user and system interfaces Design of controls and security Goal is to build well structured and MAINTAINABLE code Get away from spaghetti code Systems Analysis and Design in a Changing World, 6th Edition

Three Layer Architecture Three Layer Client-Server Architecture a client/server architecture that divides an application into view layer, business logic layer, and data layer View layer the part of the three-layer architecture that contains the user interface Business logic layer or domain layer the part of a three-layer architecture that contains the programs that implement the business rules and processes Data layer the part of a three-layer architecture that interacts with the data store Systems Analysis and Design in a Changing World, 6th Edition

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

Systems Analysis and Design in a Changing World, 6th Edition Michael Angelos Software Architecture Systems Analysis and Design in a Changing World, 6th Edition

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

Design Activities: Design the system interfaces Information systems interact 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 Systems Analysis and Design in a Changing World, 6th Edition

Hosting Alternatives for Internet Deployment Running and maintaining a computer system on someone’s behalf where the application software and the database reside The process of providing physical servers at a secure location and selling those services to other businesses that wish to deploy Web sites Issues when considering hosting alternatives Reliability, security, physical facilities, staff, potential for growth and cost Consider making sure your hosting is done on Canadian servers to ensure your data is subject to Canadian laws Systems Analysis and Design in a Changing World, 6th Edition

Software Components and Frameworks Time to Market is paramount in today’s competitive marketplace Selecting powerful and tested frameworks and components can save lots of development time Systems Analysts often need to participate in “Buy versus Build” decisions regarding components and frameworks Capstone is designed to reflect industry best practices. So your team should look for components and frameworks that can speed your development and improve your product! Past groups have used several components and frameworks including: CakePHP, Yii, jQuery, Bootstrap, HTML5, PhoneGap, Google Web Toolkit (GWT), Microsoft Entity Framework, ASP.NET MVC, ASP.NET AJAX Control Toolkit, Crystal Reports, etc.

Systems Analysis and Design in a Changing World, 6th Edition Design Patterns Design Pattern—standard design techniques and templates that are widely recognized as good practice For common design/coding problems, the design pattern suggests the best way to handle the problem. They are written up in design pattern catalogs/references. Include: Pattern name Problem that requires solution The pattern that solves the problem An example of the pattern Benefits and consequences of the a pattern Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Design Patterns Design patterns became widely accepted after the publication of Elements of Reusable Object-Oriented Software,(1996) by Gamma et al (the “Gang of Four”) There are architectural design patterns talked about already Three layer or model-view-controller architecture The first example of a programming design pattern shown is the Controller Pattern. Problem is deciding how to handle all of the messages from the view layer to classes in the problem domain layer to reduce coupling Solution is to assign one class between the view layer and the problem domain layer that receives all messages and acts as a switchboard directing messages to the problem domain Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Controller Pattern First step toward multilayer architecture More design patterns are at the end of the chapter Reduce coupling between view layer and problem domain/business layer classes Acts as a intermediary between outside world and internal system Acts as a switchboard Systems Analysis and Design in a Changing World, 6th Edition

First Cut Design Class Diagram Proceed use case by use case, adding to the diagram Pick the domain classes that are involved in the use case (see preconditions and post conditions for ideas) Add a controller class to be in charge of the use case Determine the initial navigation visibility requirements using the guidelines and add to diagram Elaborate the attributes of each class with visibility and type Note that often the associations and multiplicity are removed from the design class diagram as in text to emphasize navigation, but they are often left on Systems Analysis and Design in a Changing World, 6th Edition

Start with Domain Class Diagram RMO Sales Subsystem Further elaborate the attributes Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Create First Cut Design Class Diagram Use Case Create phone sale with controller added Denotes Navigation Visibility Navigability often modelled as attributes (example Customer could have a collection each representing a Sale) Controller classes are utility classes that help in the processing of a use case Systems Analysis and Design in a Changing World, 6th Edition

Use Case Realization with Sequence Diagrams Use case realization—the process of elaborating the detailed design of a use case with interaction diagrams Two types of interaction diagrams UML sequence diagram (emphasized in text) UML communication diagram (also introduced) Sequence diagrams, aka use case realization sequence diagrams, extend the system sequence diagram (SSD) to show: View layer objects Domain layer objects (usually done first) Data access layer objects Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Start with System Sequence Diagram (SSD) Use case Create customer account Return messages in this case are simply for customer to verify… Systems Analysis and Design in a Changing World, 6th Edition

Sequence Diagram to show View Layer and Part of Problem Domain Layer Messages are method calls data passed in is the parameters Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Create Customer Account Use Case Start with domain model for Customer Account Subsystem Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Create Customer Account Use Case First cut design class diagram for use case Select needed classes, elaborate attributes, add controller, and add navigation visibility Honing down on the attributes Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Create Customer Account Use Case First cut sequence diagram expanding SSD, adding controller, and adding needed classes Note that Customer must have navigability to Address and Account Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Create Customer Account Use Case Add messages and activation to complete collaboration This is just the domain layer These domain classes handle data access, so this is a two layer architecture Use case realization Get a good idea of the methods (and params) that have to be exposed Customer object takes on responsibility for Saving itself to the database creating Address and Account classes directly  customer “owns” these classes (composition) Systems Analysis and Design in a Changing World, 6th Edition

Systems Analysis and Design in a Changing World, 6th Edition Assumptions Perfect technology assumption—First encountered for use cases. We don’t include messages such as the user having to log on. Perfect memory assumption—We have assumed that the necessary objects were in memory and available for the use case. In multilayer design to follow, we do include the steps necessary to create objects in memory. Perfect solution assumption—The first-cut sequence diagram assumes no exception conditions. Separation of responsibilities—Design principle that recommends segregating classes into separate components based on the primary focus, such as user interface, domain, and data access Systems Analysis and Design in a Changing World, 6th Edition

Implementation Issues Three Layer Design View Layer Class Responsibilities Display electronic forms and reports. Capture such input events as clicks, rollovers, and key entries. Display data fields. Accept input data. Edit and validate input data. Forward input data to the domain layer classes. Start and shut down the system. Systems Analysis and Design in a Changing World, 6th Edition

Implementation Issues Three Layer Design Domain Layer Class Responsibilities Create problem domain (persistent) classes. Process all business rules with appropriate logic. Prepare persistent classes for storage to the database. Data Access Layer Class Responsibilities Establish and maintain connections to the database. Contain all SQL statements. Process result sets (the results of SQL executions) into appropriate domain objects. Disconnect gracefully from the database. Systems Analysis and Design in a Changing World, 6th Edition

Group Meetings We will be meeting with each group today to assess your progress and provide some advice