Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
9Activity
0 of .
Results for:
No results containing your search query
P. 1
cong nghe pham mem

cong nghe pham mem

Ratings: (0)|Views: 589 |Likes:
Published by goldkeyburatino

More info:

Published by: goldkeyburatino on Oct 14, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/14/2012

pdf

text

original

 
Nh
p mônCông ngh
h
c Ph
n m
m(Introduction to Software Engineering)
 
C
u trúc môn h
c
 
 
45 ti
ế
t + 1
Đồ
án môn h
c
 
C
n nh
ng ki
ế
n th
c c
ă
n b
n v
CNTT
 
Cung c
p nh
ng nguyên lý chung v
Công ngh
h
c Ph
n m
m (CNHPM)
 
Cung c
p ki
ế
n th
c
để
h
c các môn chuyên ngành h
p nh
ư
Phân tích và thi
ế
t k
ế
ph
n m
m, Xây d
ng
đ
ánh giá ph
n m
m, Qu
n tr
d
án ph
n m
m,...
 
N
i dung: g
m 6 ph
n v
ớ 
i 11 ch
ươ 
ng
 
Gi
ớ 
i thi
u chung v
CNHPM (3 bu
i)
 
Qu
n lý d
án PM (2b)
 
Yêu c
u ng
ườ 
i dùng (1b)
 
Thi
ế
t k
ế
và l
p trình (2b)
 
Ki
m th
và b
o trì (2b)
 
Ch
 
đề
nâng cao và t
ng k
ế
t (1b+1b)
 
Đ
ánh giá: Thi h
ế
t môn +
Đồ
án môn h
c
Tài li
u tham kh
o
 
 
R. Pressman,
Software Engineering: A Practioner’s Approach
. 5th Ed., McGraw-Hill, 2001
 
R. Pressman, K
ngh
ph
n m
m. T
p 1, 2, 3. NXB Giáo d
c, Hà N
i, 1997 (Ng
ườ 
i d
ch: Ngô TrungVi
t)
 
I. Sommerville,
Software Engineering.
5th Ed.,
 
Addison-Wesley, 1995
 
K. Kawamura,
 Nh
 p môn Công ngh
h
c Ph
n m
ề 
m
. NXB Kinki-Kagaku, Tokyo, 2001 (Ti
ế
ng Nh
t)
Ph
n IGi
ớ 
i thi
u chung v
CNHPM
 
Ch
ươ 
ng 1: B
n ch
t ph
n m
m
1.1
Đị
nh ngh
 ĩ 
a chung v
ph
n m
m1.2 Ki
ế
n trúc ph
n m
m1.3 Các khái ni
m1.4
Đặ
c tính chung c
a ph
n m
m1.5 Th
ế
nào là ph
n m
m t
t ?1.6 Các
ứ 
ng d
ng ph
n m
m
 
1.1.
Đị
nh ngh
 ĩ 
a chung v
ph
n m
m
 
Ph
n m
m (Software - SW) nh
ư
m
t khái ni
m
đố
i ngh
 ĩ 
a v
ớ 
i ph
n c
ng (Hardware - HW), tuy nhiên,
đ
ây là 2 khái ni
m t
ươ 
ng
đố
i
 
T
x
ư
a, SW nh
ư
th
 
đượ 
c cho không ho
c bán kèm theo máy (HW)
 
D
n d
n, giá thành SW ngày càng cao và nay cao h
ơ 
n HW
Các
đặ
c tính c
a SW và HW
 
HW
 
V
t “c
ng”
 
Kim lo
i
 
V
t ch
t
 
H
u hình
 
S
n xu
t công nghi
p b
ở 
i máy móc là chính
 
Đị
nh l
ượ 
ng là chính
 
H
ng hóc, hao mòn
SW
 
V
t “m
m”
 
K
thu
t s
d
ng
 
Tr
u t
ượ 
ng
 
Vô hình
 
S
n xu
t b
ở 
i con ng
ườ 
i là chính
 
Đị
nh tính là chính
 
Không hao mòn
Đị
nh ngh
 ĩ 
a 1: Ph
n m
m là
 
 
Các l
nh (ch
ươ 
ng trình máy tính) khi
đượ 
c th
c hi
n thì cung c
p nh
ng ch
c n
ă
ng và k
ế
t qu
mongmu
n
 
Các c
u trúc d
li
u làm cho ch
ươ 
ng trình thao tác thông tin thích h
ợ 
p
 
Các t
ư
li
u mô t
thao tác và cách s
d
ng ch
ươ 
ng trình
SW
đố
i ngh
 ĩ 
a v
ớ 
i HW
 
 
Vai trò SW ngày càng th
hi
n tr
i
 
