Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second...
Transcript of Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second...
Project 1 Guide System Analysis & Design
Seminar 2 - Second Semester
1436/1437 – 2015/2016
11/18/2015 1
Presented by:
Dr. Souad Larabi Marie-Sainre GP1 head committee
Plan
• Introduction
• System Analysis & Design
• Object Oriented analysis
• Structured Analysis
• Database
• Web Development
11/18/2015 2
Introduction
• After Literature Review and Background phases
• System analysis & design phase
User & System requirements
Structured Approach
Object Oriented Approach
Design approach
11/18/2015 3
System analysis & Design
User
Requirements
and System
Specifications
Analysis
Design Conclusion
11/18/2015 4
System analysis & Design
• User Requirements Definition: The UR stage is considered as the ‘concept' or
‘problem definition‘ stage; UR frequently derive directly from a spontaneous
idea or thought UR should be gathered based on the user needs; UR should be clarified through criticism and
experience of existing software and prototypes; UR should be approved through interviews and
surveys; UR should be realistic (clear, verifiable, complete,
accurate, feasible).
11/18/2015 5
• System Requirement Specification A detailed statement of the results that a system is
requested to reach. A good specification gives a complete statement of what the system is to do,
A system requirements specification is normally produced in response to a user requirements.
System analysis & Design
11/18/2015 6
• Object Oriented Analysis (still growing): • Population of interacting objects of a system
• Structured Analysis (still in use today): • The traditional data or functional views
System analysis & Design
11/18/2015 7
System analysis & Design
Structured Approach
1- Use Case diagram
2- Context level DFD
3- Level-0 DFD
4- Subsequent levels DFDs (max 3 levels)
5- ER Diagram (if needed)
6- DB Shema & Dictionary (Data Design) if needed
7- Architectural Design
8- Structured English/ Decsion Tables/ Decision trees/ Flowcharts (for major processes only) – (Component Design)
9- Interface design
Object Oriented Approach
1- Use Case diagram
2- Use Cases Descriptions
3- Conceptual Diagram
4-Sequence Diagram
5- Class Diagram
6- ER Diagram (if needed) -
7- DB Shema & Dictionary (Data Design) if needed
7- Architectural Design
8- Pseudo code/ Algorithms/ Flowcharts (component Design)
9- Interface design 11/18/2015 8
Object Oriented Analysis
11/18/2015 9
Use Case Diagram
It describes the main system functions from the standpoint of an external observer.
Used during requirements elicitation to represent external behavior.
It emphasize on what the system does rather than how it.
It is created during the early stages of a project – during the analysis phase rather than during the design phase.
It provides a high-level view of what the system does and who uses it.
It provides the basis for determining the user interfaces (UIs) to the system
11/18/2015 10
11
Example Use cases diagram
11/18/2015
12
Example
11/18/2015
13
Example
11/18/2015
Conceptual (Domain) Model
A domain model illustrates meaningful concepts in a problem domain.
It’s a representation of real-world things, not software components.
It’s a set of static structure diagrams; no operations are defined.
It may show:
Concepts
Attributes of concepts.
Associations between concepts
11/18/2015 14
15
Domain Model
11/18/2015
Sequence diagrams: An Interaction Model
• An Interaction Model
• Sequence diagrams are part of the UML and are used to model the
interactions between the actors and the objects within a system.
• The objects and actors involved are listed along the top of the
diagram, with a dotted line drawn vertically from these.
• Interactions between objects are indicated by annotated arrows.
• Detail how operations are carried out
• Dynamic Diagrams
• Organized according to time • The time progresses as you go down the page
• The objects involved in the operation are listed from left to right
according to when they take part in the message sequence.
• Create a sequence diagram for each scenario
11/18/2015 16
17
Sequence Diagrams
:Register :ProductCatalogue Sale
addLineItem(itemID, quantity)
1. Spec=getSpecification(itemID)
2. makeLineItem(spec,quantity)
:SalesLineItem
:ProductSpec
1.1 Spec=Find(itemID)
2.1 sli= Create(spec,quantity)
2.2 Add(sli)
11/18/2015
Class Diagram
A class diagram shows the existence of classes and their relationships in the logical
view of a system.
UML modeling elements in class diagrams:
Classes and their structure and behavior.
Association, aggregation, dependency, and inheritance relationships.
Multiplicity and navigation indicators.
Role names.
11/18/2015 18
19
Class Diagram
11/18/2015
Structured Analysis
11/18/2015 20
System Analysis
• Basic principle: problem partition
• Partition with regard to what
– Object - Object Oriented analysis
– Function - Structural analysis
• Data Flow Modeling (DFD)
11/18/2015 21
Data Flow Modeling
• Widely used; focuses on functions performed in the system
• Uses data flow diagrams (DFDs) and functional decomposition in modeling
11/18/2015 22
Steps in Building DFDs
1. Build the context diagram
2. Create DFD fragments for each scenario
3. Organize DFD fragments into level 0
4. Decompose level 0 DFDs as needed
5. Validate DFDs with user
11/18/2015 23
Subsequent DFD levels
11/18/2015 24
Context Diagram
• Shows the overall business process as just one process
• Shows all the outside entities that receive information from or contribute information to the system
11/18/2015 25
Level 0 Diagram
• Shows all the processes that comprise the overall system
• Shows how information moves from and to each process
• Adds data stores
11/18/2015 26
Level 0 Diagram
11/18/2015 27
Level 1 Diagrams
• Shows all the processes that comprise a single process on the level 0 diagram
• Shows how information moves from and to each of these processes
• Level 1 diagrams may not be needed for all level 0 processes
11/18/2015 28
Level 2 Diagrams
• Shows all processes that comprise a single process on the level 1 diagram
• Level 2 diagrams may not be needed for all level 1 processes
• Correctly numbering each process helps the user understand where the process fits into the overall system
11/18/2015 29
Composite & Elementary Flows
11/18/2015 30
DFD – Common Errors
Miracle
Black Hole
Gray Hole
11/18/2015 31
Illegal Data Flows
11/18/2015 32
DFD drawing – common errors
• Unlabeled data flows
• Missing data flows
• Extraneous data flows
• Consistency not maintained during refinement
• Missing processes
• Too detailed or too abstract
11/18/2015 33
Logic Modeling
• Data flow diagrams do not show the logic inside the processes.
• Logic modeling involves representing internal structure and functionality of processes:
– Structured English
– Decision Tables
– Decision Trees
11/18/2015 34
Logic Modeling
11/18/2015 35
Logic Modeling
11/18/2015 36
Logic Modeling
11/18/2015 37
Database
11/18/2015 38
11/18/2015 39
Weak Entity
11/18/2015 40
DB SCHEMA
How to derive a set of relations from a conceptual data model.
11/18/2015 41
Student (Student_ID, Name, DOB)
Student_Phone ( Student_ID, Phone)
Enroll (Student_ID, Code, Grade)
Course (Code, Name, Instructor_ID)
Instructor (Instructor_ID, Name, city, street) 11/18/2015 42
Section (Section#, Code, Enrollment_limit)
Course (Code, Name) 11/18/2015 43
DB DICTIONARY
Entity dictionary
11/18/2015 44
Entity Name Description Aliases Occurrence
Student General term describing all enrolled students.
Students can enroll in several courses.
Course A general term describing all courses offered by the university.
Each course is taught by one teacher.
Instructor The person who teaches courses at the university.
Teacher The instructor can teach many courses. 11/18/2015 45
DB DICTIONARY
Relationships dictionary
11/18/2015 46
Entity Name Multiplicity Relationship Entity Name Multiplicity
Student 0..* Enroll Course 0..*
Course 0..* Teaches Instructor 1..1
11/18/2015 47
DB DICTIONARY
Attributes dictionary
11/18/2015 48
Entity name
Attribute Description Data Type
Length Nulls
Multi-valued
Default Value
Range PK CK
Inst
ruct
or
Instructor_ID
Uniquely identifies instructor.
varchar 5 no no Y Y
Name Name of instructor
varchar 30 no no
Address
City The city where the instructor lives.
varchar 10 no no
Street The street where the instructor lives.
varchar 20 no no
11/18/2015 49
Web Development
11/18/2015 50
How to Choose a Programming Language
• Figure out what works for the team.
• Find out what works in context.
• Consider ease of learning.
• Evaluate the availability of tools for the potential computer programming languages.
• Look at cross-platform ability.
• Determine the ease of server-side and client-side scripting.
11/18/2015 51
Popular Web Programming Language
Server-side:
• PHP with MySQL
• ASP.NET with SQL Server Express
• Python with MySQL
• Java Servlets with JDBC (support different DBs)
– Java Hosting Servers are different from Regular web Hosting.
• You should check that the hosting server support Java
11/18/2015 52
Responsive Web Design
• Responsive web design (RWD) is an approach to web design aimed at crafting sites to provide an optimal viewing experience.
11/18/2015 53
Responsive Web Design
• How to achieve? • Use responsive templates
• Use framework (e.g. Bootstrap and Foundation)
• Built it: – Media queries
– Fluid Grids
– Fluid Media
11/18/2015 54
11/18/2015 55
References
• Guide to the User Requirements Definition phase, ESA PSS-05-02 Issue 1 Revision 1 March 1995
• Modern Systems Analysis and Design by Jeffrey A. Hoffer, Joey George, Joe A. Valacich
• http://en.wikipedia.org/wiki/Responsive_web_design
• http://learn.shayhowe.com/advanced-html-css/responsive-web-design/
11/18/2015 56