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

giáo trình công nghệ 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 (5.4 MB, 241 trang )

GIÁO TRÌNH:
Ô Ầ Ề
C
Ô
NG NGHỆ PH

N M

M
T ầ T ấ Mi h
T
r

n
T
u

n
Mi
n
h
CÔNG NGHỆ PHẦNMỀM
CÔNG

NGHỆ

PHẦN

MỀM
• Mục tiêu


Khốilượng

Khối

lượng
• Nội dung
Đáh iá

Đá
n
h

giá
• Tài liệu tham khảo
M
ục tiêu
 Các khái niêm cơ bản.
 Các qui trình côn
g
n
g
hệ.
 Các phương pháp phát triển phần mềm
 Kỹ năng giao tiếp, soạn thảo báo cáo.
Nộ d
Nộ
i
d
ung
 Chương 1:

Tổng quan về CNPM.
Ch 2

Ch
ương
2
:
Phân tích yêu cầu phần mềm

Chương 3:

Chương

3:
Thiết kế phần mềm
 Chươn
g
4:
g
Kiểm thử phần mềm
CHƯƠNG 1:
T

NG
Q
UAN V


Q
CÔNG NGHỆ PHẦN MỀM

5
¾
M
ục tiêu
¾ Nội dun
g
g
6
Mục tiêu :
Mục

tiêu

:
Cung cấp các khái niệmcơ bản
trong
công
nghệ
phần
mềm
trong
công
nghệ
phần
mềm
.
7
Nội dung
:
Nội


dung

:
1. Lược sử.
2. Ph

n m

m.
3. Công nghệ phần mềm.
4. Các
q
ui trình côn
g
n
g
h

.
qggệ
5. Các phương pháp phát triển phần mềm.
6 Các công cụ và môi trường phát triểnphầnmềm
6
.
Các

công

cụ




môi

trường

phát

triển

phần

mềm
.
7. Các nội dung cơ bản của công nghệ phần mềm.
8
1.1 Lược sử
Qua các giai đoạn :
Giai đoạn I : Thời kỳ thế hệ thứ nhất của MTĐT ( Thập niên 50.)
Mô tả d àáđặ t


tả

d
ựa v
à
o c
á

c
đặ
c
t
rưng:
a) Quan điểm : Lập trình là một hoạt động nghệ thuật, dựa trên cảm
tính.

b
)
N
gôn ngữ lập trình : NN máy, bậc th

p.
c) Phương pháp lập trình : Tuyến tính.
d
)
N
ăn
g
suất : Thấ
p
)
g
p
9
1.1 Lượcsử (tt)
1.1

Lược


sử

(tt)
Giai đoạnthứ 2:
Giai

đoạn

thứ

2

:
1. Thời kỳ khủng hoảng phần mềm ( Trong thập niên 60 )
Nguyên nhân:
Chi h
íhầ ề
-
Chi
p
h
í
p
hầ
n m

m cao.
-Cácdự án phầnmềm không có có kếtquả tốtdo
phương pháp xây dựng phầnmềmcảm tính, thô sơ,thủ

ô
c
ô
ng…
2. Giải quyết khủng hoảng:
-Thay đổi quan điểm nghiên cứu,đốitượng nghiên

h

hiê

c

u,
ph
ương
phá
png
hiê
nc

u,
3. Các thành quả:
-Hệ tiên đ

chứn
g
minh tính đún
g
của chươn

g
trình
g g g
(Hoare)
-Phương pháp luận lập trình cấu trúc.
. . .
10
1.1 Lượcsử (tt)
1.1

Lược

sử

(tt)
Giai đoạn thứ 3 : ( Từ giữa những năm 70 đến nay ) :
Đặc trưng :
Hệ
thông
phân
bố
nhiều
máy
tính
mỗi
máy
thực
hiện
một
chức

-
Hệ
thông
phân
bố
-
nhiều
máy
tính
,
mỗi
máy
thực
hiện
một
chức
năng tương tranh và liên lạcvới máy khác.
-Sự phát triển nhanh của các máy tính cá nhân.
Gi i đ thứ 4
Gi
a
i

đ
oạn
thứ

4
:
Đặc trưng :

- Công nghệ phầnmềmhướng đốitượng thay thế nhiều cách tiếpcận



p
hát tri

n
p
h

nm

m.
-Phầnmềmvớikiếntrúctínhtoánkhácvề cơ bảnnhư các hệ chuyên
gia, phầnmềmtrítuệ nhân tạo, mạng Nơron đã chuyểntừ thí nghiệm
ế
vào ứng dụng thựct
ế
.
11
1.2. Phầnmềm (Software)
1.2.

