50
1 System Analysis and Design Prof. Dr. ir. S. S. Msanjila

Ict 213 lecture 1

Embed Size (px)

Citation preview

Page 1: Ict 213 lecture 1

1

System Analysis and Design

Prof. Dr. ir. S. S. Msanjila

Page 2: Ict 213 lecture 1

2

Course Materials

Book: Requirements analysis and system design, 3rd edition (Leszek A. Maciaszek)

Website: http://www.comp.mq.edu.au/books/rasd3ed/ReadersArea/lectureslides.htm

Page 3: Ict 213 lecture 1

3

Course outline - Lectures

Introduction to conceptual modeling and visual modeling (Sect. 1.1 & 1.4, &

Chapter 3)

Identification of users, and business requirements (Chapter 2)

Specification of system requirements (Chapter 4)

System Modeling (Chapter 5)

Designing system architecture (Chapter 6)

Designing user interfaces (Chapter 7)

System analysis

System design

Page 4: Ict 213 lecture 1

4

Lecture 1

Introduction to System Analysis and Design

&

Visual modeling with UML

Page 5: Ict 213 lecture 1

5

Introduction

Model: • An abstraction of reality, an abstract

representation of reality

• Applied to guide the implementation of

targeted product

System modeling: • Representing concepts using some defined

constructs

• Conceptual models (conceptual constructs)

represent some optional solutions that can be

implemented

For software developments it is referred to as “system

analysis and design”

In computer science • Addresses the capturing of activities and

processes that need to be modeled to guide the

implementation of a system

Physical

process

Model of

a process

System

automating

the process

Analysis

Designing

Page 6: Ict 213 lecture 1

6

System and software development process

Why having a process: Developing a system/software is

also an engineering project:

• Has goals, deadlines, budget

• Involves a number of stakeholders

• Needs some managerial skills

A system/software development is a complex engineering project

• Needs a properly defined process

Page 7: Ict 213 lecture 1

7

Complexities in developing system/software

Of the development process: • Size of the system/software

• Involved developers/experts

• Interdependencies between

components/modules

• Number of stakeholders

Of the system/software:

• Number of applications

• Application domains • Computational-intensive vs. Data intensive

• Conformity • Hardware & Software

• Changeability • Fluctuation/variation of business

requirements

• Visibility • Privacy vs. sharing code

• Security vs. access of code

As an engineering product,

systems can be duplicated: • Duplication cost is too low

as compared to that of

development

Page 8: Ict 213 lecture 1

8

The accidents of software development

Page 9: Ict 213 lecture 1

9

Software life cycle

Software life cycle represents an ordered set of activities conducted

and managed to support the creation and operation of software

• Activities are mostly performed sequentially

• Methods are applied to guide performing the processes

A software life cycle consists of:

• Exact phases (during which transformation occurs)

• Methods (methodologies)

• Applied modeling approach

Page 10: Ict 213 lecture 1

10

Software life cycle - Phases

3. Implementation

4. Operation

2.

Design 5.

Maintenance

1.

Analysis

1.

Analysis

Page 11: Ict 213 lecture 1

11

1. System (business) analysis

Requirement Analysis: Identifying, specifying and modeling

customers’ (users’) requirements:

• Identification (Business analyst)

• Specification (System analyst)

• Documentation (System analyst and system designer)

Types of requirements: • Functional requirements

• Non-functional requirements

Focuses on:

• Identification of users,

• Characterization of user requirements

• Specification of functionalities

Page 12: Ict 213 lecture 1

12

Software life cycle - Phases

3. Implementation

4. Operation

2.

Design 5.

Maintenance

1.

Analysis

2.

Design

Page 13: Ict 213 lecture 1

13

2. System Design

Addresses:

• Structure of the system

• Internal components of the system

• Components supporting external interactions

• System architectures

Designing process must take into account

the software and hardware platforms that

system will installed

Focuses on:

• Designing models and architectures of the intended system

Page 14: Ict 213 lecture 1

14

Software life cycle - Phases

3. Implementation

4. Operation

2.

Design 5.

Maintenance

1.

Analysis

3. Implementation

Page 15: Ict 213 lecture 1

15

3. System Implementation

Focus:

