project 1 guide system analysis & designproject 1 guide system analysis & design seminar 2 -...

56
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

Upload: others

Post on 05-Oct-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 2: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Plan

• Introduction

• System Analysis & Design

• Object Oriented analysis

• Structured Analysis

• Database

• Web Development

11/18/2015 2

Page 3: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 4: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

System analysis & Design

User

Requirements

and System

Specifications

Analysis

Design Conclusion

11/18/2015 4

Page 5: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 6: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

• 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

Page 7: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

• 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

Page 8: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 9: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Object Oriented Analysis

11/18/2015 9

Page 10: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 11: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

11

Example Use cases diagram

11/18/2015

Page 12: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

12

Example

11/18/2015

Page 13: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

13

Example

11/18/2015

Page 14: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 15: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

15

Domain Model

11/18/2015

Page 16: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 17: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 18: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 19: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

19

Class Diagram

11/18/2015

Page 20: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Structured Analysis

11/18/2015 20

Page 21: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 22: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 23: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 24: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Subsequent DFD levels

11/18/2015 24

Page 25: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 26: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 27: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Level 0 Diagram

11/18/2015 27

Page 28: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 29: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 30: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Composite & Elementary Flows

11/18/2015 30

Page 31: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

DFD – Common Errors

Miracle

Black Hole

Gray Hole

11/18/2015 31

Page 32: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Illegal Data Flows

11/18/2015 32

Page 33: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 34: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 35: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Logic Modeling

11/18/2015 35

Page 36: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Logic Modeling

11/18/2015 36

Page 37: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Logic Modeling

11/18/2015 37

Page 38: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Database

11/18/2015 38

Page 39: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

11/18/2015 39

Page 40: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Weak Entity

11/18/2015 40

Page 41: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

DB SCHEMA

How to derive a set of relations from a conceptual data model.

11/18/2015 41

Page 42: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 43: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Section (Section#, Code, Enrollment_limit)

Course (Code, Name) 11/18/2015 43

Page 44: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

DB DICTIONARY

Entity dictionary

11/18/2015 44

Page 45: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 46: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

DB DICTIONARY

Relationships dictionary

11/18/2015 46

Page 47: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Entity Name Multiplicity Relationship Entity Name Multiplicity

Student 0..* Enroll Course 0..*

Course 0..* Teaches Instructor 1..1

11/18/2015 47

Page 48: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

DB DICTIONARY

Attributes dictionary

11/18/2015 48

Page 49: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 50: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

Web Development

11/18/2015 50

Page 51: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 52: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 53: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 54: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

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

Page 55: Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second Semester 1436/1437 – 2015/2016 11/18/2015 1 Presented by: Dr. Souad Larabi Marie-Sainre

11/18/2015 55