Khi đọc qua tài liệu này, nếu phát hiện sai sót hoặc nội dung kém chất lượng
xin hãy thông báo để chúng tôi sửa chữa hoặc thay thế bằng một tài liệu cùng
chủ đề của tác giả khác.
Tài liu này bao gm nhiu tài liu nh có cùng ch
đ bên trong nó. Phn
ni dung
bn cn có th nm gia hoc c
ui tài liu
này, hãy s dng chc năng Search đ tìm chúng.
Bạn có thể tham khảo nguồn tài liệu được dịch từ tiếng Anh tại
đây:
/>Thông tin liên hệ:
Yahoo mail:
Gmail:
PhnPhn
I: I:
GiiGii
thiuthiu
chungchung
vv
CNPMCNPM
PhnPhn
I: I:
GiiGii
thiuthiu
chungchung
vv
CNPMCNPM
ChngChng
1: 1:
BnBn
chtcht
phnphn
mmmm
ChngChng
1: 1:
BnBn
chtcht
phnphn
mmmm
1.1 nh ngha chung v phn mm
1.2
Kin
trúc
phn
mm
1.2
Kin
trúc
phn
mm
1.3 Các khái nim
1.4 c tính chung ca phn mm
1.5 Th nào là phn mm tt?
1.6 Các ng dng phn mm
Nhuongld. Software Engineering, 2007
1.1. 1.1.
nhnh
nghangha
chungchung
vv
phnphn
mmmm
1.1. 1.1.
nhnh
nghangha
chungchung
vv
phnphn
mmmm
Phn
mm
(Software
-
SW)
nh
mt
khái
nim
i
ngha
Phn
mm
(Software
-
SW)
nh
mt
khái
nim
i
ngha
vi phn cng (Hardware-HW), tuy nhiên, ây là 2 khái
nim
tng
i
nim
tng
i
T xa, SW nh th c cho không hoc bán kèm
theo
máy
(HW)
theo
máy
(HW)
Dn dn, giá thành phn mm ngày càng cao và nay cao
hn phn cng
Nhuongld. Software Engineering, 2007
CácCác
cc
tínhtính
caca
SW SW
vàvà
HWHW
CácCác
cc
tínhtính
caca
SW SW
vàvà
HWHW
HardwareHardware SoftwareSoftware
Vt “cng”
Kim loi
Vt
cht
Vt “mm”
K thut s dng
Tru
tng
Vt
cht
Hu hình
Sn
xut
công
nghip
bi
Tru
tng
Vô hình
Sn
xut
bi
con
ngi
Sn
xut
công
nghip
bi
máy móc là chính
nh
lng
là
chính
Sn
xut
bi
con
ngi
là chính
nh
tính
là
chính
nh
lng
là
chính
Hng hóc, hao mòn
nh
tính
là
chính
Không hao mòn
Nhuongld. Software Engineering, 2007
nhnh
nghangha
1: 1:
PhnPhn
mmmm
làlà
nhnh
nghangha
1: 1:
PhnPhn
mmmm
làlà
Các
lnh
(chng
trình
máy
tính)
khi
c
thc
hin
thì
Các
lnh
(chng
trình
máy
tính)
khi
c
thc
hin
thì
cung cp nhng chc nng và kt qu mong mun
Các
cu
trúc
d
liu
làm
cho
chng
trình
thao
tác
thông
Các
cu
trúc
d
liu
làm
cho
chng
trình
thao
tác
thông
tin thích hp
Các t liu mô t thao tác và cách s dng chng trình
Nhuongld. Software Engineering, 2007
SW SW
ii
nghangha
vivi
HWHW
SW SW
ii
nghangha
vivi
HWHW
Vai
trò
SW
ngày
càng
th
hin
tri
Vai
trò
SW
ngày
càng
th
hin
tri
Máy tính là . . . chic hp không có SW
Ngày
nay,
SW
quyt
nh
cht
lng
mt
h
thng
máy
Ngày
nay,
SW
quyt
nh
cht
lng
mt
h
thng
máy
tính (HTMT), là ch ct lõi, trung tâm ca HTMT
H thng máy tính g!m HW và SW
Nhuongld. Software Engineering, 2007
nhnh
nghangha
22
nhnh
nghangha
22
Trong mt h thng máy tính, nu tr b i các thit b
và các loi ph kin thì phn còn li chính là phn mm
Ngha
h"p
:
SW
là
dch
v
chng
trình
tng
kh
Ngha
h"p
:
SW
là
dch
v
chng
trình
tng
kh
nng x lý ca phn cng ca máy tính (nh h iu
hành
-
OS)
hành
-
OS)
Ngha rng: SW là tt c các k thut ng dng thc
hin
nhng
dch
v
chc
nng
cho
mc
ích
nào
ó
hin
nhng
dch
v
chc
nng
cho
mc
ích
nào
ó
b#ng phn cng
Nhuongld. Software Engineering, 2007
SW SW
theotheo
nghangha
rngrng
SW SW
theotheo
nghangha
rngrng
Không ch$ SW c bn và SW ng dng
Phi g!m c kh nng, kinh nghim thc ti%n và k nng
ca
k
s
(
ngi
ch
ra
phn
mm
)
:
ca
k
s
(
ngi
ch
ra
phn
mm
)
:
KnowKnow how how of Software Engineerof Software Engineer
Là tt c các k thut làm cho s dng phn cng máy
tính t hiu qu cao
Nhuongld. Software Engineering, 2007
PhnPhn
mmmm
làlà
gìgì
??
PhnPhn
mmmm
làlà
gìgì
??
Nhóm
các
Nhóm
các
K thut
Phng pháp
lun
lun
Nhóm
các
Nhóm
các
Nhóm
các
chng trình
Nhóm
các
t liu
Kinh nghim k s
knowhow
Nhuongld. Software Engineering, 2007
NhómNhóm
cáccác
kk
thutthut
, ,
phngphng
pháppháp
lunlun
NhómNhóm
cáccác
kk
thutthut
, ,
phngphng
pháppháp
lunlun
Các
khái
nim
và
trình
t
c
th
hóa
mt
h
thng
Các
khái
nim
và
trình
t
c
th
hóa
mt
h
thng
Các phng pháp tip cn gii quyt vn
Các
trình
t
thit
k
và
phát
tri n
c
chu&n
hóa
Các
trình
t
thit
k
và
phát
tri n
c
chu&n
hóa
Các phng pháp c t yêu cu, thit k h thng, thit
k chng trình, ki m th, toàn b quy trình qun lý phát
tri n
phn
mm
tri n
phn
mm
Nhuongld. Software Engineering, 2007
NhómNhóm
cáccác
chngchng
trìnhtrình
NhómNhóm
cáccác
chngchng
trìnhtrình
Là phn giao din vi phn cng, to thành t các nhóm lnh
ch$ th cho máy tính bit trình t thao tác x lý d liu
Phn
mm
c
bn
:
vi
chc
nng
cung
cp
môi
trng
thao
Phn
mm
c
bn
:
vi
chc
nng
cung
cp
môi
trng
thao
tác d% dàng cho ngi s dng nh#m tng hiu nng x lý
ca
phn
cng
(
ví
d
nh
OS
là
chng
trình
h
thng
)
ca
phn
cng
(
ví
d
nh
OS
là
chng
trình
h
thng
)
Phn mm ng dng: dùng x lý nghip v thích hp nào
ó
(
qun
lý
,
k
toán
,
.
.
.
),
phn
mm
óng
gói
,
phn
mm
ó
(
qun
lý
,
k
toán
,
.
.
.
),
phn
mm
óng
gói
,
phn
mm
ca ngi dùng, . . .
Nhuongld. Software Engineering, 2007
NhómNhóm
cáccác
tt
liuliu
NhómNhóm
cáccác
tt
liuliu
Nhng
t
liu
hu
ích,
có
giá
tr
cao
và
rt
cn
thit
Nhng
t
liu
hu
ích,
có
giá
tr
cao
và
rt
cn
thit
phát tri n, vn hành và bo trì phn mm
ch
ra
phn
mm
vi
tin
cy
cao
cn
to
ra
các
t
ch
ra
phn
mm
vi
tin
cy
cao
cn
to
ra
các
t
liu cht lng cao: c t yêu cu, mô t thit k tng
loi,
iu
kin
ki m
th,
th
tc
vn
hành,
hng
d'n
loi,
iu
kin
ki m
th,
th
tc
vn
hành,
hng
d'n
thao tác
Nhuongld. Software Engineering, 2007
NhngNhng
yuyu
tt
kháckhác
NhngNhng
yuyu
tt
kháckhác
Sn
xut
phn
mm
ph
thuc
rt
nhiu
vào
con
ngi
Sn
xut
phn
mm
ph
thuc
rt
nhiu
vào
con
ngi
(k s phn mm). Kh nng h thng hóa tru tng,
kh
nng
lp
trình,
k
nng
công
ngh,
kinh
nghim
làm
kh
nng
lp
trình,
k
nng
công
ngh,
kinh
nghim
làm
vic, tm bao quát, . . .: khác nhau tng ngi
Phn
mm
ph
thuc
nhiu
vào
ý
tng
(
Idea
)
và
k
Phn
mm
ph
thuc
nhiu
vào
ý
tng
(
Idea
)
và
k
nng (know-how) ca ngi/nhóm tác gi
Nhuongld. Software Engineering, 2007
1.2 1.2
KinKin
trúctrúc
phnphn
mmmm
1.2 1.2
KinKin
trúctrúc
phnphn
mmmm
1.2.1 1.2.1
PhnPhn
mmmm
nhìnnhìn
tt
cucu
trúctrúc
phânphân
cpcp
1.2.1 1.2.1
PhnPhn
mmmm
nhìnnhìn
tt
cucu
trúctrúc
phânphân
cpcp
Cu trúc phn mm là cu trúc phân cp (Hierarchical
Structure
):
mc
trên
là
h
thng
(System
),
di
là
các
h
Structure
):
mc
trên
là
h
thng
(System
),
di
là
các
h
thng con (Subsystems)
Di h thng con là các chng trình (Program)
Di
chng
trình
là
các
Modules
hoc
Subroutines
vi
Di
chng
trình
là
các
Modules
hoc
Subroutines
vi
các i s (Arguments)
Nhuongld. Software Engineering, 2007
KinKin
trúctrúc
phnphn
mmmm
KinKin
trúctrúc
phnphn
mmmm
System
Subsystem Subsystem
Master
files
Job unit
Program
Program
Master
files
Jobstep
unit
≈
Program
Program
Temporary
files
Jobstep
unit
≈
Module Module Subroutine
Arguments
Arguments
Member unit
Common Module
Nhuongld. Software Engineering, 2007
1.2.2 1.2.2
PhnPhn
mmmm
nhìnnhìn
tt
cucu
trúctrúc
vàvà
thth
tctc
1.2.2 1.2.2
PhnPhn
mmmm
nhìnnhìn
tt
cucu
trúctrúc
vàvà
thth
tctc
Hai yu t cu thành ca phn mm
Phng din cu trúc
Phng din th tc
Cu trúc phn mm: bi u th kin trúc các chc nng mà phn
mm ó có và iu kin phân cp các chc nng (thit k cu
trúc)
Thit
k
chc
nng
:
theo
chiu
ng
(
càng
sâu
càng
phc
tp
)
Thit
k
chc
nng
:
theo
chiu
ng
(
càng
sâu
càng
phc
tp
)
và chiu ngang (càng rng càng nhiu chc nng, qui mô càng
ln)
Nhuongld. Software Engineering, 2007
CuCu
trúctrúc
phnphn
mmmm
CuCu
trúctrúc
phnphn
mmmm
Fuction
A
Cu
Fuction
A
Function B
Function C
Cu
trúc
Vertical
Function B
Function C
trúc
chiu
ng
Vertical
structure
Function D Function E
Function F
Cu
trúc
chiu
ngang
ng
structure
Cu
trúc
chiu
ngang
Horizontal structure
Nhuongld. Software Engineering, 2007
Th tc (procedure) phn mmTh tc (procedure) phn mm
Th tc (procedure) phn mmTh tc (procedure) phn mm
Là nhng quan h gia các trình t mà phn mm ó có
Thut toán vi nhng phép lp, r( nhánh, iu khi n lu!ng
x
lý
(quay
lui
hay
b
qua)
x
lý
(quay
lui
hay
b
qua)
Là cu trúc lôgic bi u th tng chc nng có trong phn
mm
và
trình
t
thc
hin
chúng
mm
và
trình
t
thc
hin
chúng
Thit k cu trúc trc r!i sang chc nng]
Nhuongld. Software Engineering, 2007
1.3 1.3
CácCác
kháikhái
nimnim
1.3 1.3
CácCác
kháikhái
nimnim
Khi
ch
tác
phn
mm
cn
nhiu
k
thut
:
Khi
ch
tác
phn
mm
cn
nhiu
k
thut
:
Phng pháp lun (Methodology): nhng chu&n mc c bn
ch
to
phn
mm
vi
các
ch$
tiêu
nh
tính
ch
to
phn
mm
vi
các
ch$
tiêu
nh
tính
Các phng pháp k thut (Techniques): nhng trình t c th
ch to phn mm và là cách tip cn khoa h)c mang tính nh
lng
T
phng pháp lun tri n khai n k thut
Nhuongld. Software Engineering, 2007
CácCác
kháikhái
nimnim
((
Software concepts)Software concepts)
CácCác
kháikhái
nimnim
((
Software concepts)Software concepts)
Khái nim tính môun (modularity concept)
Khái nim chi tit hóa dn tng bc (stepwise refinement
concept
)
concept
)
Khái nim tru tng hóa (abstraction concept): v th tc,
iu khi n, d liu
iu khi n, d liu
Khái nim che giu thông tin (information hiding concept)
Khái nim hng i tng (object oriented)
Nhuongld. Software Engineering, 2007
TT phngphng pháppháp lunlun phnphn mmmm
sang sang
kk
thutthut
phnphn
mmmm
sang sang
kk
thutthut
phnphn
mmmm
Tính Môun
Phân tích cu trúc
Thit k cu trúc
Chi tit hóa dn
Thit k cu trúc
Lp trình cu trúc
Tru tng hóa
(Che giu t.tin)
D liu tru tng
Hng i tng
Hng i tng
Khái nim phn mm
Nhuongld. Software Engineering, 2007
1.3.1 1.3.1
TínhTính
môunmôun
(Modularity)(Modularity)
1.3.1 1.3.1
TínhTính
môunmôun
(Modularity)(Modularity)
Là kh nng phân chia phn mm thành các môun ng
vi các chc nng, !ng thi cho phép qun lý t*ng th :
khái
nim
phân
chia
và
trn
(
partion
and
merge)
khái
nim
phân
chia
và
trn
(
partion
and
merge)
Hai phng pháp phân chia môun theo chiu
SâuSâu
(depth,(depth,
thngthng
ngng
))
::
iu
khi n
phc
tp
dn
SâuSâu
(depth,(depth,
thngthng
ngng
))
::
iu
khi n
phc
tp
dn
RngRng (width,(width, nmnm ngangngang)):: môun ph thuc dn
Quan h gia các môun: qua các i s (arguments)
Nhuongld. Software Engineering, 2007
ChunChun
phânphân
chiachia
môunmôun
ChunChun
phânphân
chiachia
môunmôun
Cu
trúc
rng
chiu
ngang
Tính c
lp kém
dn
SW
Phân chia chiu rng
Cu
trúc
rng
chiu
ngang
Phân
chia
Cu
trúc
chia
chiu
sâu
trúc
sâu
chiu
iu khin
phc tp
dn
sâu
chiu
ng
dn
Nhuongld. Software Engineering, 2007
1.3.2 Chi 1.3.2 Chi
tittit
hóahóa
tngtng
bcbc
1.3.2 Chi 1.3.2 Chi
tittit
hóahóa
tngtng
bcbc
Cách tip cn t trên xung (top-down approach)
Th gii bên ngoài
Tru tng hóa mc cao:
Th gii bên ngoài,
trng thái cha rõ ràng
Chi
tit
hóa
Tru tng hóa mc trung gian:
Xác nh yêu cu và c t
tng
bc
c t yêu cu
Xác nh yêu cu và c t
nhng nh ngha yêu cu
Ngôn ng
chng trình
Tru tng hóa mc thp:
Tng lnh ca chng trình c
vit bi ngôn ng th tc nào ó
Nhuongld. Software Engineering, 2007