Project 1 Guide System Analysis Design Seminar 2

  • Slides: 56
Download presentation
Project 1 Guide System Analysis & Design Seminar 2 - Second Semester 1435/1436 –

Project 1 Guide System Analysis & Design Seminar 2 - Second Semester 1435/1436 – 2014/2015 Presented by: Dr. Souad Larabi Marie-Sainre GP 1 head committee L. Mashael Daouis Clinic member L. Hend Albassam Clinic member L. Abeer Adrees Clinic member L. Malak Bagais Clinic member 12/20/2021 1

Plan • • • Introduction System Analysis & Design Object Oriented analysis Structured Analysis

Plan • • • Introduction System Analysis & Design Object Oriented analysis Structured Analysis Database Web Development 12/20/2021 2

Introduction • After Literature Review and Background phases • System analysis & design phase

Introduction • After Literature Review and Background phases • System analysis & design phase Ø User & System requirements ØStructured Approach Ø Object Oriented Approach Ø Design approach 12/20/2021 3

System analysis & Design User Requirements and System Specifications 12/20/2021 Analysis Design Conclusion 4

System analysis & Design User Requirements and System Specifications 12/20/2021 Analysis Design Conclusion 4

System analysis & Design • User Requirements Definition: q. The UR stage is considered

System analysis & Design • User Requirements Definition: q. The UR stage is considered as the ‘concept' or ‘problem definition‘ stage; q UR frequently derive directly from a spontaneous idea or thought q UR should be gathered based on the user needs; q. UR should be clarified through criticism and experience of existing software and prototypes; q UR should be approved through interviews and surveys; q UR should be realistic (clear, verifiable, complete, accurate, feasible). 12/20/2021 5

System analysis & Design • System Requirement Specification q A detailed statement of the

System analysis & Design • System Requirement Specification q 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, q A system requirements specification is normally produced in response to a user requirements. 12/20/2021 6

System analysis & Design • Object Oriented Analysis (still growing): • Population of interacting

System analysis & Design • Object Oriented Analysis (still growing): • Population of interacting objects of a system • Structured Analysis (still in use today): • The traditional data or functional views 12/20/2021 7

System analysis & Design Structured Approach Object Oriented Approach 1 - Use Case diagram

System analysis & Design Structured Approach Object Oriented Approach 1 - Use Case diagram 2 - Context level DFD 2 - Use Cases Descriptions 3 - Level-0 DFD 4 - Subsequent levels DFDs (max 3 levels) 3 - Conceptual Diagram 4 -Sequence Diagram 5 - ER Diagram (if needed) 5 - Class Diagram 6 - DB Shema & Dictionary (Data Design) if needed 6 - ER Diagram (if needed) - 7 - Architectural Design 8 - Structured English/ Decsion Tables/ Decision trees/ Flowcharts (for major processes only) – (Component Design) 9 - Interface 12/20/2021 design 7 - DB Shema & Dictionary (Data Design) if needed 7 - Architectural Design 8 - Pseudo code/ Algorithms/ Flowcharts (component Design) 9 - Interface design 8

Object Oriented Analysis 12/20/2021 9

Object Oriented Analysis 12/20/2021 9

Use Case Diagram It describes the main system functions from the standpoint of an

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 12/20/2021 10

11 Example Use cases diagram 12/20/2021

11 Example Use cases diagram 12/20/2021

12 Example 12/20/2021

12 Example 12/20/2021

13 Example 12/20/2021

13 Example 12/20/2021

Conceptual (Domain) Model A domain model illustrates meaningful concepts in a problem domain. It’s

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 12/20/2021 between concepts 14

15 Domain Model 12/20/2021

15 Domain Model 12/20/2021

Sequence diagrams: An Interaction Model • Sequence diagrams are part of the UML and

Sequence diagrams: 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 12/20/2021 16

17 Sequence Diagrams : Register : Product. Catalogue : Product. Spec Sale add. Line.

17 Sequence Diagrams : Register : Product. Catalogue : Product. Spec Sale add. Line. Item(item. ID, quantity) 1. Spec=get. Specification(item. ID) 1. 1 Spec=Find(item. ID) 2. make. Line. Item(spec, quantity) 2. 1 sli= Create(spec, quantity) : Sales. Line. Item 2. 2 Add(sli) 12/20/2021

Class Diagram A class diagram shows the existence of classes and their relationships in

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. 12/20/2021 18

19 Class Diagram 12/20/2021

19 Class Diagram 12/20/2021

Structured Analysis 12/20/2021 20

Structured Analysis 12/20/2021 20

System Analysis • Basic principle: problem partition • Partition with regard to what –

System Analysis • Basic principle: problem partition • Partition with regard to what – Object - Object Oriented analysis – Function - Structural analysis • Data Flow Modeling (DFD) 12/20/2021 21

Data Flow Modeling • Widely used; focuses on functions performed in the system •

Data Flow Modeling • Widely used; focuses on functions performed in the system • Uses data flow diagrams (DFDs) and functional decomposition in modeling 12/20/2021 22

