1. Trang chủ
  2. » Giáo Dục - Đào Tạo

PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG

120 626 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 120
Dung lượng 3,13 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vòng đ i phát tri n h th ng ờ ể ệ ố Vòng đời phát trển hệ thống SDLC được tính từ khi tìm hiểu một hệ thống thông tin sẽ được xây dựng có thể đáp ứng được các yêu cầu nghiệp vụ như thế

Trang 1

KHOA ĐI N T VI N THÔNG Ệ Ử Ễ

CHƯƠNG 1 Giới thiệu

Trang 2

Ch ươ ng 1 Gi i thi u ớ ệ

Ch ươ ng 1 Gi i thi u ớ ệ

 1.1 Giới thiệu phân tích thiết kế hệ thống

 1.2 Phân tích thiết kế hệ thống hướng đối tượng

 1.3 UML

May 19, 2017 OOD - FET.HUST 2

Trang 3

1.1 Gi i thi u phân tích thi t k h th ng ớ ệ ế ế ệ ố

1.1 Gi i thi u phân tích thi t k h th ng ớ ệ ế ế ệ ố

 1 Vòng đời phát triển hệ thống

 2 Các phương pháp luận

 3 Nhiệm vụ và kỹ năng của các thành viên trong đội dự án

Trang 4

1 Vòng đ i phát tri n h th ng ờ ể ệ ố

 Vòng đời phát trển hệ thống (SDLC) được tính từ khi tìm hiểu một hệ thống thông tin

sẽ được xây dựng có thể đáp ứng được các yêu cầu nghiệp vụ như thế nào, thiết kế nó, xây dựng nó và chuyển giao đến cho khách hàng sử dụng

Thiết kế : Hệ thống làm việc như thế nào?

Cài đặt : Chuyển giao đến người dùng.

May 19, 2017 OOD - FET.HUST 4

Trang 5

Thành lập đội dự án (project team)

Kiểm soát và chỉ đạo quá trình xây

dựng hệ thống

Trang 6

=> Phân tích và thiết kế sơ bộ

May 19, 2017 OOD - FET.HUST 6

Khái niệm ban đầu

về hệ thống mới

Trang 7

 Xây d ng b n thi t k chự ả ế ế ương trình (phân hệ,

module, phương thức/hàm, etc.)

Trang 8

May 19, 2017 OOD - FET.HUST 8

Trang 9

System Specification New System and Maintenance Plan

Trang 10

2 Các ph ươ ng pháp phát tri n h ể ệ

th ng ố

Phương pháp luận (Methodologies): là

cách tiếp cận (hay các bước) và mối quan

hệ giữa các pha trong vòng đời phát triển

hệ thống.

Phân loại phương pháp: Dựa vào cách

