Tải bản đầy đủ (.pdf) (11 trang)

DSpace at VNU: Nghiên cứu và ứng dụng phương pháp đặc tả phần mềm bằng ví dụ trong phát triển phần mềm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.11 MB, 11 trang )

ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

I TH

NGHI N C

NG
NG

HƯ NG

NG HƯ NG H
Đ CT
TR NG H T TRI N H N

L ẬN ĂN THẠC SĨ

HÀ NỘI, 2015

H N


ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ

I TH

NGHI N C
H N
NG



HƯ NG

NG
NG HƯ NG H
Đ CT
TR NG H T TRI N H N

Ngành: C
Chuyên ngành:
Mã số: 60480103
L ẬN ĂN THẠC SĨ
NGƯỜI HƯỚNG ẪN KH A HỌC TS H

HÀ NỘI, 2015

TƯỜNG INH


i
LỜI CA

Đ AN

T x ca đoa l
vă ày là ững nghiên cứu của bản thân tôi. Những kiến
thức trong lu vă ày được thể hi n dựa trên vi c tổng hợp các kiến thức từ nhi u
nguồn, từ những kinh nghi m thực tế khi
ể c c ự của c
y à

đa là
vi c.
Mọ
được trích dẫn trong lu vă đ u tuân theo lu t sở hữu trí tu và
lu t bản quy n tác giả, được li t kê mộ c c đ y đủ chính xác.
Tôi xin hoàn toàn chịu trách nhi m với những nội dung viết trong lu



Học viên thực hi n

T

ày.


ii

LỜI C

N

Tôi xin bày tỏ lòng biế ơ sâ sắc đến tất cả mọ
ườ đã ú đỡ, hỗ trợ tôi thực
hi n lu vă ày, x cả ơ
oa a Đ Học, T ườ Đ Học C
N , Đ Học
Q ốc G a Hà Nộ đã c o
và o đ u ki để tôi thực hi n lu vă ày.
Tôi xin chân thành cả ơ sự ú đỡ và chỉ bảo t n tình của Th y

o, T ế s
Hồ Tườ
, ả v
ướng dẫn của tôi. Th y đã c ỉ bảo, đị
ướng nghiên cứu
thực hi n, hỗ trợ, t o nhữ đ u ki n tốt nhất cho tôi trong suốt quá trình thực hi đ tài.
Tôi xin bày tỏ lòng biế ơ sâ sắc đế

ườ â o

đ c
là ố, M , Chồ đã o đ u ki , động viên, ủng hộ trong những lúc khó k ă để
tôi có thể hoàn thành lu vă ày.
Xin chân thành cả ơ ất cả quý Th y, C
bảo, rèn luy n, truy đ t những tri thức, k ă , k

ă
ọc vừa qua.

o

oa, T ườ đã n tình chỉ
m quý báu cho tôi trong suố
Học viên thực hi n

T


iii


CL C
MỞ ĐẦU ................................................................................................................... 1
1 C ươ

1: Tổ

q a v A le ........................................................................... 3

1.1

Gớ

v A le ....................................................................................... 4

1.2

Tuyên ngôn Agile ......................................................................................... 4

1.3

N

1.4

Đ c ư

y

1.4.1 Tí


lý của A le ..................................................................................... 6
của A le ...................................................................................... 7
l

(I e a ve).................................................................................... 7

1.4.2 Tí

ế (I c e e al) và ế

1.4.3 Tí

íc ứ

( ay

1.4.4 N ó

ự ổ c ức và l

1.4.5 Q ả lý ế

íc
ực

óa (Evol

o a y) ......................... 8

– Adaptive) ............................................. 8

c ức ă
(E

.......................................................... 8
cal

ocess Co

ol) .................. 8

1.4.6 G ao ế

ực

(Face-to-face communication) .................................. 9



ựa

ị ( al e-based development) ............................ 9

1.4.7
1.5

TDD ............................................................................................................ 10

1.5.1 Lịc sử .................................................................................................... 10
1.5.2 Ý ưở


................................................................................................... 11

1.5.3 Nguyên lý ............................................................................................... 11
1.5.4 Quy trình ................................................................................................. 14
1.5.5 C

cụ ỗ ợ ........................................................................................ 15
í ụ

