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

Công nghệ phần mềm 2 pot

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.37 MB, 236 trang )

Ư
CH
Ư
ƠNG 1:
Ổ Ề
T

NG QUAN V


CÔNG NGHỆ PHẦNMỀM
CÔNG

NGHỆ

PHẦN

MỀM
¾
Mục

tiêu
ục tiêu
¾
Nội dung
¾
Nội

dung
Mục tiêu :
Mục



tiêu

:
Cun
g
c
ấp
các khái ni

mcơ
b
ản
g
p

trong công nghệ phầnmềm.
Nội dung
:
Nội

dung

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

n m


m.
3. Côn
g
n
g
h


p
h

n m

m.
ggệ p
4. Các qui trình công nghệ.
5Cácphương pháp phát triểnphầnmềm
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ển phần mềm.
ầ ề
7. Các nội dung cơ bản của công nghệ ph

n m

m.
1.1 Lược sử
Qua các giai đoạn :
Giai đoạnI:
Thờikỳ thế hệ thứ hất ủ MTĐT(Thậ iê 50 )
Giai

đoạn

I

:
Thời

kỳ

thế

hệ

thứ

n
hất
c

a
MTĐT

(

Thậ
p n

n
50
.
)
Mô tả dựa vào các đặc trưng:
a)
Quan điểm:L
ậptrìnhlàmộthoạt động nghệ thuật, dựatrêncảm
a)
Quan

điểm

:

L
ập


trình



một

hoạt

động

nghệ

thuật,

dựa

trên

cảm

tính.
b) Ngô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ăng suất : Thấp
11Lượcsử (tt)
1
.

1

Lược

sử

(tt)
Giai đoạn thứ 2 :
1. Thời kỳ khủng hoảng phần mềm ( Trong thập niên 60 )
Nêhâ
N
guy
ê
n n

n:
- Chi phí phần mềm cao.
-
Các
dự
án
phần
mềm
không


kết
quả
tốt
do

Các
dự
án
phần
mềm
không


kết
quả
tốt
do
phương pháp xây dựng phầnmềmcảm tính, thô sơ,thủ
công…
2Giải ếtkhủ h ả
2
.
Giải
quy
ết

khủ
ng
h
o

ng:
-Thay đổi quan điểm nghiên cứu,đốitượng nghiên
cứu,
p

hươn
g
p

p
n
g
hiên cứu,
p g
pp
g
3. Các thành quả:
-Hệ tiên đề chứng minh tính đúng của chương trình
(Hoare)
(Hoare)
-Phương pháp luận lập trình cấu trúc.
. . .
11Lượcsử (tt)
1
.
1

Lược

sử

(tt)
Giai đoạn thứ 3 : ( Từ giữa những năm 70 đến nay ) :
Đ
ặctrưng :

Đ
ặc

trưng

:

-Hệ thông phân bố -nhiều máy tính, mỗimáythựchiệnmộtchứ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.
Giai đoạn thứ 4 :
Đ
ặ t ư
Đ

c
t
r
ư
ng :
- Công nghệ phầnmềmhướng đốitượng thay thế nhiều cách tiếpcận
phát triểnphầ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ực
tế
vào

ứng
dụng
thực
tế
.
12 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ựchiệntốt các thao tác nghiệpvụ củamình
 Lĩnh vực chuyên ngành : Mọimặttrongđờisống xã hộinhư giáo
d



iải

ki h
dh
d
ục, qu

c
phò
ng, g
iải
t
r
í
,
ki
n
h
d
oan
h
,
 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.

Th

hiệ


ô
iệ
t
thế
iới
thự
đượ

Th
ao

cng
hiệ
pv

:

cc
ô
ng v
iệ
c
t
rong
thế
g
iới
thự
c
đượ

c
chuyểnvàolĩnh vựctương ứng.
2Cácđặctrưng phầnmềm
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àng, ít khi lắp ráp từ các thành phần có sẵn.
12 Phầnmềm (tt)
1
.
2
.
Phần

mềm

(tt)
3. Các thành phần phần mềm.
a. Thành phần giao diện :
ế





- Ti
ế
pnhận các yêu c

uv

việcs

dụng
p
h

nm

mcủangườis