Máy tính là . . . chi
ế
c h
p không có SW
 
Ngày nay, SW quy
ế
t
đị
nh ch
t l
ượ 
ng m
t h
th
ng máy tính (HTMT), là ch
 
đề
c
t lõi, trung tâm c
aHTMT
 
H
th
ng máy tính g
m HW và SW
Đị
nh ngh
 ĩ 
a 2
 Trong m
t h
th
ng máy tính, n
ế
u tr
b
 
đ
i các thi
ế
t b
và các lo
i ph
ki
n thì ph
n còn l
i chính là ph
n m
m(SW)
 
Ngh
 ĩ 
a h
p: SW là d
ch v
ch
ươ 
ng trình
để
t
ă
ng kh
n
ă
ng x
lý c
a ph
n c
ng c
a máy tính (nh
ư
h
 
đ
i
u hành - OS)
 
Ngh
 ĩ 
a r
ng: SW là t
t c
các k
thu
t
ng d
ng
để
th
c hi
n nh
ng d
ch v
ch
c n
ă
ng cho m
c
đ
íchnào
đ
ó b
ng ph
n c
ng
SW theo ngh
 ĩ 
a r
ng
 
 
Không ch
SW c
ơ 
b
n và SW
ng d
ng
 
Ph
i g
m c
kh
n
ă
ng, kinh nghi
m th
c ti
n và k
n
ă
ng c
a k
s
ư
(ng
ườ 
i ch
ế
ra ph
n m
m): Know-how of Software Engineer
 
Là t
t c
các k
thu
t làm cho s
d
ng ph
n c
ng máy tính
đạ
t hi
u qu
cao
Ph
n m
m là gì ?
 
 
 
Nhóm các k
thu
t, ph
ươ 
ng pháp lu
n
 
 
Các khái ni
m và trình t
c
th
hóa m
t h
th
ng
 
Các ph
ươ 
ng pháp ti
ế
p c
n gi
i quy
ế
t v
n
đề
 
 
Các trình t
thi
ế
t k
ế
và phát tri
n
đượ 
c chu
n hóa
 
Các ph
ươ 
ng pháp
đặ
c t
yêu c
u, thi
ế
t k
ế
h
th
ng, thi
ế
t k
ế
ch
ươ 
ng trình, ki
m th
, toàn b
quy trìnhqu
n lý phát tri
n ph
n m
m
Nhóm các ch
ươ 
ng trình
 
 
Là ph
n giao di
n v
ớ 
i ph
n c
ng, t
o thành t
các nhóm l
nh ch
th
cho máy tính bi
ế
t trình t
thao tácx
lý d
li
u
 
Ph
n m
m c
ơ 
b
n: v
ớ 
i ch
c n
ă
ng cung c
p môi tr
ườ 
ng thao tác d
dàng cho ng
ườ 
i s
d
ng nh
m t
ă
nghi
u n
ă
ng x
lý c
a ph
n c
ng (ví d
nh
ư
OS là ch
ươ 
ng trình h
th
ng)
 
Ph
n m
m
ng d
ng: dùng
để
x
lý nghi
p v
thích h
ợ 
p nào
đ
ó (qu
n lý, k
ế
toán, . . .), ph
n m
m
đ
ónggói, ph
n m
m c
a ng
ườ 
i dùng, . . .
Nhóm các t
ư 
li
u
 
 
Nh
ng t
ư
li
u h
u ích, có giá tr
cao và r
t c
n thi
ế
t
để
phát tri
n, v
n hành và b
o trì ph
n m
m
 
Để
ch
ế
ra ph
n m
m v
ớ 
i
độ
tin c
y cao c
n t
o ra các t
ư
li
u ch
t l
ượ 
ng cao:
đặ
c t
yêu c
u, mô t
thi
ế
tk
ế
t
ng lo
i,
đ
i
u ki
n ki
m th
, th
t
c v
n hành, h
ướ 
ng d
n thao tác
Nh
ữ 
ng y
ế
u t
khác
 
 
S
n xu
t ph
n m
m ph
thu
c r
t nhi
u vào con ng
ườ 
i (k
s
ư
ph
n m
m). Kh
n
ă
ng h
th
ng hóa tr
ut
ượ 
ng, kh
n
ă
ng l
p trình, k
n
ă
ng công ngh
, kinh nghi
m làm vi
c, t
m bao quát, . . .: khác nhau
ở 
 t
ng ng
ườ 
i
 
Ph
n m
m ph
thu
c nhi
u vào ý t
ưở 
ng (idea) và k
n
ă
ng (know-how) c
a ng
ườ 
i/nhóm tác gi
 
1.2 Ki
ế
n trúc ph
n m
m
 