1.5.6
1.5.7 Đ
1.6

ọa ....................................................................................... 15
................................................................................................. 20

ATDD ......................................................................................................... 21

1.6.1 Lịc sử .................................................................................................... 21
1.6.2 Ý ưở

................................................................................................... 21

1.6.3 Nguyên lý ............................................................................................... 22
1.6.4 Quy trình ................................................................................................. 24
1.6.5 C

cụ ỗ ợ ........................................................................................ 26
í ụ


1.6.6
1.6.7 Đ

ọa ....................................................................................... 27
................................................................................................. 28


iv
1.7

BDD ............................................................................................................ 29

1.7.1 Lịc sử .................................................................................................... 29
1.7.2 Ý ưở

................................................................................................... 29

1.7.3 Nguyên lý ............................................................................................... 30
1.7.4 Quy trình ................................................................................................. 31
1.7.5 C

cụ ỗ ợ ........................................................................................ 32
í ụ

1.7.6

ọa ....................................................................................... 32

1.7.7 Đ
1.8


................................................................................................. 38

Tổ

2 C ươ

ợ TDD, ATDD, DD .................................................................... 39
2:

ươ

đ c ả ằ

ví ụ ....................................................... 41

2.1

Lịc sử ........................................................................................................ 41

2.2

Ý ưở

2.3

Nguyên lý .................................................................................................... 42

....................................................................................................... 41


2.3.1 X c đị

v ừ

2.3.2 Đ c ả y

c

ục

................................................................ 43

ộ c c cộ

c o

ó

ực



. ............ 46

2.3.3 M

ọa sử ụ

2.3.4 Là


ị đ c ả ....................................................................................... 50

2.3.5 Tự độ



2.3.6 T ẩ

đị

2.3.7 L

ục ế

ví ụ .......................................................................... 48

đị
ườ

àk
x y

c

ay đổ đ c ả ................................. 51

....................................................................... 55

óa à l




.......................................................... 57

2.4

Quy trình ..................................................................................................... 58

2.5

C

cụ ỗ ợ ............................................................................................ 63

2.6

í ụ

2.7

os

2.8

Đ

2.8.1 C c

ọa ........................................................................................... 64
Đ c ả ằ


ví ụ và UML ............................................................ 64

...................................................................................................... 65
c

ức của v c là

ày ay ................................. 65

2.8.2 N ữ lợ íc
à ươ
đ c ả q a ví ụ a l để vượ q a
c c c
ức
............................................................................................ 66
2.8.3 Đ ể
2.8.4 Đ

yế ................................................................................................ 67
của độ



........................................................................... 67

3 C ươ 3: T ử
và đ
v c đưa ec f ca o y Exa le vào ực
ế ........................................................................................................................... 69



v
3.1

Mục đíc ..................................................................................................... 69

3.2

Q y

ể c c ự

3.2.1 Đ c đ ể



....................................................................................... 69

3.2.2 M



3.2.3 M
3.2.4
3.3

cả

..................................................................... 70


ế



đ c ả q a ví ụ ............................................. 74

ươ

ớ vào o c c độ ự
o c
ty ............................................................................................................. 77

T ực
q

eo ec f ca o y Exa le
.................................................................................................................... 78

3.3.1 Đố vớ
3.3.2 Đố vớ
3.3.3 Dự
3.4

II....................................................... 69

Đ







đa

"



o

q

ể we s e ướ

ể ............................. 78


lịc " ........................... 80

................................................................................... 94

...................................................................................................... 94

3.4.1 Đ

của ả

3.4.2 Đ


của độ

â ............................................................................ 94


........................................................................... 95

KẾT LUẬN ............................................................................................................. 96


vi
DANH M C TỪ VIẾT TẮT, THUẬT NGỮ
ATDD

Acceptance Test Driven Development

BDD

Behaviour Driven Development

TDD

Test Driven Development

ODC

Offshore Development Center

UML


Unified Modeling Language

VSII

Vietsoftware international


vii
NG TH ẬT NGỮ ANH IỆT
Tế

A

Specification by example

Tế
Đ c ả ằ

ví ụ



ướ

kể

Behaviour Driven Development




ướ

à

Test Driven Development



ướ

kể

Acceptance Test Driven Development

User story

Câ c