dụng ( như chọn công việc,nhậpdữ 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.
b. Thành phần xử lý :
Kiểm tra tính hợplệ củadữ liệu nguồn
-
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ả.
c. Thành phầ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
-
Truy

xuất

(đọc
,
ghi)

dữ


liệu
.
12 Phầnmềm (tt)
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
tài nguyên, . . .

Là tập các chương trình phụcvụ cho các chương trình khác như :



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. . .
b. Phần mềm thời gian thực.
Có đặctrưng ràng buộcchặtchẽ vớithờigian


đặ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 :
- Thu thập dữ liệu.
- Phân tích.
- Kiểm soát.
Điềuphối
-
Điều

phối
.
Chẳng hạn như các chương trình trò chơi, điều khiển tự động,. . .
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ầnmềm nhúng.
e.

Phần

mềm

nhúng.
Nằm trong bộ nhớ chỉđọcvàđược dùng để điềukhiểncácsảnphẩm
và hệ thống cho người dùng.
f
.
Ph

n m

m m
áy
tính

nh
â
n

.
. ầ ề áy cá â .
Như phần mềm xử lý văn bản, bảng tính, . .
g. Phần mềm trí tuệ nhân tạo :
Dùng
các
thuật
toán
phi
số
như
các
hệ
chuyên
gia
mạng
nơron
nhân
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, . . .
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) :
aTínhđúng đắn : Không có sự cố
Đúng vớiyêucầuthiếtkế
a
.
Tính

đúng

đắn

:

Không




sự

cố
,
Đúng

với

yêu

cầu

thiết

kế
.
b. Tính tiếnhóa:Cóthể thay đổi, mở rộng các yêu cầu, chứcnăng của
phầnmềm.
c. Tính tiện dụng : Dễ học, dễ sử dụng.
d. Tính hiệu quả : Kinh tế, tốc độ, bộ nhớ.
Tí h kh h Về ộid hì hthứ
e.

n
h

kh
oa

h
ọc :
Về
n
ội

d
ung,

n
h

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, . . .
. . .
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ểnphầnmềm (Software development)
Phát

triển

phần

mềm

(Software

development)
.
Tiếntrìnhxâydựng phầnmềmtừ khi bắt đầulậpkế
hoạch dự án phầnmềmchođến khi chuyểngiaosản
phẩm
phẩm
.
- Ứng dụng (Application).
Tập các chương trình thựchiệntự động trên máy tính
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ần mềm ( Software Engineer).
N ời
á
d
kiế
thứ
hát
tiể
hầ

à
iệ
N

ời

á
p
d
ụng
kiế
n
thứ
c
phát
t
r
iể
n
phầ
nm

mv
à
ov
iệ
c
tổ chứcxâydựng một cách có hệ thống các ứng dụng.
-
Ng
ười dùn
g

(
User
)

.
g g( )
Đối tượng sử dụng phần mềm.
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 toán nào đó.
 Công nghệ phầnmềm là ngành khoa học nghiên cứu các nguyên
lý, các
p
hương
p

háp,các công cụ, các thủ tục
p
hụcvụ cho việcxây
dựng các phầnmềmcóchấtlượng trong khoảng thờigianvàchi
phí hợplý.
2Cá đốitượ hiê ứ ủ CNPM
2
.

c
đối

tượ
ng ng
hiê
n c

u c

a
CNPM
.
a. Qui trình công nghệ phần mềm
Hệ thống các giai đoạn trong tiến trình phát triển phầ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đó
trong qui trình công nghệ.
i hiể hầ ề
c. Công cụ và mô
i
trường p
h
át tr
iể
n p
hầ
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.
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,
ngườikiểm định chấtlượng, lập trình viên, người dùng khách
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ố :
1 3 Công nghệ phầnmềm (Software Engineering )(tt)
1
.
3
.
Công

nghệ

phần

mềm

(Software

Engineering

)(tt)
QU
I TRÌ
N
H
QU N
DỰ ÁN
CON
NGƯỜI
CÔNG CỤ
SẢN PHẨM