1.2.1 Ph
n m
m nhìn t
ừ 
c
u trúc phân c
p
 
C
u trúc ph
n m
m là c
u trúc phân c
p (hierarchical structure): m
c trên là h
th
ng (system), d
ướ 
i làcác h
th
ng con (subsystems)
 
D
ướ 
i h
th
ng con là các ch
ươ 
ng trình
 
D
ướ 
i ch
ươ 
ng trình là các Modules ho
c Subroutines v
ớ 
i các
đố
i s
(arguments)
Ki
ế
n trúc ph
n m
m
 
1.2.2 Ph
n m
m nhìn t
ừ 
c
u trúc và th
t
c
 
 
Hai y
ế
u t
c
u thành c
a ph
n m
m
 
Ph
ươ 
ng di
n c
u trúc
 
Ph
ươ 
ng di
n th
t
c
 
C
u trúc ph
n m
m: bi
u th
ki
ế
n trúc các ch
c n
ă
ng mà ph
n m
m
đ
ó có và
đ
i
u ki
n phân c
p cácch
c n
ă
ng (thi
ế
t k
ế
c
u trúc)
 
Thi
ế
t k
ế
ch
c n
ă
ng: theo chi
u
đứ
ng (càng sâu càng ph
c t
p) và chi
u ngang (càng r
ng càng nhi
uch
c n
ă
ng, qui mô càng l
ớ 
n)
C
u trúc ph
n m
m
 
Th
t
c (procedure) ph
n m
m
 
 
Là nh
ng quan h
gi
a các trình t
mà ph
n m
m
đ
ó có
 
Thu
t toán v
ớ 
i nh
ng phép l
p, r
nhánh,
đ
i
u khi
n lu
ng x
lý (quay lui hay b
qua)
 
Là c
u trúc lôgic bi
u th
t
ng ch
c n
ă
ng có trong ph
n m
m và trình t
th
c hi
n chúng
 
Thi
ế
t k
ế
c
u trúc tr
ướ 
c r
i sang ch
c n
ă
ng
1.3 Các khái ni
m
 
 
Khi ch
ế
tác ph
n m
m c
n nhi
u k
thu
t
 
Ph
ươ 
ng pháp lu
n (Methodology): nh
ng chu
n m
c c
ơ 
b
n
để
ch
ế
t
o ph
n m
m v
ớ 
i các ch
 tiêu
đị
nh tính
 
Các ph
ươ 
ng pháp k
thu
t (Techniques): nh
ng trình t
c
th
 
để
ch
ế
t
o ph
n m
m và là cáchti
ế
p c
n khoa h
c mang tính
đị
nh l
ượ 
ng
 
T
ph
ươ 
ng pháp lu
n tri
n khai
đế
n k
thu
t
Các khái ni
m (Software concepts)
 
 
Khái ni
m tính mô
đ
un (modularity concept)
 
Khái ni
m chi ti
ế
t hóa d
n t
ng b
ướ 
c (stepwise refinement concept)
 
Khái ni
m tr
u t
ượ 
ng hóa (abstraction concept): v
th
t
c,
đ
i
u khi
n, d
li
u
 
Khái ni
m che gi
u thông tin (information hiding concept)
 
Khái ni
m h
ướ 
ng
đố
i t
ượ 
ng (object oriented)
T
ừ 
ph
ươ 
ng pháp lu
n ph
n m
m sang k
thu
t ph
n m
m
 
1.3.1 Tính mô
đ
un (Modularity)
 
 
Là kh
n
ă
ng phân chia ph
n m
m thành các mô
đ
un
ng v
ớ 
i các ch
c n
ă
ng,
đồ
ng th
ờ 
i cho phép qu
n lýt
ng th
: khái ni
m phân chia và tr
n (partion and merge)
 
Hai ph
ươ 
ng pháp phân chia mô
đ
un theo chi
u
 
sâu (depth, th
ng
đứ
ng):
đ
i
u khi
n ph
c t
p d
n
 
r
ng (width, n
m ngang): mô
đ
un ph
thu
c d
n
 
Quan h
gi
a các mô
đ
un: qua các
đố
i s
(arguments)
Chu
n phân chia mô
đ
un
 
 
 
1.3.2 Chi ti
ế
t hóa t
ừ 
ng b
ướ 
c
 
Cách ti
ế
p c
n t
ừ 
trên xu
ng (top-down approach)
 
Ví d
: Trình t
ự 
gi
i quy
ế
t v
n
đề
t
ừ 
m
ứ 
c thi
ế
t k
ế
ch
ươ 
ng trình
đế
n m
ứ 
c l
p trình
 
 
Bài toán: t
m
t nhóm N s
khác nhau t
ă
ng d
n, hãy tìm s
có giá tr
b
ng K (nh
p t
ngoài vào) và inra v
trí c
a nó
 