• Development of the system by implementing the needed codes.

• Testing developed components

• Loading data into databases

• Setting required hardware

• Validation and verification of:

• Functionalities

• External interactions

• User aspects and documentation

• Compilation

• Integration of separately developed components

• Deployment of the system

Page 16: Ict 213 lecture 1

16

Software life cycle - Phases

3. Implementation

4. Operation

2.

Design 5.

Maintenance

1.

Analysis

4.

Operation

Page 17: Ict 213 lecture 1

17

4. System Operation and maintenance

Page 18: Ict 213 lecture 1

18

Software life cycle – Course focus

3. Implementation

4. Operation

2.

Design 5.

Maintenance

1.

Analysis

Course focus

Page 19: Ict 213 lecture 1

19

Discussion -1

1. What is the difference between the following three terms: a) Software

b) System

c) Software system

2. According to the software life cycle, the specification of

functionalities of a system is performed by the system analyst in

the analysis phase. The specified functionalities guide the

development of system architectures in the designing phase. a) What problems do you think may happen due to the separation of

these two processes in different phases?

b) Do you think it is better to move the task for specification of

functionalities into designing phase?

Page 20: Ict 213 lecture 1

20

Visual Modeling with UML

Page 21: Ict 213 lecture 1

21

Topics to be covered

© Pearson education 2007

Page 22: Ict 213 lecture 1

22

Visualization of system models

Model: Focuses on visualizing fundamental

concepts of the intended system

UML: Unified modeling language

© Pearson education 2007

Types of conceptual models

Page 23: Ict 213 lecture 1

23

Use case view

© Pearson education 2007

Page 24: Ict 213 lecture 1

24

Use case modeling

© Pearson education 2007

Page 25: Ict 213 lecture 1

25

Requirements, actors and use cases

© Pearson education 2007

Page 26: Ict 213 lecture 1

26

Representation of actors

© Pearson education 2007

Page 27: Ict 213 lecture 1

27

Representation of use cases – Video store

© Pearson education 2007

Page 28: Ict 213 lecture 1

28

Use case diagram – Video store

© Pearson education 2007

Page 29: Ict 213 lecture 1

29

Use case diagrams forming a subject – Video store

© Pearson education 2007

Page 30: Ict 213 lecture 1

30

Documenting a use case

© Pearson education 2007

Page 31: Ict 213 lecture 1

31

Documenting a use case: Video store

© Pearson education 2007

Page 32: Ict 213 lecture 1

32

Activity view

© Pearson education 2007

Page 33: Ict 213 lecture 1

33

Activity modeling

© Pearson education 2007

Page 34: Ict 213 lecture 1

34

Identifying actions from a use case statement

© Pearson education 2007

Page 35: Ict 213 lecture 1

35

Activity diagrams

© Pearson education 2007

Page 36: Ict 213 lecture 1

36

Activity diagrams – Video store system (not complete)

© Pearson education 2007

Page 37: Ict 213 lecture 1

37

Structure view

© Pearson education 2007

Page 38: Ict 213 lecture 1

38

Class modeling

© Pearson education 2007

Page 39: Ict 213 lecture 1

39

Identification of classes: Some considerations

© Pearson education 2007

Page 40: Ict 213 lecture 1

40

Identifying classes

© Pearson education 2007

Page 41: Ict 213 lecture 1

41

Class diagram: Association relationship

© Pearson education 2007

Page 42: Ict 213 lecture 1

42

Class diagram: Aggregation relationship

© Pearson education 2007

Page 43: Ict 213 lecture 1

43

Class diagram: Generalization relationship

© Pearson education 2007

Page 44: Ict 213 lecture 1

44

Interaction view

© Pearson education 2007

Page 45: Ict 213 lecture 1

45

Sequence diagram

© Pearson education 2007

Page 46: Ict 213 lecture 1

46

Communication/collaboration diagram

© Pearson education 2007

Page 47: Ict 213 lecture 1

47

State machine view

© Pearson education 2007

Page 48: Ict 213 lecture 1

48

State machine modeling

© Pearson education 2007

Page 49: Ict 213 lecture 1

49

States, events and transitions

© Pearson education 2007

Page 50: Ict 213 lecture 1

50

QUESTION