1 SA Capstone Requirements and Design Week 6 SYST36367 - Winter 2015 Some slides adapted from:...
-
Upload
shana-hancock -
Category
Documents
-
view
216 -
download
0
Transcript of 1 SA Capstone Requirements and Design Week 6 SYST36367 - Winter 2015 Some slides adapted from:...
1
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– 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
Systems Analysis and Design in a Changing World, 6th Edition 4
Analysis Objectives versus Design Objectives
Understand WHAT is required
Design HOW to meet requirements
Systems Analysis and Design in a Changing World, 6th Edition 6
UML Requirements vs. Design Models
Diagrams are enhanced and extended
Systems Analysis and Design in a Changing World, 6th Edition 7
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
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 8
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
Systems Analysis and Design in a Changing World, 6th Edition 13
Hosting Alternatives for Internet Deployment Hosting:
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
14
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 15
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 16
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 17
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 18
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 19
Start with Domain ClassDiagram
RMO Sales Subsystem
Systems Analysis and Design in a Changing World, 6th Edition 20
Create First Cut Design ClassDiagram
Use Case Create phone sale with controller added
Systems Analysis and Design in a Changing World, 6th Edition 21
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 22
Start with System Sequence Diagram (SSD)
Use case Create customer account
Systems Analysis and Design in a Changing World, 6th Edition 23
Sequence Diagram to show View Layer and Part of Problem Domain Layer
Systems Analysis and Design in a Changing World, 6th Edition 24
Create Customer Account Use Case
Start with domain model for Customer Account Subsystem
Systems Analysis and Design in a Changing World, 6th Edition 25
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 26
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 27
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 28
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 29
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 30
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.