Phần

mềm

(Software)
1. Khái niệm.

Phầnmềmlàhệ thống các chương trình thựchiện đượctrênmáy
tính nhằmhổ trợ cho các nhà chuyên môn trong từng lãnh vực
chuyên
ngành
thực
hiện
tốt
các
thao
tác
nghiệp
vụ
của
mình
chuyên
ngành
thực
hiện
tốt
các
thao
tác
nghiệp
vụ
của
mình
 Lĩnh vực chuyên ngành : Mọimặttrongđờisống xã hộinhư giáo
dục, quốc phòng, giải trí, kinh doanh, . . .
 Nhà chuyên môn ( nguờisử dụng) : Ngườihoặcbộ phậnthamgia
hoạt động vào các lĩnh vựctương ứng.

 Thao tác nghiệpvụ : Các công việc trong thế giớithực được
chuyểnvàolĩnh vựctương ứng.
2. Các đặc trưng phần mềm.
- Không hỏng, chỉ lạc hậu.
- Làm theo đơn đ

t hàn
g,
ít khi lắ
p

p
từ các thành
p
hần có sẵn.
ặ g, pp p
12
1.2. Phầnmềm (tt)
1.2.

Phần

mềm

(tt)
3Cá thàh hầ hầ ề
3
.

c

thà
n
h
p
hầ
n p
hầ
n m

m.
a. Thành phần giao diện :
- Tiếpnhận các yêu cầuvề việcsử dụng phầnmềmcủangườisử
dụng
(
như
chọn
công
việcnhập
dữ
liệu
nguồn
)
dụng
(
như
chọn
công
việc
,
nhập

dữ
liệu
nguồn
,…
)
- Trình bày kết quả phần mềm thực hiện.
- Điều khiển phần mềm hoạt động.
bThàh hầ ử lý
b
.
Thà
n
h
p
hầ
n x



:
-Kiểm tra tính hợp lệ của dữ liệu nguồn.
-Tra cứu, Tính toán, biến đổi cho ra kết quả.
Thà h hầ dữ liệ
c.
Thà
n
h
p
hầ
n

dữ

liệ
u:
-Tổ chức cấu trúc dữ liệu.
-Tổ chức lưu trử Cơ sở dữ liệu.

- Truy xu

t (đọc, ghi) dữ liệu.
13
1.2. Phần mềm
(
tt
)
.
()
4. Phân loại :
a. Phần mềm hệ thống.
 Được đặc trưng bởi : Tương tác chủ yếu với phần cứng, dùng chung
i

i
nguyên, . . .
 Là tập các chương trình phục vụ cho các chương trình khác như :
trình biên dịch, các trình tiện ích xử lý tệp, Hệ điều hành. . .
bPhầ ề thờii th
b
.
Phầ

n m

m
thời
g
i
an
th
ực.
Có đặc trưng ràng buộc chặt chẽ với thời gian.
Là các phần mềm có các thành phần :
Th hậ dữ liệ
-
Th
u t
hậ
p
dữ

liệ
u.
- Phân tích.
- Kiểm soát.
ề ố
- Đi

u ph

i.
Chẳng hạn như các chương trình trò chơi, điều khiển tự động,. . .

14
12 Phầnmềm (tt)
1
.
2
.
Phần

mềm

(tt)
c. Phần mềm nghiệp vụ.
Các phần mềm hệ thông tin quản lý.
d. Phần mềm khoa học và công nghệ
ố ố
Được đặc trưng bởi thuật toán s

như các chương trình t

i ưu,. . .
e. Phần mềm nhúng.
Nằm trong bộ nhớ chỉđọcvàđược dùng để điềukhiểncácsảnphẩm

hệ
thống
cho
người
dùng

hệ

thống
cho
người
dùng
.
f. Phần mềm máy tính cá nhân.
Như phần mềm xử lý văn bản, bảng tính, . .
g.
Ph

n m

m trí t
uệ
nh
â
n t
ạo

:
g. ầ ề uệ â ạo:
Dùng các thuật toán phi số,như các hệ chuyên gia, mạng nơron nhân
tạo, . . .
15
12 Phầnmềm (tt)
1
.
2
.
Phần


mềm

(tt)
5. Chất lượng phần mềm (các tiêu chuẩn phần mềm) :
a. Tính đúng đắn : Không có sự cố, Đúng với yêu cầu thiết kế.
b
Tính
tiến
hóa
:

thể
thay
đổi
mở
rộng
các
yêu
cầu
chức
năng
của
b
.
Tính
tiến
hóa
:


thể
thay
đổi
,
mở
rộng
các
yêu
cầu
,
chức
năng
của
phầnmềm.
c. Tính tiện dụng : Dễ học, dễ sử dụng.
dTíhhiệ ả Ki h tế tố độ bộ hớ
d
.

n
h

hiệ
u qu

:
Ki
n
h


tế
,
tố
c
độ
,
bộ
n
hớ
.
e. Tính khoa học : Về nội dung, hình thức
f. Tính độc lập : Độc lập với thiết bị, với cấu trúc đối tượng phần mềm
quản lý.
g. Tính toàn vẹn:Cócơ chế ngănngừaviệcphátsinhdữ liệu sai qui
cách, phụchồidữ liệu, . . .
. . .
16
12 Phầnmềm (tt)
1
.
2
.
Phần

mềm

(tt)
.
6. Một số thuật ngữ liên quan:
- Phát triển phần mềm (Software development).

Tiến
trình
xây
dựng
phần
mềm
từ
khi
bắt
đầu
lập
kế
Tiến
trình
xây
dựng
phần
mềm
từ
khi
bắt
đầu
lập
kế
hoạch dự án phầnmềmchođến khi chuyểngiaosản
phẩm.
-
Ứng dụng (Application).
Ứng


dụng

(Application).
Tập các chương trình thực hiện tự động trên máy tính
một số nhiệm vụ.
-
Kỹ sư phầnmềm ( Software Engineer)
-
Kỹ



phần

mềm

(

Software

Engineer)
.
Ngườiápdụng kiếnthứcpháttriểnphầnmềmvàoviệc
tổ chứcxâydựng một cách có hệ thống các ứng dụng.
Người dùng (User )
-
Người

dùng


(User

)
.
Đối tượng sử dụng phần mềm.
17
1.3. Công nghệ phầnmềm (Software Engineering )
1.3.

Công

nghệ

phần

mềm

(Software

Engineering

)
1. Định nghĩa CNPM.
 Công nghệ :
Là cách sử dụng các công cụ,kỹ thuật trong việcgiải quyếtmột
bài

à
đó
bài

t
o
á
nn
à
o
đó
.
 Công nghệ phầnmềm là ngành khoa học nghiên cứu các nguyên
lý, các phương pháp,các công cụ, các thủ tụcphụcvụ cho việcxây
dựng các phầnmềmcóchấtlượng trong khoảng thờigianvàchi
p
hí hợplý.
2. Các đối tượng nghiên cứu của CNPM.
a. Qui trình công nghệ phần mềm
Hệ thố áiiđ ttiế tì h háttiể hầ ề
Hệ

thố
ng c
á
c g
i
a
i

đ
oạn
t
rong

tiế
n
t
r
ì
n
h
p
hát

t
r
iể
n p
hầ
n m

m
b. Phương pháp phát triển phần mềm :
Hệ thống các hướng dẫnchophépthựchiệnmộtgiaiđoạnnàođó
tron
g
q
ui trình côn
g
n
g
h

.

g
q
g
g ệ
c. Công cụ và môi trường phát triển phần mềm :
Tập các phần mềm hổ trợ tiến trình phát triển phần mềm.
18
1.3. Công nghệ phầnmềm (Software Engineering) (tt)
1.3.

Công

nghệ

phần

mềm

(Software

Engineering)

(tt)
3. Các yếu tố trong CNPM.
a. Con nguời :
Bao gồm:Nhàquản lý, nhà phân tích hệ thống, kỹ sư phầnmềm,
ời
kiể
đị h
hất

l
lậ
tì h

ời

khá h
ngư
ời
kiể
m
đị
n
h
c
hất
l
ượng,
lậ
p
t
r
ì
n
h
v

n, ngư
ời


ng
khá
c
h
hàng,…
Cấu trúc nhóm tuỳ theo quy mô : nhóm nhỏ hoạt động có hiệuquả
khoảng5–8người (tích hợp các khả năng có thể hổ trợ nhau).
b. Dự án PM :
Đơn vị tổ chức, quản lý việc phát triển phần mềm.
c. Sản phẩm PM :
ầ ầ ề ể ồ
Đ

u ra của dự án ph

n m

m, có th

là mô hình, mã ngu