Steps in Building DFDs 1. 2. 3. 4. 5. Build the context diagram Create

Steps in Building DFDs 1. 2. 3. 4. 5. Build the context diagram Create DFD fragments for each scenario Organize DFD fragments into level 0 Decompose level 0 DFDs as needed Validate DFDs with user 12/20/2021 23

Subsequent DFD levels 12/20/2021 24

Subsequent DFD levels 12/20/2021 24

Context Diagram • Shows the overall business process as just one process • Shows

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 12/20/2021 25

Level 0 Diagram • Shows all the processes that comprise the overall system •

Level 0 Diagram • Shows all the processes that comprise the overall system • Shows how information moves from and to each process • Adds data stores 12/20/2021 26

Level 0 Diagram 12/20/2021 27

Level 0 Diagram 12/20/2021 27

Level 1 Diagrams • Shows all the processes that comprise a single process on

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 12/20/2021 28

Level 2 Diagrams • Shows all processes that comprise a single process on the

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 12/20/2021 29

Composite & Elementary Flows 12/20/2021 30

Composite & Elementary Flows 12/20/2021 30

DFD – Common Errors Black Hole Gray Hole Miracle 12/20/2021 31

DFD – Common Errors Black Hole Gray Hole Miracle 12/20/2021 31

Illegal Data Flows 12/20/2021 32

Illegal Data Flows 12/20/2021 32

DFD drawing – common errors Unlabeled data flows Missing data flows Extraneous data flows

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 • • 12/20/2021 33

Logic Modeling • Data flow diagrams do not show the logic inside the processes.

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 12/20/2021 34

Logic Modeling 12/20/2021 35

Logic Modeling 12/20/2021 35

Logic Modeling 12/20/2021 36

Logic Modeling 12/20/2021 36

Logic Modeling 12/20/2021 37

Logic Modeling 12/20/2021 37

Database 12/20/2021 38

Database 12/20/2021 38

12/20/2021 39

12/20/2021 39

Weak Entity 12/20/2021 40

Weak Entity 12/20/2021 40

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

DB SCHEMA How to derive a set of relations from a conceptual data model. 12/20/2021 41

Student (Student_ID, Name, DOB) Student_Phone ( Student_ID, Phone) Enroll (Student_ID, Code, Grade) Course (Code,

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) 12/20/2021 42

Section (Section#, Code, Enrollment_limit) Course (Code, Name) 12/20/2021 43

Section (Section#, Code, Enrollment_limit) Course (Code, Name) 12/20/2021 43

DB DICTIONARY Entity dictionary 12/20/2021 44

DB DICTIONARY Entity dictionary 12/20/2021 44

Entity Name Description Student General term describing all enrolled students. Students can enroll in

Entity Name Description 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. 12/20/2021 Aliases Teacher Occurrence The instructor can teach many courses. 45

DB DICTIONARY Relationships dictionary 12/20/2021 46

DB DICTIONARY Relationships dictionary 12/20/2021 46

Entity Name Multiplicity Relationship Entity Name Multiplicity Student 0. . * Enroll Course 0.

Entity Name Multiplicity Relationship Entity Name Multiplicity Student 0. . * Enroll Course 0. . * Teaches Instructor 1. . 1 12/20/2021 47

DB DICTIONARY Attributes dictionary 12/20/2021 48

DB DICTIONARY Attributes dictionary 12/20/2021 48

Instructor Entity Attribute Description Data name Type Length Null Multi- Default Range PK s

Instructor Entity Attribute Description Data name Type Length Null Multi- Default Range PK s valued Value Instructo Uniquely r_ID identifies instructor. varchar 5 no no Name of instructor varchar 30 no no The city where the instructor lives. varchar 10 no no Street The street where the instructor lives. varchar 20 no no CK Y Y Address City 12/20/2021 49

Web Development 12/20/2021 50

Web Development 12/20/2021 50

How to Choose a Programming Language Figure out what works for the team. Find

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. • • 12/20/2021 51

Popular Web Programming Language Server-side: • PHP with My. SQL • ASP. NET with

Popular Web Programming Language Server-side: • PHP with My. SQL • ASP. NET with SQL Server Express • Python with My. SQL • 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 12/20/2021 52

Responsive Web Design • Responsive web design (RWD) is an approach to web design

Responsive Web Design • Responsive web design (RWD) is an approach to web design aimed at crafting sites to provide an optimal viewing experience. 12/20/2021 53

Responsive Web Design • How to achieve? • Use responsive templates • Use framework

Responsive Web Design • How to achieve? • Use responsive templates • Use framework (e. g. Bootstrap and Foundation) • Built it: – Media queries – Fluid Grids – Fluid Media 12/20/2021 54

12/20/2021 55

12/20/2021 55

References • Guide to the User Requirements Definition phase, ESA PSS-0502 Issue 1 Revision

References • Guide to the User Requirements Definition phase, ESA PSS-0502 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/responsiveweb-design/ 12/20/2021 56