Project 1 Guide System Analysis & DesignProject 1 Guide System Analysis & Design Seminar 2 - Second...

Post on 05-Oct-2020

6 views 0 download

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