C# Lectures

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 1 Agenda Schedule Reminder Requirements Deliverable Due next week Remainder of the schedule remains intact Next Deliverable Design Document Due Week 10 Worth 30% Review Design Document Mandatory 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 4 Analysis vs. Design

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

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 Systems Analysis and Design in a Changing World, 6th Edition 7 Three Layer Architecture Three Layer Client-Server Architecture

View layer the part of the three-layer architecture that contains the user interface Business logic layer or domain layer

a client/server architecture that divides an application into view layer, business logic layer, and data 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 8 Systems Analysis and Design in a Changing World, 6th Edition

9 Systems Analysis and Design in a Changing World, 6th Edition 10 Systems Analysis and Design in a Changing World, 6th Edition 11 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 12 Hosting Alternatives for Internet Deployment Hosting:

Running and maintaining a computer system on someones 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 Systems Analysis and Design in a Changing World, 6th Edition 13

Software Components and Frameworks Time to Market is paramount in todays 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. 14 Design Patterns Design Patternstandard 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 15 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 16 Controller Pattern First step toward multilayer architecture

More design patterns are at the end of the chapter Systems Analysis and Design in a Changing World, 6th Edition 17 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 18 Start with Domain

Class Diagram RMO Sales Subsystem Systems Analysis and Design in a Changing World, 6th Edition 19 Create First Cut Design Class Diagram Use Case Create phone sale with controller added

Systems Analysis and Design in a Changing World, 6th Edition 20 Use Case Realization with Sequence Diagrams Use case realizationthe 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 21 Start with

System Sequence Diagram (SSD) Use case Create customer account Systems Analysis and Design in a Changing World, 6th Edition 22 Sequence Diagram to show View Layer and Part of Problem Domain Layer Systems Analysis and Design in a Changing World, 6th Edition

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

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

Account Use Case First cut sequence diagram expanding SSD, adding controller, and adding needed classes Systems Analysis and Design in a Changing World, 6th Edition 26 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 Systems Analysis and Design in a Changing World, 6th Edition 27 Assumptions

Perfect technology assumptionFirst encountered for use cases. We dont include messages such as the user having to log on. Perfect memory assumptionWe 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 assumptionThe first-cut sequence diagram assumes no exception conditions. Separation of responsibilitiesDesign 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 28 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 29 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 30 Group Meetings We will be meeting with each group today to assess your progress and provide some advice 31

Recently Viewed Presentations

  • English B50 - Laura Peet BC

    English B50 - Laura Peet BC

    Compound sentences have two independent clauses joined by a fanboy or coordinating conjunction. (IC, cc IC) The clown frightened the little girl, and she ran off screaming. The Freedom Riders departed on May 4, 1961, and they were determined to...
  • ASB Officer Elections for 2016-2017

    ASB Officer Elections for 2016-2017

    Jasmin Hernandez. Salutatorians: Yuridia Peralta & Daniel Avalos. Chromebook Recollection Procedure. The following Items are being collected. Chromebook. Charger. Red Sleeves. Thursday, June 9, 2016. All . Grade 7. students are scheduled to turn in their Chromebook via Science classroom.
  • Weekly World Watch

    Weekly World Watch

    Weekly World Watch. Bell Ringer 2/8/2017. To NOT lose your points, within 23 seconds after the bell you should: Be SITTING in your assigned seat. Silent. Have your . pink bell ringer . sheet OUT. Be COMPLETING your . bell...
  • CMO/EMO Insurance

    CMO/EMO Insurance

    CMO/EMO Fiscal Challenges. Fiscal. issues . Budgeting and LCFF funds - increased scrutiny if each school does not stand on its own. Inter-school transfers . Transfers between central administrative office and individual schools being more closely scrutinized
  • PowerPoint Presentation

    PowerPoint Presentation

    SSME FLOW DIAGRAM GAS PRESSURIZATION Advantages Simplicity Reliability Disadvantages Low chamber pressures Weight of both gas and propellant tanks Examples SSOMS, SSRCS GAS GENERATOR (OPEN) Advantages Simple start-up, even in space Straightforward development process Disadvantages Overboard dump of exhaust reduces...
  • International Labor Relations

    International Labor Relations

    The International Labor Rights Movement. A variety of organizations seeking to protect international labor rights have been energized by the effects of globalization. Activists worry that globalization will create a downward spiral in labor and social conditions (the so-called "race...
  • What you Need to Know

    What you Need to Know

    Direct vs Indirect Costs. Direct Costs are those charges paid directly to William Paterson University.These include tuition, fees and room and board if you reside on campus. Indirect Costs . are those costs you may incur while attending William Paterson...
  • Suppporting Efficient Top-K Queries in Type-Ahead Search

    Suppporting Efficient Top-K Queries in Type-Ahead Search

    Guoliang Li, Jianan Wang, and Jianhua Feng were partly supported by the National Natural Science Foundation of China under Grant No. 61003004, the National Grand Fundamental Research 973 Program of China under Grant No. 2011CB302206, a project of Tsinghua University...