y

Iterative



Incremental

T

Evolutionary


Tế

Adaptive

T íc

Empirical Process Control

Q ả lý ế

Face to face communication

G ao ế

ực



ựa

l
ế
óa

Value based development
Team

Độ

Developer


L

ực

v

Bussiness analyst

N à

Goal

Mục

ửv
â

íc

v

Scope
Validation

T ẩ

Living document

Tà l


đị
số

í ụ k óa

Key Example







Tester

ườ sử ụ

Test case

Ca k ể

Cross functionality

L

Self organizing

Tự ổ c ức




c ức ă

vụ

ửc ấ
v



viii
ANH

C

NG I

H NH

H NH
H
1.1 Mộ số ươ
A le ................................................................................... 3
H
1.2 C c â đo n l đ l p l i trong Agile ............................................................... 7
H
1.3 Mức độ phổ biến của c c ươ
2009 – 2010 [9] ................................... 10
H

1.4 TFD Cycle [13]................................................................................................... 12
H
1.5 TDD cycle and Traditional Cycle [10] ............................................................... 13
H
1.6 TDD step [15] ...................................................................................................... 14
H
1. T o o ec k ể
ử............................................................................................ 15
H
1. T
lớ
ss ess ............................................................................................. 16
H
1.9 Lớp nghi p vụ ..................................................................................................... 18
H
1.10 Lớ đố ượng dữ li u trung gian ..................................................................... 19
H
1.11 Thêm tham chiếu .............................................................................................. 19
H
1.12 Acceptance - Test Driven Development (ATDD) Cycle [6]............................. 23
H
1.13 Chu kỳ đơ
ản của ATDD [12] ...................................................................... 25
H
1.14 ATDD và TDD [12] .......................................................................................... 26
H nh 1.15 ATDD trong mô hình l p [12] ........................................................................... 26
H
1.16 Mối liên h của BDD, ATDD, TDD ................................................................. 40
H
2.1 Mô hình của specification by example [3] .......................................................... 42

H
2.2 M
x c đị
v ừ ục
................................................................ 44
H
2.3 T o câ c y
ườ sử ụ [3] ....................................................................... 45
H
2. M
ọa sử ụ ví ụ ....................................................................................... 49
H
2.5 Mộ đ c tả có thể tự động thực hi n với Concordion[3] ..................................... 52
H
2.6 Mộ đ c tả có thể thực
được với FitNesse[3] ................................................. 52
H
3.1 M

.................................................................................. 70
H
3.2 T o o ec k ể
ử............................................................................................ 86
H
3.3 Cà đ s ec flow ................................................................................................. 86
H
3. Cà đ s ec
................................................................................................... 87
H
3.5 T o f le fea e .................................................................................................... 87

H
3. T o kịc ả ........................................................................................................ 88
H
3. T o s e c o kịc ả – ước 1 .......................................................................... 88
H
3. T o s e c o kịc ả – ước 2 .......................................................................... 89
H
3.9 T o s e c o kịc ả – ước 3 .......................................................................... 89
H
3.10 C y kịc ả ................................................................................................... 91


97

T I LIỆ THA

KH

Tiếng anh
1. Robert C.Martin and Mical Martin(2006), Agile Principles, Patterns, and Practices in
C# , pp 27-36.
2. Kent Beck (2002), Test - Driven Development By Example , pp 5.
3. Gojko Adzic (2011), SPECIFICATION BY EXAMPLE How successful team deliver
e
sof wa e , pp 3-197.
4. Mario E.Moreira, Michael Lester, Steve Holzner (2010), A le Fo D
5. Ma k s Ga e (2012), ATDD
D ve Develo e .

y Exa


6. Elisabeth Hendrickso (200 ), D v
pp 3.
7.

le: A
Develo

ac cal G
e

w

es , pp 7.

e o Acce a ce Tes

Tes : ATDD a

TDD ,

e
(2011), Lea -Agile Acceptance Test-Driven Development: Better
of wa e T o
Colla o a o , pp 2-6.

8. John Ferguson Smart (2014), BDD in Action: Behaviour Driven Development for the
whole software lifecycle , pp 12-30.
Website
9. />10. />11. />12. ( Part 7 – Part 10)

13. />14. />15. />


×