Gi
i t
ng b
ướ 
c t
khái ni
m
đế
n chi ti
ế
t hóa t
ng câu l
nh b
ở 
i ngôn ng
l
p trình nào
đ
ó
 
Ch
n gi
i thu
t tìm ki
ế
m nh
phân (pp nh
phân)
C
th
hóa th
t
c qua các ch
ứ 
c n
ă
ng
 
C
th
hóa b
ướ 
c ti
ế
p theo
 
M
ứ 
c mô t
ch
ươ 
ng trình (b
ng PDL)
 
1.3.3 Khái ni
m Che gi
u thông tin
 
 
Để
phân rã ph
n m
m thành các mô
đ
un m
t cách t
t nh
t, c
n tuân theo nguyên lý che gi
u thông tin:“các mô
đ
un nên
đượ 
c
đặ
c tr
ư
ng b
ở 
i nh
ng quy
ế
t
đị
nh thi
ế
t k
ế
sao cho m
i mô
đ
un
n kín
đố
i v
ớ 
i các
đ
un khác” [Parnas1972]
 
R
t h
u ích cho ki
m th
và b
o trì ph
n m
m
Khái ni
m Tr
ừ 
u t
ượ 
ng hóa
 
 
Abstraction cho phép t
p trung v
n
đề
 
ở 
m
c t
ng quát, g
t
đ
i nh
ng chi ti
ế
t m
c th
p ít liên quan
 
3 m
c tr
u t
ượ 
ng
 
Tr
u t
ượ 
ng th
t
c: dãy các ch
th
v
ớ 
i ch
c n
ă
ng
đặ
c thù và gi
ớ 
i h
n nào
đ
ó
 
Tr
u t
ượ 
ng d
li
u: t
p h
ợ 
p d
li
u mô t
 
đố
i t
ượ 
ng d
li
u nào
đ
ó
 
Tr
u t
ượ 
ng
đ
i
u khi
n: C
ơ 
ch
ế
 
đ
i
u khi
n ch
ươ 
ng trình không c
n
đặ
c t
nh
ng chi ti
ế
t bêntrong
 
Ví d
:
 M 
ở 
c
ử 
a
. Th
t
c: M
ở 
g
m . . .; D
li
u: C
a là . . .
1.4
Đặ
c tính chung c
a ph
n m
m
 
 
Là hàng hóa vô hình, không nhìn th
y
đượ 
c
 
Ch
t l
ượ 
ng ph
n m
m: không mòn
đ
i mà có xu h
ướ 
ng t
t lên sau m
i l
n có l
i (error/bug)
đượ 
c pháthi
n và s
a
 
Ph
n m
m v
n ch
a l
i ti
m tàng, theo quy mô càng l
ớ 
n thì kh
n
ă
ng ch
a l
i càng cao
 
L
i ph
n m
m d
 
đượ 
c phát hi
n b
ở 
i ng
ườ 
i ngoài
 
Ch
c n
ă
ng c
a ph
n m
m th
ườ 
ng bi
ế
n hóa, thay
đổ
i theo th
ờ 
i gian (theo n
ơ 
i s
d
ng)
 
Hi
u
ng làn sóng trong thay
đổ
i ph
n m
m
 
Ph
n m
m v
n ch
a ý t
ưở 
ng và sáng t
o c
a tác gi
 /nhóm làm ra nó
 
C
n kh
n
ă
ng “t
ư
duy nh
phân” trong xây d
ng, phát tri
n ph
n m
m
 
Có th
sao chép r
t
đơ 
n gi
n
1.5 Th
ế
nào là ph
n m
m t
t ?
 B
t
 
đầ
u
Đọ
c
 
KNh
n
 
giá
 
tr
 
cho
 
m
ng
1
chi
u
 
A
(
I
), (
I
=1, 2, . . . ,.
N
)
MIN
= 1
MAX
=
NDO
 
WHILE
(
 
giá
 
tr
 
b
ng
 
K
 
không
,
cho
 
đế
n
 
khi
 
MIN
>
MAX
)
L
y
 
MID
= (
MIN
+
MAX
) / 2
IF
 
A
(
MID
) >
K
 
THENMAX
=
MID
- 1
ELSEIF
 
A
(
MID
) <
K
 
THENMIN
=
MID
+ 1
ELSE
 
In
 
giá
 
tr
 
MIDENDIFENDIFENDDOK
ế
tThúc
 

Activity (9)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads
Phan Quang liked this
luutnam1945 liked this
k29vn liked this
thanhvan158 liked this
Giao Nguyen liked this
Phong le Hong liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->