1.4. Các
q
ui trình côn
g
n
g
hệ.
qgg
( Mô hình các quy trình phát triển phầ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 .
a.

Xác

định

yêu

cầu

bài

toán

.
( mô tả dạng văn bản).

 Mục tiêu : Chỉ ra các yêu cầu mà phần mềm phải xây dựng.

Kếtquả tiếpnhận : Thông tin về các hoạt động củathể giớithực

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.
Thông tin chi tiết ề cácêcầ
-
Thông

tin

chi

tiết
v


các
y
ê
u
cầ
u.
- Các qui định liên quan.
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ạng mô hình ( Mô hình thế giớithự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ế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
chúng.
- Các mô hình khác. . .
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ầngiaodiện


tả

thành

phần

giao

diện
-Mô tả thành phần xử lý.

-Mô tả thành phần dữ liệu.
-
Mô tả kiếntrúcphầnmềm
-


tả

kiến

trúc

phần

mềm
.
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ạoraphầnmềm đúng theo yêu cầu

Mục

tiêu

:

Tạo

ra

phần

mềm

đúng

theo

yêu

cầu
.
 Kết quả tiếp nhận : Mô 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.
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ậycủaphầnmềm

Mục

tiêu

:


Nâng

cao

độ

tin

cậy

của

phần

mềm
.
 Kết quả tiếp nhận : Phần mềm, Mô hình phần mềm, danh sách các
yêu cầu.
 Kết quả chuyển giao :
-Phần mềm đã được khẳng định về chất lượng.
1 4 Các qui trình công nghệ (tt)
1
.
4
.
Các

qui

trình


công

nghệ

(tt)
f. Bảo trì :

Mục tiêu : Làm cho phầnmềmhoạt động ổn định hoặcnângcấp

Mục

tiêu

:

Làm

cho

phần

mềm

hoạt

động

ổn


định

hoặc

nâng

cấp

phần mềm.
 Kết quả tiếp nhận : Phần mềm, Mô hình phần mềm, danh sách các

yêu c

u.
 Kết quả chuyển giao :
-
Phầnmềm đãhoạt động ổn định
-
Phần

mềm

đã

hoạt

động

ổn


định
.
-Phần mềm đã được nâng cấp.
1 4 Các qui trình công nghệ (tt)
1
.
4
.
Các

qui

trình

công

nghệ

(tt)
XĐYC
MHHYC
Thiết kế
Mã hoá


hoá
Kiểm
chứng
Bảo trì
( Mô hình thác nước )

Ưu điểm:
Ưu

điểm:
 Các giai đoạn được định nghĩa, với đầuvàovàđầurarõ
ràn
g
.Môhìnhnà
y
cơ bảnd

atrêntàili
ệu
nh

tlàtron
g




g
y


g
các giai đoạn đ

u, đ


uvàovàđ

urađ

ulàtàiliệu.
 Sảnphẩmphầnmềm được hình thành thông qua chuỗi
các
hoạt
động
xây
dựng
phần
mềm
theo
trình
tự

ràng
các
hoạt
động
xây
dựng
phần
mềm
theo
trình
tự

ràng

.
Nhược điểm:
Nhược

điểm:
 Đòi hỏitấtcả yêu cầuphầnmềmphải đượcxácđịnh rõ
ràn
g
n
g
a
y
t

đ
ầu
d

án.
N
hưn
g
đas

d

án cho th
ấy
y
êu







g
gy

g

y
y
c

u
p
h

nm

mthường

nchứa các đi

m không ch

c
chắn.


Chưa
thực
sự
phù
hợp
với
thực
tế

các
dự
án
hiếm
khi
Chưa
thực
sự
phù
hợp
với
thực
tế

các
dự
án
hiếm
khi
đượcthựchiện đầy đủ các bước trong suốt chu kỳ dự án.
 Ngườisử dụng không có cơ hộithamgiatrongsuốtthời

i

á
ii
đ
t
i
từ
thiết
kế
h
đế
kiể
g
i
an c

ac
á
cg
i
a
i
đ
oạn
t
rung g
i
an
từ

thiết
kế
c
h
o
đế
n
kiể
m
thử. Đặcbiệtvớinhững dự án lớn, ngườisử dụng chỉ có
thể nhậnrarằng hệ thống phầnmềm không phù hợpcho
h


h
à
thời
điể
ối
d
á
n
h
uc

uc

a
h
ọ v

à
o
thời
điể
mcu
ối
dự
á
n.
Nói
chung

hình
này
thường
ẩn
chứa
nhiều
rủi
ro

Nói
chung
,

hình
này
thường
ẩn
chứa

nhiều
rủi
ro

chỉ có thể phát hiện ở giai đoạncuối cùng và chi phí để
sửachữacóthể rất cao.

×