1. Trang chủ
  2. » Cao đẳng - Đại học

Phân Tích Thiết Kế

346 2 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 346
Dung lượng 18,63 MB

Nội dung

• Các phần tử của biểu đồ hoạt động (tiếp theo)  Luồng đối tượng (object flow).  Biểu diễn luồng của 1 đối tượng từ hoạt động này sang hoạt[r]

(1)

Ph

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

đối tượng

(Object

(Object Oriented System Oriented System Analysis and Design)

(2)

2/Chapter © DHBK 2007

Giới thiệu

Giới thiệu

4 ĐVHT = 60 tiết

Học lớp + Bài tập lớn

Điểm = Điểm thi + Điểm tập lớn (70%) + (30%)

Điều kiện thi: Phải có tập lớnBài tập lớn:

Làm theo nhóm tối đa sinh viên

Nội dung: phân tích thiết kế hệ thống sử dụng Rational

Rose

Đề tài: sinh viên tự chọn đề tài

Mục đích mơn học

Trang bị cho sinh viên một phương pháp có hệ thống để phân

(3)

Nội dung

Nội dung

1 Giới thiệu chung phân tích thiết kế hệ thống 2 Giới thiệu phân tích thiết kế hướng đối

tượng với UML 3 Lập kế hoạch

(4)

4/Chapter © DHBK 2007

Tài liệu tham khảo

Tài liệu tham khảo

Systems Analysis and Design with UML Version 2.0-An object oriented approach; Alan Dennis, Barbara Haley Wixom, David Tegarden.

www.uml.org

www.rational.com

(5)

tích thiết kế hệ thống

tích thiết kế hệ thống

1.1 Giới thiệu

1.2 Quy trình phát triển hệ thống

(6)

6/Chapter © DHBK 2007

1.1 Giới thiệu

(7)

1.2 Quy trình phát triển hệ thống

1.2 Quy trình phát triển hệ thống

• Lập kế hoạch (Planning)

Vì sao phải xây dựng hệ thống ?

• Phân tích (Analysis)

Ai sử dụng hệ thống, hệ thống làm gì, dùng nào, đâu?

• Thiết kế (Design)

Hệ thống làm việc như nào?

• Triển khai (Implementation)

(8)

8/Chapter © DHBK 2007

1.2 Quy trình phát triển hệ thống

1.2 Quy trình phát triển hệ thống

Lập kế hoạch

Lập kế hoạch

Xác định giá trị kinh doanh hệ thống

Phân tích tính khả thi

Xây dựng kế hoạch cơng việc

(9)

Phân tích

Phân tíchPhân tích hệ thống

Thu thập nguồn thơng tin

(10)

10/Chapter © DHBK 2007

1.2 Quy trình phát triển hệ thống

1.2 Quy trình phát triển hệ thống

Thiết kế

Thiết kếXác định chiến lược thiết kế

Thiết kế cấu trúc

Thiết kế giao diện

(11)

Triển khai

Triển khaiXây dựng hệ thống

(12)

12/Chapter © DHBK 2007

1.2 Quy trình phát triển hệ thống

1.2 Quy trình phát triển hệ thống

Các pha kết pha

Các pha kết pha

(13)

thống

thống

Thiết kế cấu trúc (Structured design)

Phương pháp thác nước (waterfall method) Phương pháp phát triển song song (Parallel

development)

Phương pháp phát triển nhanh ứng dụng (RAD)

Phương pháp phát triển theo pha

Phương pháp xây dựng nguyên mẫu (prototyping)

Thông thường (regular) Loại bỏ (throwaway)

Phương pháp phát triển nhanh (Agile

development)

(14)

14/Chapter © DHBK 2007

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

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

Dự án tiến triển từ bước sang bước tiếp theo cách có hệ thống

(15)

Phương pháp thác nước

(16)

16/Chapter © DHBK 2007

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

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

Phương pháp thác nước

Phương pháp thác nướcƯu điểm:

Trước lập trình yêu cầu hệ thống

xác định chi tiết đầy đủ => giảm thiểu thay đổi yêu cầu trình phát triển hệ thốngNhược điểm:

Thời gian từ đề xuất dự án đến có sản phẩm cuối

(17)

Phương pháp phát triển song song

(18)

18/Chapter © DHBK 2007

1.3.2 RAD

1.3.2 RADCác nhân tố quan trọng:

Công cụ CASE JAD

(19)

Phương pháp phát triển theo pha

(20)

20/Chapter

© DHBK 2007 1.3.2 RAD1.3.2 RAD

Phương pháp xây dựng nguyên mẫu thông

Phương pháp xây dựng nguyên mẫu thông

thường

(21)

Phương pháp xây dựng nguyên mẫu loại bỏ

(22)

22/Chapter © DHBK 2007

1.3.3 Lựa chọn phương pháp phù hợp

1.3.3 Lựa chọn phương pháp phù hợpTiêu chí:

Độ rõ ràng, đầy đủ yêu cầu người sử dụng Khả năng, mức độ thành thạo công nghệ

(23)

1.3.3 Lựa chọn phương pháp phù hợp

(24)

24/Chapter © DHBK 2007

Chương 2: Giới thiệu phân tích

Chương 2: Giới thiệu phân tích

thiết kế hướng đối tượng với UML

thiết kế hướng đối tượng với UML

2.1 Giới thiệu

2.2 Các đặc điểm hệ thống hướng đối tượng

2.3 UML 2.0

(25)

2.1 Giới thiệu

2.1 Giới thiệu

Lịch sử phát triển ngơn ngữ lập trình:First Generation (1954 – 1958)

Fortran I

Second Generation (1959 – 1961)

Fortran II, Algol, Cobol

Third Generation (1962 – 1970)

PL/I, Pascal

Object Oriented Languages

(26)

26/Chapter © DHBK 2007

2.1 Giới thiệu

2.1 Giới thiệu

(27)

2.1 Giới thiệu

2.1 Giới thiệu

Lịch sử phát triển UML

1967 Foundations of OO (Nygaard, Goldberg, Meyer,

Foundations of OO (Nygaard, Goldberg, Meyer, Stroustrup, Harel, Wirfs-Brock, Reenskaug,…) Stroustrup, Harel, Wirfs-Brock, Reenskaug,…) Foundations of OO (Nygaard, Goldberg, Meyer,

Foundations of OO (Nygaard, Goldberg, Meyer,

Stroustrup, Harel, Wirfs-Brock, Reenskaug,…)

Stroustrup, Harel, Wirfs-Brock, Reenskaug,…)

Jacobson Jacobson Booch Booch Rumbaugh Rumbaugh

UML 1.1 (OMG Standard)

UML 1.1 (OMG Standard)

UML 1.1 (OMG Standard)

UML 1.1 (OMG Standard)

UML 1.3 (extensibility) UML 1.3 (extensibility) UML 1.3 (extensibility)

UML 1.3 (extensibility)

UML 1.4 (action semantics) UML 1.4 (action semantics) UML 1.4 (action semantics)

UML 1.4 (action semantics)

(28)

28/Chapter © DHBK 2007

2.1 Giới thiệu

2.1 Giới thiệu

(29)

2.1 Giới thiệu

2.1 Giới thiệu

(30)

30/Chapter © DHBK 2007

2.2 Các đặc điểm hệ thống

2.2 Các đặc điểm hệ thống

hướng đối tượng

hướng đối tượng

2.2.1 Lớp đối tượng

2.2.2 Phương thức message

2.2.3 Tóm lược ẩn thông tin (Encapsulation and Information Hiding)

2.2.4 Thừa kế (inheritance)

(31)

2.2.1 Lớp đối tượng

2.2.1 Lớp đối tượngLớp (Class) – Template to define specific

instances or objects

Đối tượng (Object) – Instantiation of a class

Thuộc tính (Attributes) – Describes the object

Chức (Behaviors) – specify what object can

(32)

32/Chapter © DHBK 2007

2.2.1 Lớp đối tượng

(33)

2.2.1 Lớp đối tượng

2.2.1 Lớp đối tượng

1 class Time {

2 public:

3 Time();

4 void setTime( int, int, int );

5 void printMilitary();

6 void printStandard();

7 private:

8 int hour; // - 23

9 int minute; // - 59

10 int second; // - 59

(34)

34/Chapter © DHBK 2007

2.2.2 Phương thức message

2.2.2 Phương thức message

Phương thức (Methods) implement an object’s behavior

Analogous to a function or procedure

Messages are sent to trigger methods

(35)

2.2.2 Phương thức message

(36)

36/Chapter © DHBK 2007

2.2.3 Tóm lược ẩn thơng tin

2.2.3 Tóm lược ẩn thơng tinEncapsulation

combination of data and process into an entity

Information Hiding

Only the information required to use a software module

(37)

2.2.4 Thừa kế

2.2.4 Thừa kế

Superclasses or general classes are at the top of a hierarchy of classes

Subclasses or specific classes are at the bottom

(38)

38/Chapter © DHBK 2007

2.2.4 Thừa kế

(39)

2.2.4 Thừa kế

(40)

40/Chapter © DHBK 2007

2.2.5 Đa hình thái liên kết động

2.2.5 Đa hình thái liên kết độngPolymorphism

A message can be interpreted differently by different

classes of objectsDynamic Binding

Sometimes called late binding

Delays typing or choosing a method for an object until

run-time

Static Binding

(41)

2.2.5 Đa hình thái liên kết động

(42)

1 // Fig 20.1: shape.h

2 // Definition of abstract base class Shape 3 #ifndef SHAPE_H

4 #define SHAPE_H

5

6 class Shape {

7 public:

8 virtual double area() const { return 0.0; }

9 virtual double volume() const { return 0.0; }

10

11 // pure virtual functions overridden in derived classes 12 virtual void printShapeName() const = 0;

13 virtual void print() const = 0;

14 };

15

16 #endif

17 // Fig 20.1: point1.h

18 // Definition of class Point 19 #ifndef POINT1_H

20 #define POINT1_H

21

22 #include <iostream>

23

24 using std::cout;

25

26 #include "shape.h"

27

28 class Point : public Shape {

29 public:

30 Point( int = 0, int = ); // default constructor 31 void setPoint( int, int );

32 int getX() const { return x; }

(43)

36 private:

37 int x, y; // x and y coordinates of Point 38 };

39

40 #endif

41 // Fig 20.1: point1.cpp

42 // Member function definitions for class Point 43 #include "point1.h"

44

45 Point::Point( int a, int b ) { setPoint( a, b ); }

46

47 void Point::setPoint( int a, int b )

48 {

49 x = a;

50 y = b;

51 }

52

53 void Point::print() const

(44)

55 // Fig 20.1: circle1.h

56 // Definition of class Circle 57 #ifndef CIRCLE1_H

58 #define CIRCLE1_H

59 #include "point1.h"

60

61 class Circle : public Point {

62 public:

63 // default constructor

64 Circle( double r = 0.0, int x = 0, int y = );

65

66 void setRadius( double );

67 double getRadius() const;

68 virtual double area() const;

69 virtual void printShapeName() const { cout << "Circle: "; }

70 virtual void print() const;

71 private:

72 double radius; // radius of Circle 73 };

74

(45)

78 #include <iostream>

79

80 using std::cout;

81

82 #include "circle1.h"

83

84 Circle::Circle( double r, int a, int b )

85 : Point( a, b ) // call base-class constructor 86 { setRadius( r ); }

87

88 void Circle::setRadius( double r ) { radius = r > ? r : 0; }

89

90 double Circle::getRadius() const { return radius; }

91

92 double Circle::area() const

93 { return 3.14159 * radius * radius; }

94

95 void Circle::print() const

96 {

97 Point::print();

98 cout << "; Radius = " << radius;

(46)

100// Fig 20.1: cylindr1.h

101// Definition of class Cylinder 102#ifndef CYLINDR1_H

103#define CYLINDR1_H

104#include "circle1.h"

105

106class Cylinder : public Circle {

107public:

108 // default constructor

109 Cylinder( double h = 0.0, double r = 0.0,

110 int x = 0, int y = );

111

112 void setHeight( double );

113 double getHeight();

114 virtual double area() const;

115 virtual double volume() const;

116 virtual void printShapeName() const { cout << "Cylinder: "; }

117 virtual void print() const;

118private:

119 double height; // height of Cylinder 120};

121

(47)

125#include <iostream>

126

127using std::cout;

128

129#include "cylindr1.h"

130

131Cylinder::Cylinder( double h, double r, int x, int y )

132 : Circle( r, x, y ) // call base-class constructor 133{ setHeight( h ); }

134

135void Cylinder::setHeight( double h )

136 { height = h > ? h : 0; }

137

138double Cylinder::getHeight() { return height; }

139

140double Cylinder::area() const

141{

142 // surface area of Cylinder 143 return * Circle::area() +

144 * 3.14159 * getRadius() * height;

145}

146

147double Cylinder::volume() const

148 { return Circle::area() * height; }

149

150void Cylinder::print() const

151{

152 Circle::print();

153 cout << "; Height = " << height;

(48)

155// Fig 20.1: fig20_01.cpp

156// Driver for shape, point, circle, cylinder hierarchy 157#include <iostream>

158

159using std::cout;

160using std::endl;

161

162#include <iomanip>

163

164using std::ios;

165using std::setiosflags;

166using std::setprecision;

167

168#include "shape.h"

169#include "point1.h"

170#include "circle1.h"

171#include "cylindr1.h"

172

173void virtualViaPointer( const Shape * );

174void virtualViaReference( const Shape & );

175

176int main()

177{

178 cout << setiosflags( ios::fixed | ios::showpoint )

179 << setprecision( );

180

181 Point point( 7, 11 ); // create a Point 182 Circle circle( 3.5, 22, ); // create a Circle 183 Cylinder cylinder( 10, 3.3, 10, 10 ); // create a Cylinder 184

(49)

2 Function calls

188

189 circle.printShapeName(); // static binding 190 circle.print(); // static binding 191 cout << '\n';

192

193 cylinder.printShapeName(); // static binding 194 cylinder.print(); // static binding 195 cout << "\n\n";

196

197 Shape *arrayOfShapes[ ]; // array of base-class pointers 198

199 // aim arrayOfShapes[0] at derived-class Point object 200 arrayOfShapes[ ] = &point;

201

202 // aim arrayOfShapes[1] at derived-class Circle object 203 arrayOfShapes[ ] = &circle;

204

205 // aim arrayOfShapes[2] at derived-class Cylinder object 206 arrayOfShapes[ ] = &cylinder;

207

208 // Loop through arrayOfShapes and call virtualViaPointer 209 // to print the shape name, attributes, area, and volume 210 // of each object using dynamic binding.

211 cout << "Virtual function calls made off "

212 << "base-class pointers\n";

213

214 for ( int i = 0; i < 3; i++ )

215 virtualViaPointer( arrayOfShapes[ i ] );

216

(50)

220 cout << "Virtual function calls made off "

221 << "base-class references\n";

222

223 for ( int j = 0; j < 3; j++ )

224 virtualViaReference( *arrayOfShapes[ j ] );

225

226 return 0;

227}

228

229// Make virtual function calls off a base-class pointer 230// using dynamic binding.

231void virtualViaPointer( const Shape *baseClassPtr )

232{

233 baseClassPtr->printShapeName();

234 baseClassPtr->print();

235 cout << "\nArea = " << baseClassPtr->area()

236 << "\nVolume = " << baseClassPtr->volume() << "\n\n";

237}

238

239// Make virtual function calls off a base-class reference 240// using dynamic binding.

241void virtualViaReference( const Shape &baseClassRef )

242{

243 baseClassRef.printShapeName();

244 baseClassRef.print();

245 cout << "\nArea = " << baseClassRef.area()

246 << "\nVolume = " << baseClassRef.volume() << "\n\n";

(51)

2.3 UML 2.0

2.3 UML 2.0 2.3.1 Giới thiệu UML

(52)

52/Chapter © DHBK 2007

2.3.1 Giới thiệu UML

2.3.1 Giới thiệu UML

"The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting the artifacts of a software-intensive

system.”

• UML đơn ngơn ngữ đồ hoạ để mơ hình hố khơng phải phương pháp để phát triển hệ thống

(53)

2.3.1 Giới thiệu UML

2.3.1 Giới thiệu UML

UML 2.0 cung cấp 14 biểu đồ để mơ hình hố cấu trúc chức hệ thống, chia làm nhóm:

(54)

54/Chapter © DHBK 2007

2.3.2 Biểu đồ cấu trúc

2.3.2 Biểu đồ cấu trúc6 loại biểu đồ cấu trúc:

Biểu đồ lớp (Class)

Biểu đồ đối tượng (Object)Biểu đồ gói (package)

Biểu đồ triển khai (Deployment)Biểu đồ thành phần (Component)

Biểu đồ cấu trúc phức hợp (Composite structure

(55)

2.3.2 Biểu đồ cấu trúc

2.3.2 Biểu đồ cấu trúc

Biểu đồ lớp (class diagram)

(56)

56/Chapter © DHBK 2007

2.3.2 Biểu đồ cấu trúc

2.3.2 Biểu đồ cấu trúc

Biểu đồ đối tượng (object diagram)

(57)

2.3.2 Biểu đồ cấu trúc

2.3.2 Biểu đồ cấu trúc

Biểu đồ gói (package diagram)

Biểu đồ gói gộp thành phần khác UML (ví dụ: lớp) để

(58)

58/Chapter © DHBK 2007

2.3.2 Biểu đồ cấu trúc

2.3.2 Biểu đồ cấu trúc

Biểu đồ triển khai (deployment diagram)

Biểu diễn cấu trúc phần cứng thành phần phần mềm hệ

(59)

2.3.2 Biểu đồ cấu trúc

2.3.2 Biểu đồ cấu trúc

Biểu đồ thành phần (component diagram)

(60)

60/Chapter © DHBK 2007

2.3.2 Biểu đồ cấu trúc

2.3.2 Biểu đồ cấu trúc

Biểu đồ cấu trúc phức hợp (composite structure diagram)

(61)

2.3.3 Biểu đồ chức năng

2.3.3 Biểu đồ chức năng8 loại biểu đồ chức năng

Biểu đồ hoạt động (activity diagram)

Biểu đồ tương tác (interaction diagrams)

Biểu đồ chuỗi (sequence diagram)

Biểu đồ cộng tác (communication/collaboration diagram)Biểu đồ khát quát tương tác (interaction overview diagram)Biểu đồ thời gian (timing diagram)

Biểu đồ máy trạng thái (state machines)

Máy trạng thái chức (behavior state machines)Máy trạng thái giao thức (protocol state machines)

(62)

62/Chapter © DHBK 2007

2.3.3 Biểu đồ chức năng

2.3.3 Biểu đồ chức năng

Biểu đồ hoạt động (activity diagram)

Được dùng để mô tả luồng

(63)

2.3.3 Biểu đồ chức năng

2.3.3 Biểu đồ chức năng

Biểu đồ chuỗi (sequence diagram)

Mô tả hoạt động đối tượng ca sử dụng dựa

(64)

64/Chapter © DHBK 2007

2.3.3 Biểu đồ chức năng

2.3.3 Biểu đồ chức năng

Biểu đồ cộng tác (collaboration diagram)

Là cách biểu diễn khác biểu đồ chuỗi tập trung

(65)

2.3.3 Biểu đồ chức năng

2.3.3 Biểu đồ chức năng

Biểu đồ khát quát tương tác (interaction overview diagram)

Được dùng để mô tả tương tác đối tượng ca sử

dụng phức tạp

Ít sử dụng

Biểu đồ thời gian (timing diagram)

Được dùng để mô tả tương tác đối tượng theo thời gian

Chủ yếu dùng để mô tả thay đối trạng thái đối tượng khi có tác động kiện theo thời gian.

Được dùng để phát triển hệ thống thời gian thực hệ thống

(66)

66/Chapter © DHBK 2007

2.3.3 Biểu đồ chức năng

2.3.3 Biểu đồ chức năng

Biểu đồ máy trạng thái chức (behavior state machines)

Được dùng để mô tả trạng thái khác mà đối tượng

(67)

2.3.3 Biểu đồ chức năng

2.3.3 Biểu đồ chức năng

Biểu đồ máy trạng thái giao thức (protocol state machines)

Được dùng để mô tả giao thức lớpVí dụ: open database -> Query or update

Biểu đồ ca sử dụng (use case diagram)

Được dùng để mô tả tương tác hệ thống với người sử

dụng với hệ thống khác có tương tác với nó.

Là cơng cụ để mơ tả yêu cầu hệ thống

Là cơng cụ quan trọng phân tích

(68)

68/Chapter © DHBK 2007

2.3.3 Biểu đồ chức năng

(69)

2.3.3 Biểu đồ chức năng

(70)

70/Chapter © DHBK 2007

2.3.3 Biểu đồ chức năng

(71)

2.3.4 Các chế mở rộng

2.3.4 Các chế mở rộng

Ràng buộc (constraints)

Dùng để biểu diễn ràng buộc quan hệ mà biểu

diễn UML

(72)

72/Chapter © DHBK 2007

2.3.4 Các chế mở rộng

2.3.4 Các chế mở rộng

Nhãn:giá trị (tagged values)

Là cặp chuỗi ký tự: nhãn (tag) giá trị (value) dùng để

bổ sung thơng tin cho phần tử (lớp, đối tượng, quan hệ …)

(73)

2.3.4 Các chế mở rộng

2.3.4 Các chế mở rộng

Khn mẫu (stereotype)

Cho phép mở rộng UML cách sử dụng phần tử mơ hình

hố có sẵn UML

(74)

74/Chapter © DHBK 2007

2.3.5 Tóm tắt

(75)

tượng với UML 2.0

tượng với UML 2.0

2.4.1 Đặc điểm OOAD 2.4.2 Ưu điểm OOAD

(76)

76/Chapter © DHBK 2007

2.4.1 Đặc điểm OOAD

2.4.1 Đặc điểm OOADUse-case driven

Architecture Centric

Cấu trúc phần mềm định việc mô tả, xây dựng viết tài liệu hệ thống

3 dạng cấu trúc hệ thống:

Chức (functional view): chức bên ngồi hệ thống từ góc nhìn người sử dụng : biểu đồ ca sử dụng, biểu đồ hoạt động

Cấu trúc tĩnh (static view): lớp, thuộc tính, phương thức, quan hệ

Cấu trúc động (dynamic view): chức bên hệ thống: biểu đồ máy trạng thái chức năng

(77)

2.4.2 Ưu điểm OOAD

2.4.2 Ưu điểm OOAD

Việc chia nhỏ hệ thống lớn thành module sẽ giúp cho việc giải vấn đề dễ dàng hơn, dễ chia sẻ thành viên dự án dễ dàng trao đổi với người dùng yêu cầu hệ

thống

Dễ dàng sử dụng lại module dự án khác

(78)

78/Chapter © DHBK 2007

2.4.2 Ưu điểm OOAD

(79)

2.4.3 The Unified process

2.4.3 The Unified process

Unified process phương pháp phát triển hệ thống quy định sử dụng kỹ thuật UML sử dụng chúng q trình phân tích thiết kế hệ thống.

Tác giả: Booch, Jacobsen, RumbaughLà phương pháp hướng đối tượng

Không phải quy trình phát triển phần mềm hồn

thiện

Không xét đến vấn đề phân bổ nhân lực, ngân quỹ, quản

lý hợp đồng

(80)

80/Chapter © DHBK 2007

2.4.3 The Unified process

(81)

2.4.3 The Unified process

2.4.3 The Unified process

Pha khởi tạo (Inception): giống pha lập kế hoạch

Các bước liên quan:

Mơ hình hoá giá trị kinh doanh hệ thống (business modeling) *Xác định yêu cầu (requirements)*

Phân tích (analysis)*

Thiết kế (design)

Thực (implementation)Kiểm tra (test)

Môi trường phát triển (environment)*

Kết quả:

Phạm vi dự án

Các yêu cầu ràng buộc quan trọngKế hoạch dự án bước đầu

Miêu tả tính khả thi rủi ro dự án

(82)

82/Chapter © DHBK 2007

2.4.3 The Unified process

2.4.3 The Unified process

Pha phát triển (elaboration): hồn thiện mơ hình kinh doanh, đánh giá lại rủi ro hoàn thiện kế hoạch dự án

Các bước liên quan:

Thu thập yêu cầu (requirements)

Phân tích (analysis)*Thiết kế (design)*

Thực (implementation)Kiểm tra (test)

Triển khai (deployment)

Quản lý cấu hình thay đổi (configuration and change management)

Kết quả:

Biểu đồ cấu trúc chức UML

(83)

2.4.3 The Unified process

2.4.3 The Unified process

Pha xây dựng (construction): tập trung chủ yếu vào lập trình

Các bước liên quan:

Thu thập yêu cầu (requirements)Phân tích (analysis)

Thiết kế (design)

Thực (implementation)*

Kiểm tra (test)

Triển khai (deployment)

Quản lý cấu hình thay đổi (configuration and change management)*Kết quả:

(84)

84/Chapter © DHBK 2007

2.4.3 The Unified process

2.4.3 The Unified process

Pha chuyển tiếp (transition): tập trung chủ yếu vào kiểm tra triển khai

Các bước liên quan:

Thu thập yêu cầu (requirements)Phân tích (analysis)

Thiết kế (design)

Thực (implementation)

Kiểm tra (test)*

Triển khai (deployment)*

Quản lý cấu hình thay đổi (configuration and change management)*Kết quả:

Phiên cuối (release) hệ thốngHướng dẫn sử dụng

(85)

2.4.3 The Unified process

2.4.3 The Unified process

Các bước kỹ thuật (Engineering workflows)

1 Mơ hình hố giá trị kinh doanh (business modeling)

Diễn chủ yếu pha khởi tạo

Phát vấn đề xác định dự án tiềm năngXác định giá trị kinh doanh mà dự án đem lại

Thu thập liệu mơ hình hố ca sử dụng sử

dụng

2 Xác định yêu cầu (requirements)

Xác định yêu cầu chức không chức năng

Yêu cầu thu thập từ người sử dụng, người quản lý người

sử dụng, khách hàng

3 Phân tích

Xây dựng biểu đồ cấu trúc chức sử dụng UMLXác định lớp sử dụng lại

Bước phân tích sử dụng lại lúc chu trình

(86)

86/Chapter © DHBK 2007

2.4.3 The Unified process

2.4.3 The Unified processCác bước kỹ thuật (Engineering workflows)

4 Thiết kế

Chuyển từ mơ hình phân tích sang mơ hình thiết kế

Thiết kế giao diện, sở liệu, cấu trúc vật lý hệ thống, thiết kế

chi tiết lớp

5 Thực (implementation)

Lập trình: viết lớp, chương trình sử dụng lớp thư

viện

Tích hợp module

6 Kiểm tra (Test)

Kiểm tra tích hợp hệ thống, chức năng, kiểm tra khả chấp nhận

của người sử dụng …

Việc kiểm tra đuợc tiến hành suốt trình phát triển hệ

thống

7 Triển khai (deployment)

(87)

2.4.3 The Unified process

2.4.3 The Unified processCác bước hỗ trợ (Supporting workflows)

1 Quản lý dự án (project management)

Diễn suốt trình phát triển hệ thốngXác định quản lý rủi ro

Quản lý phạm vi dự án

Quản lý thời gian, chi phí…

2 Quản lý cấu hình thay đổi (configuration and change management )

Theo dõi quản lý trạng thái phiên hệ thốngQuản lý việc thay đổi phiên (người thay đổi, thời gian

thay đổi…)

3 Quản lý môi trường phát triển (environment)

Quản lý công cụ môi trường phát triển cần thiết cho dự

án

(88)

88/Chapter © DHBK 2007

2.4.4 MOOSAD

(89)

Chương Lập kế hoạch

Chương Lập kế hoạch

3.1 Khởi tạo dự án (Project initiation)

(90)

90/Chapter © DHBK 2007

3.1 Khởi tạo dự án

3.1 Khởi tạo dự án

3.1.1 Giới thiệu

3.1.2 Yêu cầu hệ thống (system request)

(91)

3.1.1 Giới thiệu

3.1.1 Giới thiệu

Nhu cầu kinh doanh Tài liệu

yêu cầu hệ thống

Project sponsor

Hội đồng duyệt dự án

No

Yêu cầu hệ thống đã chỉnh sửa

Yes

Phân tích tính khả thi

Project sponsor + analyst

(92)

92/Chapter © DHBK 2007

3.1.1 Giới thiệu

3.1.1 Giới thiệu

Hội đồng duyệt dự án (approval committee)

Hội đồng chuyên trách họp thường kỳ (vd tháng

lần)

1 đơn vị chức cá nhân có thẩm quyền (vd

(93)

3.1.2 Yêu cầu hệ thống (system request)

3.1.2 Yêu cầu hệ thống (system request)Tài liệu yêu cầu hệ thống gồm thành phần:

Chủ nhiệm dự án (project sponsor)Nhu cầu kinh doanh (business need)

Yêu cầu kinh doanh (business requirements)Các giá trị kinh doanh ( business values)

(94)

94/Chapter © DHBK 2007

3.1.2 Yêu cầu hệ thống (system request)

3.1.2 Yêu cầu hệ thống (system request)

Chủ nhiệm dự án (project sponsor)

Người thuộc phòng kinh doanh

Người thuộc phịng IT chủ nhiệm đồng chủ nhiệm

dự án

CIO, CEO

Nhu cầu kinh doanh (business need): why?

Xuất phát từ:

Phòng kinh doanhPhòng IT

Chuyên gia tư vấn bên ngoàiPhát sinh khi:

1 chiến dịch kinh doanh cần hỗ trợ cần tìm kiếm thêm khách hàng

cần cải thiện việc trao đổi với nhà phân phối

việc kinh doanh cơng ty có vấn đề: cổ phiếu giảm, hỗ trợ khách

hàng kém, bị cạnh tranh

(95)

3.1.2 Yêu cầu hệ thống (system request)

3.1.2 Yêu cầu hệ thống (system request)Yêu cầu kinh doanh (business requirement)

Hệ thống làm gì

Các chức hệ thống

Giá trị kinh doanh (business values)

Giá trị hữu hình: ví dụ: 20 % giảm chi phí

Giá trị vơ hình: ví dụ: cải thiện chất lượng dịch vụ khách

hàng, cải thiện vị trí cạnh tranhCác vấn đề đặc biệt

(96)

96/Chapter © DHBK 2007

Case study: CD selections

Case study: CD selectionsGiới thiệu chung cơng ty CD selections:

50 cửa hàng băng đĩa ca nhạc CaliforniaDoanh số bán hàng: 50 triệu USD

Tăng trưởng 3-5 % / năm

Có website cung cấp thông tin công ty

như dẫn đường đến, mở cửa, địa liên hệ Margaret Mooney, phó chủ tịch phụ trách thị

(97)

Case study: CD selections

(98)

98/Chapter © DHBK 2007

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thiKhả thi kỹ thuật (technical feasibility)

Khả thi kinh tế (economic feasibility)

(99)

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

Khả thi kỹ thuật (technical feasibility) (can we build it ?)

Mức độ quen thuộc với ứng dụngMức độ quen thuộc với cơng nghệKích thước dự án:

Số lượng người tham dựthời gian

độ phức tạp hệ thống

Sự tương thích hệ thống với hệ thống tồn

tại

(100)

100/Chapter © DHBK 2007

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

Khả thi kinh tế (economic feasibility) (should we build it ?)

Xác định loại chi phí lợi nhuậnChi phí phát triển hệ thống (1 lần)

Chi phí vận hành (chi phí thường xuyên)Lợi nhuận hữu hình

(101)

3.1.3 Phân tích tính khả thi

(102)

102/Chapter © DHBK 2007

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

Khả thi kinh tế (economic feasibility) (should we build it ?)

(103)

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

Khả thi kinh tế (economic feasibility) (should we build it ?)

Xác định dòng tiền mặt (cash flow): giá trị chi phí lợi nhuận

(104)

104/Chapter © DHBK 2007

3.1.3 Phân tích tính khả thi

(105)

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

Khả thi kinh tế (economic feasibility) (should we build it ?)

Xác định giá trị Net present Value (NPV)Xác định tỷ lệ hồi vốn (Return on Investment)Xác định điểm hoà vốn (break even point)

(106)

106/Chapter © DHBK 2007

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

(107)

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

(108)

108/Chapter © DHBK 2007

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

(109)

3.1.3 Phân tích tính khả thi

3.1.3 Phân tích tính khả thi

Khả thi tổ chức

Phân tích đánh giá mức độ hệ thống chấp nhận

người sử dụng khả tích hợp hệ thống vào hệ thống vận hành công ty

2 cách đánh giá:

Hệ thống có định hướng với chiến lược phát triển cơng

ty?

Phân tích ảnh hưởng bị ảnh hưởng dự án

người liên quan

Người bảo trợ cho dự ánNgười sử dụng hệ thốngBan lãnh đạo công ty

(110)

110/Chapter © DHBK 2007

3.1.4 Lựa chọn dự án

3.1.4 Lựa chọn dự án3 phương án:

Thơng quaLoại bỏ

Xem xét lại

Phụ thuộc vào:

(111)

3.2 Quản lý dự án

3.2 Quản lý dự án

3.2.1 Giới thiệu

3.2.2 Xác định kích thước dự án

3.2.3 Xây dựng quản lý kế hoạch công việc 3.2.4 Sắp xếp nhân lực cho dự án

(112)

112/Chapter © DHBK 2007

3.2.1 Giới thiệu

3.2.1 Giới thiệu

Project management is the process of planning

and controlling the development of a system

within a specified timeframe at a minimum cost with the right functionality.

A project manager has the primary responsibility

(113)

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự án3 nhân tố phụ thuộc lẫn nhau:

Kích thước hệ thống

Thời gian hồn thành dự ánChi phí dự án

2 phương pháp ước lượng kích thước dự án

Phương pháp đơn giản dựa chuẩn công nghiệpPhương pháp điểm chức (function point

(114)

114/Chapter © DHBK 2007

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự ánPhương pháp đơn giản dựa chuẩn công

nghiệp

Planning Analysis Design Implementation

Industry Standard

For Web 15% 20% 35% 30% Applications

Time

Required 4 5.33 9.33 8 in Person

(115)

3.2.2 Xác định kích thước dự án

(116)

116/Chapter © DHBK 2007

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự ánPhương pháp điểm chức năng

Xác định kích thước hệ thống theo điểm chức

số dòng lệnh

1 điểm chức đơn vị đo kích thước chương trình dựa

trên số lượng độ phức tạp đầu vào, đầu ra, truy vấn, files và giao diện chương trình

Tính tốn số điểm chức năng

Liệt kê thành phần chương trìnhXác định số lượng thành phần

(117)

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự án

Tính tốn số điểm chức năng-Bước 1:

Complexity

Description Low Medium High Total Inputs x x x Outputs x x x Queries x x x Files x x 10 x 15 Program x x x 10 Interfaces

(118)

118/Chapter © DHBK 2007

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự án

(119)

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự án

(120)

120/Chapter © DHBK 2007

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự án

Tính độ phức tạp xử lý hiệu chỉnh (adjusted processing complexity)-Bước

Adjusted Processing Complexity (APC)

= 65 + (0.01 * Processing Complexity) Total Adjusted Function Points (TAFP)

(121)

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự án

Tính độ phức tạp xử lý hiệu chỉnh (adjusted processing complexity)-ví dụ:

Processing Complexity (PC): Adjusted Processing

Complexity (PCA) = 0.65 + (0.01 * 7_ ) Total Adjusted Function Points (TAFP):

(122)

122/Chapter © DHBK 2007

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự án

Tính số dịng lệnh= LOC/Function Code Point x TAFP

Language LOC/Function Code Point

C COBOL JAVA C++ Turbo Pascal Visual Basic PowerBuilder HTML Packages

(e.g., Access, Excel)

130 110 55 50 50 30 15 15 10-40

(123)

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự ánPhương pháp điểm chức năng

Xác định kích thước hệ thống theo điểm chức

số dòng lệnh

Ước lượng nhân lực (person-months)

Mơ hình: COSOMO

Effort = 1.4 * thousands-of-(in Person- lines-of-code Months)

Example:

If LOC = 20000 Then

(124)

124/Chapter © DHBK 2007

3.2.2 Xác định kích thước dự án

3.2.2 Xác định kích thước dự ánPhương pháp điểm chức năng

Xác định kích thước hệ thống theo điểm chức

số dòng lệnh

Ước lượng nhân lực (person-months)

Ước lượng thời gian thực dự án (months)

Schedule Time (months) = 3.0 * person-months1/3

(125)

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

cơng việc

cơng việcXác định cơng việc dự án

Ước lượng thời gian thực cơng việc

Xác định phụ thuộc cơng việcXác định làm cơng việc gì

Liệt kê kết đạt công việc ( deliverables): ví dụ: báo cáo, thiết kế,

(126)

126/Chapter © DHBK 2007

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

công việc

cơng việc

Ví dụ kế hoạch công việc:

Work Plan Information Example

Name of task Perform economic feasibility Start date ` Jan 05, 2001

Completion date Jan 19, 2001

Person assigned Mary Smith, sponsor Deliverable(s) Cost-benefit analysis Completion status Open

Priority High

Resources needed Spreadsheet Estimated time 16 hours

(127)

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

công việc

công việc

Xác định cơng việc dự án: phương pháp

Phương pháp Top-down

Xác định cơng việc pha dự án

Lần lượt chia cơng việc thành cơng việc nhỏ

hơn

Phương pháp chuẩn

Sử dụng danh sách công việc chuẩn

(128)

128/Chapter © DHBK 2007

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

công việc

công việc

Xác định cơng việc dự án dùng phương pháp Top-down

Phases high level stepsPhases with

Work Plan Deliverables Estimated Assigned duration To *

(129)

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

công việc

công việc

Xác định cơng việc dự án dùng phương pháp Top-down: cấu trúc chia nhỏ công việc

WBS (Work Breakdown Structure)Xác định cơng việc chính

Chia cơng việc thành cơng việc nhỏ hơnĐánh số công việc xắp xếp chúng theo cấu trúc

phân tầng

Có thể thực WBS theo cách:

(130)

130/Chapter © DHBK 2007

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

công việc

(131)

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

công việc

cơng việc

(132)

132/Chapter © DHBK 2007

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

cơng việc

cơng việc

• Biểu đồ PERT (PERT= Project Evaluation and Review Technique )

Là cách biểu diễn khác kế hoạch công việc

Cách tốt để biểu diễn phụ thuộc công

việc để xác định pha then chốt

PERT sử dụng loại giá trị ước lượng thời gian thực

hiện công việc:

Lạc quan: O

Khả cao: M (most likely)Bi quan: P

(133)

3.2.3 Xây dựng quản lý kế hoạch

3.2.3 Xây dựng quản lý kế hoạch

cơng việc

cơng việc • Biểu đồ PERT

(134)

134/Chapter © DHBK 2007

3.2.4 Sắp xếp nhân lực cho dự án

3.2.4 Sắp xếp nhân lực cho dự ánXác định số người cho dự án

Xây dựng kế hoạch nhân (staffing plan) liệt kê các vị trí cần thiết cho dự án

Xác định cấu tổ chức dự án

Chọn người thích hợp vào vị trí

Khích lệ, động viên định hướng cho nhóm

tới mục tiêu dự án

Giải xung đột xảy

(135)

3.2.4 Sắp xếp nhân lực cho dự án

(136)

136/Chapter © DHBK 2007

3.2.4 Sắp xếp nhân lực cho dự án

3.2.4 Sắp xếp nhân lực cho dự ánChọn người thích hợp cho vị trí:

2 tiêu chí:

Kỹ kỹ thuật (technical skills)

Kỹ giao tiếp, ứng xử (interpersonal skills)

(137)

3.2.4 Sắp xếp nhân lực cho dự án

3.2.4 Sắp xếp nhân lực cho dự ánKhích lệ động viên thành viên nhóm:

Sử dụng tiền thưởng cách cẩn trọngSử dụng khích lệ tinh thần:

Công việc hấp dẫn, thách thứcTinh thần trách nhiệm

Nhu cầu tiến thủ

(138)

138/Chapter © DHBK 2007

3.2.4 Sắp xếp nhân lực cho dự án

3.2.4 Sắp xếp nhân lực cho dự ánChiến lược để giải xung đột:

Xác định rõ ràng công việc thành viên

nhóm

Lập bảng quy định, nội quy nhóm

Dự đốn ưu tiên khác khả ảnh hưởng

(139)

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự án

Kế hoạch dự án quản lý dự án phải cập nhật trong suốt thời gian dự án dự án tiến triển theo đúng kế hoạch dự kiến ban đầu:

Tinh chỉnh giá trị ước lượng: cập nhật ước lượng

về thời gian chi phí điều chỉnh dự án cho phù hợp với kết ước lượng

Quản lý phạm vi dự án: quản lý hậu gây việc

thay đổi yêu cầu hệ thống

Điều phối dự án: sử dụng công cụ CASE

(computer-aided software engineering), chuẩn, tài liệu để cải thiện việc trao đổi thông tin hiệu dự án

Quản lý rủi ro: đánh giá rủi ro từ có biện pháp tối

(140)

140/Chapter © DHBK 2007

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự án

Tinh chỉnh giá trị ước lượng

Typical margins of Error for

Well-done Estimates Phase Deliverable Cost (%)

time (%)

Planning System Request 400 60

Project Plan 100 25

Analysis System Proposal 50

15

(141)

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự án

Quản lý phạm vi dự án (scope management)

Scope creep: tượng dự án có nguy kéo dài

tốn chi phí dự kiến

Nguyên nhân: thêm yêu cầu cho hệ thống sau

phạm vi hệ thống giới hạn

Biện pháp khắc phục:

Cách 1: tăng cường gặp gỡ trao đổi với người sử dụng xây

dựng nguyên mẫu để tăng tốc việc định rõ yêu cầu -> giảm được 5% nguy cơ

(142)

142/Chapter © DHBK 2007

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự án

• Timeboxing Steps

1 Set the date for system delivery.

2 Prioritize the functionality that needs to be included in the system.

3 Build the core of the system (the functionality ranked as most important).

4 Postpone functionality that cannot be provided within the time frame.

5 Deliver the system with core functionality.

(143)

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự ánĐiều phối hoạt động dự án:

Initiation Analysis Design Implementation

Upper CASE Lower CASE Integrated CASE (I-CASE)

CASE (computer-aided software engineering) tool –

CASE (computer-aided software engineering) tool –

Software that automates all of part of the development

Software that automates all of part of the development

process

(144)

144/Chapter © DHBK 2007

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự ánĐiều phối hoạt động dự án:

Standardisation: Examples

Formal rules for naming filesForms indicating goals reached

Programming guidelines and Coding standardDocumentation

Project binder: all deliverables and all the internal

communications within a project

(145)

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự ánQuản lý rủi ro:

Risk assessment: a document assesses a potential risk

including:

Risk No and its brief descriptionLikelihood of risk

Potential impact on the project Ways to address the risk

(146)

146/Chapter © DHBK 2007

3.2.5 Điều phối hoạt động dự án

3.2.5 Điều phối hoạt động dự ánQuản lý rủi ro:

Avoiding Classic Planning Mistakes

Overly optimistic scheduleFailing to monitor scheduleFailing to update schedule

(147)

3.2.6 CD selections

(148)

148/Chapter © DHBK 2007

Chương Phân tích hệ thống

Chương Phân tích hệ thống

4.1 Xác định yêu cầu hệ thống 4.2 Mơ hình hố chức năng

(149)

Chương Phân tích hệ thống

Chương Phân tích hệ thống

Yêu cầu hệ thống (system request)

Định nghĩa yêu cầu của hệ thống

Hội đồng duyệt dự án

Mơ hình cấu trúc Mơ hình chức năng

Mơ hình hoạt động

system proposal Phân tích khả thi

Kế hoạch công việc

+

Yes

(150)

150/Chapter © DHBK 2007

4.1 Xác định yêu cầu hệ thống

4.1 Xác định yêu cầu hệ thống

4.1.1 Xác định yêu cầu

(151)

4.1.1 Xác định yêu cầu

4.1.1 Xác định yêu cầuYêu cầu gì?

1 yêu cầu (requirement) diễn tả chức hệ thống

phải làm đặc điểm hệ thống phải có

Yêu cầu chức (functional requirement): yêu cầu

có liên quan trực tiếp đến hoạt động mà hệ thống phải làm thông tin mà hệ thống lưu trữ

Yêu cầu không chức (nonfunctional requirement):

là yêu cầu tính chất thuộc tính mà hệ thống phải có khả hoạt động, khả sử dụng

Chức năng

Khả hoạt độngAn ninh

u cầu văn hố, trị

(152)

152/Chapter © DHBK 2007

4.1.1 Xác định yêu cầu

4.1.1 Xác định yêu cầuTài liệu định nghĩa yêu cầu (requirement

definition):

Là văn liệt kê yêu cầu chức yêu cầu

không chức năng

Cung cấp đầu vào cho bước q

trình phân tích hệ thống q trình thiết kế

Mục đích quan trọng tài liệu định nghĩa yêu

(153)

4.1.1 Xác định yêu cầu

4.1.1 Xác định yêu cầuXây dựng tài liệu định nghĩa yêu cầu

Xác định loại yêu cầu chức không chức

năng

Sử dụng kỹ thuật thu thập yêu cầu để thu thập

thông tin

Sử dụng kỹ thuật phân tích yêu cầu để kiểm tra,

(154)

154/Chapter © DHBK 2007

4.1.1 Xác định yêu cầu

(155)

4.1.1 Xác định yêu cầu

(156)

156/Chapter © DHBK 2007

4.1.2 Các kỹ thuật phân tích yêu cầu

4.1.2 Các kỹ thuật phân tích u cầuPhương pháp: người kinh doanh người phân

tích làm việc để phân tích yêu cầu

3 kỹ thuật phân tích u cầu:

1 Business process automation (BPA): tự động hố q trình kinh doanh

2 Business process improvement (BPI): cải tiến trình kinh doanh

3 Business process reengineering (BPE)

3 bước q trình phân tích u cầu:

1 Phân tích tình trạng hệ thống

(157)

4.1.2 Các kỹ thuật phân tích yêu cầu

4.1.2 Các kỹ thuật phân tích u cầu

Business process automation (BPA): tự động hố q trình kinh doanh

Không làm thay đổi hoạt động tại

Tự động hố số cơng việc dùng cơng nghệ máy

tính

2 kỹ thuật BPA

Phân tích vấn đề (problem analysis): xác định vấn đề

hệ thống tìm cách giải chúng hệ thống mới

Phân tích nguyên nhân gốc (root cause analysis): phân tích

(158)

158/Chapter © DHBK 2007

4.1.2 Các kỹ thuật phân tích yêu cầu

4.1.2 Các kỹ thuật phân tích yêu cầuBusiness process improvement (BPI): cải tiến

quá trình kinh doanh

Làm thay đổi hoạt động tại

Cản thiện hiệu suất hiệu hệ thốngTập trung vào hệ thống để cải tiến

3 hoạt động phân tích:

Phân tích khoảng thời gian (duration analysis): phân tích chi

tiết thời gian thực khâu hệ thống tại xác định khâu cải tiến

Xác định chi phí hoạt động (activity based costing): xác

định chi phí khâu hệ thống xác định các khâu có chi phí cao từ cải tiến để giảm chi phí

Nghiên cứu kinh nghiệm bên (informal benchmarking):

(159)

4.1.2 Các kỹ thuật phân tích yêu cầu

4.1.2 Các kỹ thuật phân tích yêu cầuBusiness process reengineering (BPR): thay đổi

quá trình kinh doanh

Làm thay đổi hoạt động tại3 hoạt động phân tích:

Phân tích kết (outcome analysis): tập trung phân tích

kết hệ thống có đem lại giá trị cho khách hàng Nhà phân tích khuyến khích nhà quản lý dự án đặt vào vị trí khách hàng suy nghĩ cẩn thận mà sản phẩm dịch vụ đem đến cho khách hàng.

Phân tích cơng nghệ (technology analysis): Xác định danh

sách công nghệ quan trọng hấp dẫn từ phân tích khả ứng dụng công nghệ vào hoạt động kinh doanh lợi ích việc ứng dụng cơng nghệ đó

Loại bỏ hoạt động (activity elimination): nhà phân tích nhà

(160)

160/Chapter © DHBK 2007

4.1.2 Các kỹ thuật phân tích yêu cầu

4.1.2 Các kỹ thuật phân tích u cầuLựa chọn kỹ thuật thích hợp, phụ thuộc vào:

Giá trị kinh doanh tiềm (potential business value)Chi phí dự án (project cost)

(161)

4.1.2 Các kỹ thuật phân tích yêu cầu

(162)

162/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews)

Kết hợp phát triển ứng dụng (Joint Application

Development (JAD))

Điều tra (Questionnaires)

Phân tích tài liệu (Document analysis)

(163)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): 5 bước

Chọn người đựơc vấn

Thiết kế câu hỏi vấn Chuẩn bị cho vấnThực vấn

(164)

164/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước Chọn người

đựơc vấn

Dựa vào thông tin cần thu thập

Chọn người đựơc vấn vị trí khác để

có thơng tin từ nhiều góc độ:

Người quản lýNgười sử dụng

Những người có ảnh hưởng bị ảnh hưởng hệ thống

(165)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước : thiết kế câu hỏi

(166)

166/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước : thiết kế câu hỏi

phỏng vấn, loại:

Types of Questions Examples

Closed-Ended Questions * How many telephone orders are received per day?

* How customers place orders?

* What additional information would you like the new system to provide?

Open-Ended Questions * What you think about the

current system?

* What are some of the problems

you face on a daily basis?

* How you decide what types of

marketing campaign to run? Probing Questions

* Why?

(167)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước : thiết kế câu hỏi

phỏng vấn, loại vấn

Phỏng vấn không cấu trúc (Unstructured interview)

Các thông tin chung, khái quát

Thực bước dự án

Phỏng vấn có cấu trúc (Structured interview)

Các thông tin cụ thể hơn

(168)

168/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước : thiết kế câu hỏi

(169)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước 3: chuẩn bị cho

cuộc vấn

Chuẩn bị kế hoạch vấn tổng thế

Liệt kê câu hỏi

Dự đoán trước câu trả lời câu hỏi tiếp theo

Khẳng định lại lĩnh vực kiến thức

Xác định câu hỏi, lĩnh vực ưu tiên trường

hợp không đủ thời gian

Chuẩn bị cho người vấn

Xếp lịch

Thông báo lý vấn

(170)

170/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước 4: thực

phỏng vấn

Phải gây thiện cảm với người vấn:

tỏ chuyên nghiệp không thiên vị

ghi lại tất thơng tin

Kiểm tra sách ghi âm vấn Phải đảm bảo hiểu tất vấn đề thuật ngữ Phân biệt rõ kiện với ý kiến bình luận

Dành thời gian cho người đựơc vấn đặt câu hỏiNhớ cảm ơn người vấn thông báo

công việc sau vấn

(171)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước 4: thực

phỏng vấn, practical tipsDon’t worry, be happy

Pay attention

Summarize key pointsBe succinct

Be honest

(172)

172/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước 5: Cơng việc sau

phỏng vấn

Chuẩn bị báo cáo vấn vòng 48

tiếng

Gửi báo cáo cho người vấn để sửa chữa,

(173)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phỏng vấn (Interviews): Bước 5: Công việc sau

phỏng vấn

INTERVIEW REPORT

Interview notes approved by: Person interviewed

Interviewer _ Date _ Primary Purpose:

Summary of Interview: Open Items:

(174)

174/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

JAD:

Allows project managers, users, and developers to

work together to identify requirements

May reduce scope creep by 50%

(175)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

JAD: Lựa chọn người tham dự vai trị

người

Facilitator

sets the meeting agenda and guides the discussion

Scribe

assist the facilitator by recording notes, making copies, etc

(176)

176/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

JAD: Thiết lập họp

U-Shaped seating

Away from distractionsWhiteboard/flip chartPrototyping tools

(177)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

JAD: phiên họp JAD

Tend to last to 10 days over a three week periodPrepare questions as with interviews

Formal agenda and groundrulesFacilitator activities

Keep session on track

Help with technical terms and jargonRecord group input

(178)

178/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

JAD: Quản lý vấn đề phiên họp JAD

Reducing domination

Encouraging non-contributorsSide discussions

Agenda merry-go-roundViolent agreement

Unresolved conflictTrue conflict

(179)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

(180)

180/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầuĐiều tra (Questionnaire), bước:

Selecting participants

Using samples of the populationDesigning the questionnaire

Careful question selectionAdministering the questionnaire

Working to get good response rateQuestionnaire follow-up

(181)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Điều tra (Questionnaire), thiết kế:

Begin with non-threatening and interesting questions.Group items into logically coherent sections.

Do not put important items at the very end of the

questionnaire.

Do not crowd a page with too many items.Avoid abbreviations.

Avoid biased or suggestive items or terms.Number questions to avoid confusion.

Pretest the questionnaire to identify confusing

questions.

(182)

182/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Phân tích tài liệu:

Document analysis is used to provides clues about

existing “as-is” system

Typical documents used

Forms

Reports

Policy manuals

Organization chart

(183)

4.1.3 Các kỹ thuật thu thập yêu cầu

4.1.3 Các kỹ thuật thu thập yêu cầu

Quan sát:

Users/managers often don’t remember everything they

do

Checks validity of information gathered other waysBehaviors change when people are watched

(184)

184/Chapter © DHBK 2007

4.1.3 Các kỹ thuật thu thập yêu cầu

(185)

4.1.4 CD selections

4.1.4 CD selections

Requirement Determination

Requirement Analysis Techniques

Select BPI techniques to identify how to improve the

current order process using a new web-based system

Using several JAD session including store managers,

marketing analysts and Wed developers (the working group) to work through BPI techniques and brainstorm

Further apply informal benchmarking with Web-sites of

several leading retailers and discuss with the working group

The output is a list of suggested business requirements

(186)

186/Chapter © DHBK 2007

4.1.4 CD selections

4.1.4 CD selections

Requirement Determination

Requirement-gathering Techniques

The project team applies document analysis, interview and

observation techniques

Firstly apply document analysis to understand the current order

processes (i.e., the as-is system) If anything is not clear, use interview to clarify

Secondly interview senior analysts to get better ideas about as-is

and to-be systems and IT contractor to understand the existing IT system

Thirdly observe in stores to see the real working process of as-is

system

The above activities at the end produces the requirement definition (report)

(187)

(Functional Modeling)

(Functional Modeling)

4.2.1 Giới thiệu

4.2.2 Mơ hình q trình kinh doanh biểu đồ hoạt động (activity diagrams)

4.2.3 Mô tả ca sử dụng (use case descriptor) 4.2.4 Biểu đồ ca sử dụng

4.2.5 Xây dựng mô tả ca sử dụng biểu đồ ca sử dụng

4.2.6 Hiệu chỉnh ước lượng kích thước dự án nhân lực sử dụng điểm ca sử dụng

(188)

188/Chapter © DHBK 2007

4.2.1 Giới thiệu

4.2.1 Giới thiệu

Bước chuẩn bị : Thu thập yêu cầu từ người sử dụng (phần 4.1).

Bước 1: Sử dụng u cầu thu thập được, mơ hình trình kinh doanh sử dụng biểu đồ hoạt động (activity diagrams)

Bước 2: Sử dụng hoạt động xác định để xác định ca sử dụng

Bước 3: Xây dựng mô tả ca sử dụng cho ca sử dụng

Bước 4: Chuyển tử mơ tả ca sử dụng sang

biểu đồ ca sử dụng để biểu diễn chức hoạt động bên ngồi q trình kinh doanh

(189)

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

Các phần tử biểu đồ hoạt động

(190)

190/Chapter © DHBK 2007

4.2.2 Mơ hình q trình kinh doanh biểu

4.2.2 Mơ hình q trình kinh doanh biểu

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

Biểu đồ hoạt động dùng để mơ hình hố q trình kinh doanh mức cao (high level business process)

Các phần tử biểu đồ hoạt động

Hành động (action)

Là phần tử đơn giản biểu diễn hoạt động chia nhỏ hơnTên: Động từ + danh từ, ví dụ: Make appointment

Hoạt động (activity)

Dùng để biểu diễn tập hợp hành động

Nốt đối tượng (object node)

Biểu diễn đối tượng kết nối với luồng đối tượngTên nốt đối tượng tên lớp đối tượng

Luồng điều khiển (control flow)Biểu diễn chuỗi hoạt động

Make appointment

(191)

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

Các phần tử biểu đồ hoạt động (tiếp theo)Luồng đối tượng (object flow)

Biểu diễn luồng đối tượng từ hoạt động sang hoạt

động khác

Nốt khởi đầu (initial node)

Biểu diễn điểm bắt đầu tập hợp hoạt động

Nốt kết thúc hoạt động (final activity node)

Kết thúc toàn luồng điều khiển luồng đối tượng

Nốt kết thúc luồng (final flow node)

(192)

192/Chapter © DHBK 2007

4.2.2 Mơ hình q trình kinh doanh biểu

4.2.2 Mơ hình q trình kinh doanh biểu

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

Các phần tử biểu đồ hoạt động (tiếp theo)Nốt lựa chọn (decision node)

Biểu diễn việc kiểm tra điều kiện để đảm bảo luồng điều khiển

hoặc luồng đối tượng theo đường

Nốt gộp (merge node)

(193)

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

Các phần tử biểu đồ hoạt động (tiếp theo)Nốt chia (fork node)

Chia hoạt động thành luồng hoạt động song song

Nốt kết hợp (join node)

(194)

194/Chapter © DHBK 2007

4.2.2 Mơ hình q trình kinh doanh biểu

4.2.2 Mơ hình trình kinh doanh biểu

đồ hoạt động (activity diagrams)

(195)

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

Xây dựng biểu đồ hoạt động:

1 Xác định phạm vi ngữ cảnh trình kinh

doanh đặt cho biểu đồ hoạt động tiêu đề phù hợp 2 Xác định hoạt động, luồng điều khiển, luồng đối

tượng diễn hoạt động

3 Xác định định lựa chọn trình kinh doanh

4 Xác định khả thực song song hoạt động (nếu có).

(196)

196/Chapter © DHBK 2007

4.2.2 Mơ hình trình kinh doanh biểu

4.2.2 Mơ hình q trình kinh doanh biểu

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

VD: CD selections

Internet Order System – Functional requirements: 1 Maintain CD Information

1.1…… 1.2… 1.3…

2 Maintain CD marketing information

2.1… 2.2… 2.3….

3 Place CD Orders

3.1 Search CDs from “CD Selection” web site; 3.2 Place orders; 3.3……

4 Maintain Orders

4.1… 4.2…

4.3 Place Instore Hold: If ordered CDs are available in a near store, the CDs are on hold and to be picked up in the store

(197)

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

VD: CD selections

Exercise: Create the activity diagram for Internet Order System

Analysis:

Main activities: Maintain CD Information, Maintain CD

marketing information, Place CD Orders, Maintain ordered CDs

Control flows: Three main parallel processes:

Maintain CD Information

Maintain CD marketing information

Place CD Orders -> Maintain ordered CDs in which a decision

(198)

198/Chapter © DHBK 2007

4.2.2 Mơ hình q trình kinh doanh biểu

4.2.2 Mơ hình q trình kinh doanh biểu

đồ hoạt động (activity diagrams)

đồ hoạt động (activity diagrams)

VD: CD selections

(199)

4.2.3 Mô tả ca sử dụng

4.2.3 Mơ tả ca sử dụng

Một ca sử dụng miêu tả hoạt động người sử dụng hệ thống khác tác động lên hệ thống.

Ca sử dụng mơ hình logic chúng miêu tả

hoạt động hệ thống mà không miêu tả hoạt động thực

Ca sử dụng miêu tả chức hệ thống:

Người sử dụng làm gìHệ thống đáp ứng nào

Ca sử dụng dùng để mơ tả hệ thống

hiện hệ thống cần xây dựng

(200)

200/Chapter © DHBK 2007

4.2.3 Mô tả ca sử dụng

4.2.3 Mô tả ca sử dụng2 bước để xây dựng biểu đồ ca sử dụng

Viết mô tả ca sử dụng

Chuyển từ mô tả ca sử dụng sang biểu đồ ca sử

dụng

Mỗi ca sử dụng miêu tả

chức hệ thống

Để xác định nội dung ca sử dụng, người phát

Ngày đăng: 27/04/2021, 22:15

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w