tiếp cận hệ thống (hướng chức năng hay

Trang 11

Thi t k có c u trúc ế ế ấ

Thi t k có c u trúc ế ế ấ

 Dự án phải trải qua từng bước một cách có hệ thống

 Hoàn thành bước này mới chuyển sang bước tiếp theo

 Điển hình:

Waterfall

Parallel

Trang 12

Waterfall – Mô hình thác n ướ c

May 19, 2017 OOD - FET.HUST 12

Trang 13

Waterfall (ti p) ế

Waterfall (ti p) ế

 Thực hiện các pha theo thứ tự

 Mất nhiều thời gian tại các pha

 Kết quả từng pha phải đưa ra báo cáo (dài) và phải

được duyệt trước khi chuyển sang pha tiếp theo

 Khó khăn khi phải quay lại các pha đã qua

 Sử dụng các sơ đồ khác nhau để mô tả hệ thống (DFD,

FD, ERD)

Trang 14

Waterfall - u đi m & nh Ư ể ượ c đi m ể

Ưu điểm:

Thời gian khảo sát yêu cầu dài =>

hạn chế phải thay đổi khi hệ thống

đang được xây dựng.

Nhược điểm:

Phải hoàn thành bước thiết kế trước khi hệ thống bắt đầu được triển khai.

Tốn nhiều thời gian.

Phải làm lại các bước khi có thay đổi.

May 19, 2017 OOD - FET.HUST 14

Trang 15

Parallel – Mô hình phát tri n song ể

song

Trang 16

Parallel - u đi m & nh Ư ể ượ c đi m ể

Trang 17

RAD – Mô hình phát tri n ng d ng nhanh ể ứ ụ

RAD – Mô hình phát tri n ng d ng nhanh ể ứ ụ

 Điều chỉnh một số giai đoạn của SDLC để đẩy nhanh quá trình xây dựng hệ thống

 Cần có các kỹ thuật đặc biệt và sử dụng các công cụ hỗ trợ trên máy tính để đẩy nhanh các giai đoạn phân tích, thiết kế & triển khai:

Công cụ hỗ trợ (CASE tools)

Ngôn ngữ lập trình thế hệ thứ 4

Các bộ sinh mã

 Phân loại:

Phased Development

Khuôn mẫu ( Prototyping )

Khuôn mẫu loại bỏ ( Throwaway

Prototyping )

Trang 18

Phased Development

May 19, 2017 OOD - FET.HUST 18

Trang 19

Phased Development

 Chia toàn bộ hệ thống thành các phiên bản khác nhau cần được xây dựng.

 Phân loại yêu cầu, các yêu cầu quan

trọng và cần thiết nhất được đưa vào

phiên bản đầu tiên.

 Sau đó phân tích, thiết kế, triển khai chỉ những yêu cầu đã được lựa chọn cho

phiên bản đầu tiên.

 Khi hoàn thành phiên bản đầu tiên, tiếp tục phân tích, thiết kế, triển khai phiên bản tiếp theo.

 Tiếp tục…… Đến khi hoàn thiện hệ

thống.

Trang 20

May 19, 2017 OOD - FET.HUST 20

Trang 21

Throwaway Prototyping

Trang 22

 Quá trình phát triển là liên tục, đơn giản

 Giảm thiểu/loại bỏ bước mô hình hoá hay tài liệu;

 Tiết kiệm thời gian và nguồn lực

May 19, 2017 OOD - FET.HUST 22

Trang 23

5 Thúc đẩy/khuyến khích từng cá nhân đề xuất giải pháp;

cung cấp cho họ công cụ cần thiết và tin tưởng họ.

6 Các thành viên trong nhóm phát triển thường xuyên trao đổi với nhau

Trang 24

Agile – 12 nguyên tắc (ti p) (ti p) ế ế

hoạt động tốt

cầu, kiến trúc và thiết kế tốt nhất

tiến quá trình phát triển.

May 19, 2017 OOD - FET.HUST 24

Trang 25

Agile

 Nhược điểm

Nhóm nghiệp vụ và phát triển phải làm việc

cùng nhau

Không được quản lý tốt/chặt chẽ

Thiếu tài liệu => khó kiểm soát tính đúng đắn của sản phẩm.

Trang 26

Start with user stories – what the system needs to do

 From simple small modules

 Users are always available

 Standardize: name, descriptions, coding pratices.

May 19, 2017 OOD - FET.HUST 26

Trang 27

Pick tasks at the beginning of the sprint

Review tasks & deliverables by the end of the sprint

New requirements:

 Add to backlog

Trang 28

 Self-organizing team

Does not need a team leader

Daily scrum meeting

 Stand in a circle

 Sumarize previous achievement

 Plans for the day

 Anyone outside the team can attend

Blockers must be resolved quickly.

 ”Bad” decision is better than nothing

Identify new/changed requirements

Small teams

 <= 7

Scrum of scrums

 Large project, needs large number of engineers

 Team representatives attend scrum-of-scrums meeting

May 19, 2017 OOD - FET.HUST 28

Trang 30

Các tiêu chí l a ch n ự ọ

Các tiêu chí l a ch n ự ọ

May 19, 2017 OOD - FET.HUST 30

Trang 31

án của họ Mỗi văn phòng tại mỗi quốc gia có thể có các tiêu chuẩn đầu tư phần cứng cũng như phần mềm khác nhau.

 Đây là một ý tưởng mới mà chưa có ai làm trước đó

 Hệ thống phải đi vào hoạt động chính thức trong vòng 1 năm.

Câu hỏi:

 Là một nhà tư vấn phát triển các dự án phần mềm, bạn sẽ đưa ra khuyến nghị sử dụng phương pháp nào? Vì sao?

Trang 33

Project Team Roles

Trang 34

T ng k t ổ ế

T ng k t ổ ế

 SDLC: 4 phase

 Methodologies: 8 typical methodologies

 Roles and Skills: Project team

May 19, 2017 OOD - FET.HUST 34

Trang 35

1.2 Phân tích thi t k h ế ế ướ ng đ i ố

t ượ ng

 Các khái niệm

Lớp và đối tượng

Phương thức và thông điệp

Đóng gói và che dấu thông tin

Thừa kế

Đa hình và liên kết động

 UML 2.0

Trang 36

Objects - Đ i t ố ượ ng

Objects - Đ i t ố ượ ng

possible.

of a small number of other objects.

Trang 37

Đ i t ố ượ ng (ti p) ế

Đ i t ố ượ ng (ti p) ế

 Objects are instances of classes, each with a unique

identity

 A class defines both the interface(s) and the

implementation for a set of objects, which determines their behavior

 Abstract classes are classes that can have no instances

 An object, once instantiated, cannot change its class

Trang 38

Characteristics of Objects

 Have unique identity.

 Fall into categories, or classes.

 Fall into hierarchies or aggregations.

 Have well defined behaviors & responsibilities.

 Separate interface from implementation.

 Hide their internal structures.

 Have states.

 Provide services.

 Send messages to other objects.

 Receive messages from other objects, and

react appropriately.

May 19, 2017 OOD - FET.HUST 38

Trang 39

and behaviors

depends on the attributes in which you are

interested.

Examples: streets, roads, and highways

Different programs would classify these

– Total number of Employees.

– How many Employees are fully vested?

Trang 40

L p (ti p) ớ ế

L p (ti p) ớ ế

 Classes are objects too

A class can have attributes

 An Employee class may have a list of all its instances

 A LotteryTicket class may have a seed it uses to generate random ticket numbers; that seed is shared by all instances of the class.

A class can have behaviors

 An Employee class may have a getEmployeeBySerialNum behavior

 A LotteryTicket class may have a generateRandomNumber

May 19, 2017 OOD - FET.HUST 40

Trang 41

Ph ươ ng th c và thông đi p ứ ệ

Ph ươ ng th c và thông đi p ứ ệ

 Phương thức (method): là hành động mà một đối tượng

có thể thực hiện

 Thông điệp (Message): là lời gọi đến các phương thức của đối tượng (hay nói cách khác, thông điệp là thông tin được gửi tới đối tượng để kích hoạt một hành động)

Trang 42

Đóng gói và che d u thông tin ấ

Đóng gói và che d u thông tin ấ

 Đóng gói (Encapsulation): Kết hợp dữ liệu và phương thức xử lý dữ liệu vào cùng một thực thể

 Che dấu thông tin (Information hidding): chỉ những

thông tin cần thiết để sử dụng một module mới được công khai

May 19, 2017 OOD - FET.HUST 42

Trang 43

Th a k ừ ế

Th a k ừ ế

 Inheritance is a way of describing a class by saying how

it differs from another class

 Why use inheritance?

When you have two types where

one is necessarily an extension of the other.

Sometimes (but not all the time)

you are going to want to ignore the differences and look only at the

what they have in common (the

base class) This is called

generalization.

Trang 44

Th a k (ti p) ừ ế ế

Th a k (ti p) ừ ế ế

May 19, 2017 OOD - FET.HUST 44

Trang 45

Th a k (ti p) ừ ế ế

Th a k (ti p) ừ ế ế

Trang 46

Th a k (ti p) ừ ế ế

Th a k (ti p) ừ ế ế

 Base class ~ Parent Class ~ Supper Class ~ Abtract Class

 Derived class ~ Child Class ~ Sub Class ~ Concrete Class

 The Derived class inherits from the Base class; the Derived class extends the Base class; the Derived class is a

specialization of the Base class.

 The Derived class may provide additional state (member

data), or additional behavior (member functions/methods), or

it may override the implementation of inherited methods.

 l The Base class is a generalization of all its Derived classes.

May 19, 2017 OOD - FET.HUST 46

Trang 47

Đa hình và liên k t đ ng ế ộ

Đa hình và liên k t đ ng ế ộ

 Polymorphism

A message can be interpreted

differently by different classes of

objects

 Dynamic Binding

Sometimes called late binding

Delays typing or choosing a method

for an object until run-time

 Static Binding

Type of object determined at compile time

Trang 48

Đa hình

 Hinh c; c=new tron(); C.ve();

 C=new chunhat(); c.ve();

May 19, 2017 OOD - FET.HUST 48

Trang 49

Đa hình

Trang 50

May 19, 2017 OOD - FET.HUST 50

Trang 51

UML-unified modeling language

 UML là gì?

 Lịch sử UML

 Tại sao chúng ta cần UML?

 Các mô hình ý niệm trong UML

Trang 52

UML – Unified Modelling Language

 UML là m t ngôn ng dùng cho ộ ữ

◦ Mô hình hóa tr c quan (Visualizing)

◦ Đ c t (Specifying) ặ ả

◦ Xây d ng (Constructing)

◦ Tài li u (Documenting)

“The UML is the standard language for

specifying, visualizing, constructing, and

documenting all the artifacts of a system.”

May 19, 2017 OOD - FET.HUST 52

Trang 53

Mô hình hóa tr c quan ự

Mô hình hóa tr c quan ự

Trang 55

(R-◦ Một lưu trữ bền vững của CSDL

HĐT (OO-DBMS)

Trang 56

Tài li u ệ

Tài li u ệ

Mô tả các yêu cầu (Requirements)

Phân tích thiết kế (architecture,

design, source code,…)

Trang 57

L ch s UML ị ử

L ch s UML ị ử

Trang 58

L ch s UML (ti p) ị ử ế

L ch s UML (ti p) ị ử ế

May 19, 2017 OOD - FET.HUST 58

Trang 59

Đóng góp cho UML

Fusion

Operation descriptions, Message numbering

Trang 60

Các s đ trong UML ơ ồ

Các s đ trong UML ơ ồ

 Tĩnh (Sơ đồ cấu trúc-Structure diagram)

Sơ đồ đối tượng ( Object diagram )

Sơ đồ lớp ( Class diagram )

Sơ đồ thành phần ( Component diagram )

Sơ đồ triển khai ( Deployment diagram )

 Động (Sơ đồ hành vi – Behavior diagram)

Sơ đồ tương tác ( Interaction diagram )

 S đ tu n t (ơ ồ ầ ự Sequence diagram)

 S đ h p tác (ơ ồ ợ Collborate Diagram)

Sơ đồ hoạt động ( Activity diagram )

Sơ đồ chuyển dịch trạng thái ( State transition

Sơ đồ use-case ( Use-case diagram )

May 19, 2017 OOD - FET.HUST 60

Trang 61

Các s đ trong UML ơ ồ

Các s đ trong UML ơ ồ

Trang 62

S đ l p và s đ đ i t ơ ồ ớ ơ ồ ố ượ ng

S đ l p và s đ đ i t ơ ồ ớ ơ ồ ố ượ ng

 Sơ đồ lớp:

Mô hình hóa cấu trúc tĩnh của hệ

thống trong quá trình phát triển,

bao gồm các lớp và quan hệ giữa

chúng.

 Sơ đồ đối tượng:

Là một thể hiện của sơ đồ lớp, biểu diễn trạng thái của hệ thống tại một thời điểm cụ thể Nó chính là một

trường hợp thực tế của sơ đồ lớp.

May 19, 2017 OOD - FET.HUST 62

Trang 63

 M t d li u tr u t ộ ữ ệ ừ ượ ng mà m t đ i t ộ ố ượ ng thu c l p đó có th ch a ộ ớ ể ứ

 Tên thu c tính là m t danh t /c m danh t ộ ộ ừ ụ ừ

 Phương th c (Operators)

 M t hành vi tr u t ộ ừ ượ ng mà m t đ i t ộ ố ươ ng thu c l p đó có th thi ộ ớ ể hành

 Tên ph ươ ng th c là m t đ ng t /c m đ ng t ứ ộ ộ ừ ụ ộ ừ

Trang 65

Quan hệ

 Phụ thuộc (Dependency)

 Tổng quát hóa (Generalization)

 Liên kết (Association)

Trang 67

Khái quát hóa (Generalization)

 Các đối tượng của lớp cụ thể (lớp con) chia sẻ cấu trúc và hành vi của lớp tổng quát (lớp cha)

 Định nghĩa một cấp bậc trừu tượng trong đó

một lớp con kế thừa từ một hoặc nhiều lớp cha

Đơn kế thừa (Single inheritance)

Đa kế thừa (Multiple inheritance)

Animal

Supperclass

Subclass

Trang 68

Sở hữu chặt và gắn liền với đời sống

Bộ phận không thể tồn tại mà không có toàn thể

May 19, 2017 OOD - FET.HUST 68

Employer Employee

Trang 69

 Điều hướng (Navigation)

Liên kết là các quan hệ hai chiều

Thường mong muốn hạn chế duyệt theo một hướng

Trang 70

S đ l p ơ ồ ớ

S đ l p ơ ồ ớ

May 19, 2017 OOD - FET.HUST 70

Trang 71

S đ đ i t ơ ồ ố ượ ng

S đ đ i t ơ ồ ố ượ ng

Trang 72

Gói (Package)

 Nhóm các phần tử khác của UML thành một gói

 Sơ đồ chỉ chứa các gói và mối quan hệ giữa chúng

May 19, 2017 OOD - FET.HUST 72

Trang 74

S đ thành ph n ơ ồ ầ

S đ thành ph n ơ ồ ầ

 Bao gồm các thành phần và mối quan hệ giữa các

thành phân trong môi trường cài đặt

 Các thành phần đại diện cho các yếu tố cài đặt vật lý của hệ thống (CSDL, I/O, Giao diện,…)

May 19, 2017 OOD - FET.HUST 74

Trang 75

S đ thành ph n – Component Diagram ơ ồ ầ

S đ thành ph n – Component Diagram ơ ồ ầ

Trang 76

S đ k ch b n s d ng (use-case) ơ ồ ị ả ử ụ

 Mô tả hệ thống từ cách nhìn, quan điểm của NSD

 Mô tả các tình huống của hệ thống

 Use-case mô tả cái mà hệ thống thi hành, không phải là thi hành như thế nào

 Đặt tả trạng thái của một use-case trong văn bản rõ

ràng giúp cho người bên ngoài dự án cũng có thể hiểu

dễ dàng

May 19, 2017 OOD - FET.HUST 76

Trang 77

S đ use-case ơ ồ

S đ use-case ơ ồ

 Tập hợp các hành động mà hệ thống thi hành để đạt được một kết quả có thể thấy được đối với một tác

Trang 79

Có thể trao đổi thông tin một cách chủ động với

hệ thống hoặc nhận thông tin bị động từ hệ

Trang 80

S đ use-case – ví d : ơ ồ ụ

S đ use-case – ví d : ơ ồ ụ

May 19, 2017 OOD - FET.HUST 80

Submit Grades Professor

View Report Card

Select Courses to Teach

Student

Course Catalog

Maintain Professor Information Registrar

Billing System Close Registration

Login

Trang 81

S đ use-case ơ ồ

S đ use-case ơ ồ

 Được áp dụng trong 2 cách

Để mô hình hoá ngữ cảnh của một hệ thống

 V m t đẽ ộ ường biên xung quanh h th ngệ ố

 Xác nh n nh ng actor n m ngoài h th ng mà có tậ ữ ằ ệ ố ương tác

Trang 82

S đ use-case ơ ồ

S đ use-case ơ ồ

Để mô tả yêu cầu của hệ thống

 Đ c t nh ng cái mà h th ng s ph i làm (không ph c thu c vào ặ ả ữ ệ ố ẽ ả ụ ộ

cách làm)

 Đ c t nh ng hành vi hặ ả ữ ướng t i c a h th ngớ ủ ệ ố

May 19, 2017 OOD - FET.HUST 82

Student

Billing System Professor

Request Course Roster

Maintain Curriculum

Trang 83

 M t thành ph n v t lý t n t i trong th i đi m run-time và bi u ộ ầ ậ ồ ạ ờ ể ể

di n m t tài nguyên tính toánễ ộ

 Thường có ít nh t m t b nh và kh năng x lýấ ộ ộ ớ ả ử

Trang 84

S đ tri n khai ơ ồ ể

S đ tri n khai ơ ồ ể

May 19, 2017 OOD - FET.HUST 84

Trang 85

S đ t ơ ồ ươ ng tác

S đ t ơ ồ ươ ng tác

đối tượng để thi hành một mục đích cụ thể.

 Link

gởi một thông điệp đến đối tượng kia

Trang 86

S đ tu n t (Sequence Diagram) ơ ồ ầ ự

 Biểu diễn một tương tác nhấn mạnh

trình tự thời gian của các thông điệp

Mô hình hoá luồng của tiến trình

Luồng điều khiển (Focus of control)

 Kho ng th i gian mà m t đ i tả ờ ộ ố ượng đang thi hành m t

hành đ ng

May 19, 2017 OOD - FET.HUST 86

Trang 87

1.1: PerformAnother Responsibility

Hierarchical Message Numbering

Trang 88

Sequence Diagram – Ví d (ti p) ụ ế

May 19, 2017 OOD - FET.HUST 88

: Student : RegisterForCoursesForm : RegistrationController : CourseCatalogSystem : Course Catalog

A list of the available

course offerings for this

semester are displayed

Student wishes to

create a new

schedule

1 // create schedule( )

1.2 // display course offerings( )

1.1 // get course offerings( )

1.1.1 // get course offerings(forSemester)

1.3 // display blank schedule( )

Ngày đăng: 19/05/2017, 10:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w