n, tài liệu,. . .
d. Qui trình công nghệ.
e. Công cụ.
Sơ đồ ảnh hưởng giữa các yếu tố :
19
1.3. Công nghệ phầnmềm (Software Engineering )(tt)
1.3.

Công


nghệ

phần

mềm

(Software

Engineering

)(tt)
QUI TRÌNH
DỰ ÁN
CON
CÔNG CỤ
DỰ

ÁN

CON

NGƯỜI
CÔNG

CỤ
SẢN PHẨM
20
1.4. Các qui trình công nghệ.
( ô hì h á ì h há ể hầ ề )

(
M
ô


n
h
c
á
c quy tr
ì
n
h
p

t tri

n p
hầ
n m

m
)
1. Mô hình tuần tự tuyến tính ( Linear Sequential Model)
( Các tên gọi khác :
- Mô hình thác nước (Waterfall Model)
ổ ể
- Vòng đời c

đi


n (Classical life cycle) )
a. Xác định yêu cầu bài toán .
( mô tả dạng văn bản).

M tiê Chỉ áêầ àhầ ề hảiâd

M
ục
tiê
u :
Chỉ
ra c
á
c y
ê
u c

u m
à
p
hầ
n m

m p
hải
x
â
y
d

ựng.
 Kết quả tiếp nhận : Thông tin về các hoạt động của thể giới thực.
 Kết quả chuyển giao ( cho giai đoạn sau ):
-
Danh sách các yêu cầu
-
Danh

sách

các

yêu

cầu
.
- Thông tin chi tiết về các yêu cầu.
- Các qui định liên quan.
21
1.4. Các qui trình công nghệ (tt)
1.4.

Các

qui

trình

công


nghệ

(tt)
b. Mô hình hóa yêu cầu.
( mô tả dạng sơ đồ).
 Mục tiêu : Chỉ ra các yêu cầumàphầnmềmphảixâydựng dưới
d
ô
hì h
(

hì h
thế
iới
th )
d
ạng m
ô

n
h
(


n
h
thế
g
iới
th

ực
)
.
 Kết quả tiếp nhận : Kết quả chuyển giao của giai đoạn xác định
yêu cầu.

Kếtquả chuyển giao ( cho giai đoạnsau):

Kết

quả

chuyển

giao

(

cho

giai

đoạn

sau

):

-Môhìnhxử lý : Hệ thống các công việctrongthế giớithực cùng
với quan hệ giữa chúng.

- Mô hình dữ liệu : Hệ thống thông tin cùng với quan hệ giữa

c

ng.
- Các mô hình khác. . .
22
1.4. Các qui trình công nghệ (tt)
1.4.

Các

qui

trình

công

nghệ

(tt)
c. Thiết kế phần mềm :
 Mục tiêu : Tạo ra mô hình phần mềm (các thành phần phần mềm ).
 Kết quả tiếp nhận : Mô hình thế giới thực.
ế ể
 K
ế
t quả chuy

n giao :

-Mô tả thành phần giao diện
-Mô tả thành phần xử lý.
Mô tả thà h hầ dữ liệ
-


tả

thà
n
h
p
hầ
n
dữ

liệ
u.
-Mô tả kiến trúc phần mềm.
23
1.4. Các qui trình công nghệ (tt)
1.4.

Các

qui

trình

công


nghệ

(tt)
d. Mã hóa.
 Mục tiêu : Tạo ra phần mềm đúng theo yêu cầu.

Kếtquả tiếpnhận : Mô hình phầnmềm

Kết

quả

tiếp

nhận

:



hình

phần

mềm
.
 Kết quả chuyển giao :
- Mã nguồn chương trình.
-Cơ sở dữ liệu tương ứng.

-Chương trình cài đặt.
-Chương trình đã được dịch, thi hành được.
24
1.4. Các qui trình công nghệ (tt)
1.4.

Các

qui

trình

công

nghệ

(tt)
e. Kiểm chứng.
 Mục tiêu : Nâng cao độ tin cậy của phần mềm.

Kếtquả tiếpnhận:PhầnmềmMôhìnhphầnmềm danh sách các

Kết

quả

tiếp

nhận


:

Phần

mềm
,


hình

phần

mềm
,
danh

sách

các

yêu cầu.
 Kết quả chuyển giao :
Phầ ề đã đ khẳ đị h ề hấtl
-
Phầ
n m

m
đã


đ
ược
khẳ
ng
đị
n
h
v

c
hất

l
ượng.
25

×