Ạ Ọ

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

BÀI GI NGẢ TIN H C C S

Ọ Ơ Ở

BÀI 8 . PH N M M Ầ

Gi ng viên: ĐÀO KI N QU C Mobile 098.91.93.980 Email: dkquoc@vnu.edu.vn

N I DUNG

ầ ầ

ặ ầ

ệ ố

 Khái ni m v ph n m m ề  Đ c tính c a ph n m m ề ủ  Ph n m m ng d ng và ph n m m h th ng ề ứ  Quy trình phát tri n ph n m m

ụ ể

ầ ề

KHÁI NI M V PH N M M Ề

ươ

 Các ch ể ệ ậ ằ

 Các c u trúc d li u phù h p đã đ

ứ t nào đó do ng i ườ ệ ph ươ ậ c vi ng trình máy tính đ t đ ượ ế ể i quy t bài th hi n thu t toán nh m gi ế ả toán, đáp ng các yêu c u v ch c năng ứ ề và hi u qu c n thi ả ầ ế đ t hàng đ a ra. ư ặ K thu t, ậ ỹ ng pháp lu n, mô hình ữ ệ ợ

ấ ọ

c ượ ng trình có th ươ ể c đúng và hi u qu . ả ượ Ch ng trình

T li u ư ệ toàn b bài toán, thu t ả ậ ệ ộ ươ máy tính

 K năng (skills) c a tác gi

toán, ch l a ch n sao cho ch ự thao tác đ  Các tài li u mô t ệ ươ

ỹ ng trình và cách s d ng. ử ụ th hi n ả ể ệ ủ

trong đó.

Kinh nghi m ệ k sỹ ư

Ph n m m th hi n khía c nh ph ầ ể ệ ươ ề ạ

ư ng pháp ng pháp trong x lý thông tin nh ng không ph i là toàn b ph ươ ử ộ ả

Đ C TÍNH C A PH N M M

ượ

c ch t o

ế ạ

 Ph n m m đ ầ ệ

 Ph n m m không “t ề

ự h ng" nh ng thoái hoá theo

ầ ờ

c v i nghi p v và ệ

th i gian do không thích nghi đ công ngh th ệ ườ ầ

ầ ớ

c phát tri n (development) hay k ỹ ngh (engineering), nó không đ ượ (manufacture) theo nghĩa c đi n. ổ ể ư ượ ng xuyên thay đ i. ổ ự ơ

 Ph n l n ph n m m đ ượ ộ

c xây d ng theo yêu c u c a khách hàng, có m t nguy c là s không hi u ự ủ nhau gi a khách hàng và nh ng ng ườ

 S ph c t p và tính luôn thay đ i luôn là b n ch t

ầ ể i phát tri n ấ ả

ữ ứ ạ ự c a ph n m m ầ ủ

 Ngày nay ph n m m đ

c phát tri n theo nhóm

ượ

ề ầ

PH N C NG VÀ PH N M M

PH N C NG

ng

Ầ  V t ch t ấ ậ  H u hình ữ  S n xu t công ấ ả

ấ ở i là chính

PH N M M Ầ  Tr u t ừ ượ  Vô hình  S n xu t b i con ả ng ườ ị

nghi p b i máy móc ở ệ là chính ượ

 Đ nh tính là chính  Không hao mòn

 Đ nh l ng là chính ị  H ng hóc, hao mòn ỏ

PH N M M NG D NG Ề Ứ

ấ ề ề

i quy t các ế ụ nh ư

ạ ả ả ư ọ

ả ể t đ giúp gi c vi ho t đ ng nghi p v ế ầ ế ể ạ ộ ả ữ ả ệ ả ọ ề

 Có r t nhi u ph n m m máy tính đ ầ ượ công vi cệ hàng ngày cũng nh nh ng ữ so n th o văn b n, qu n lý h c sinh, qu n lý k t qu h c, l p th i ờ ậ khoá bi u, qu n lý chi tiêu cá nhân... Nh ng ph n m m nh th g i ư ế ọ ả là các ph n m m ng d ng ề ứ ặ

, Có nh ng ph n m m ng d ng đ ầ  Ph n m m đ t hàng ề ụ . ữ ượ ụ ầ ầ

ặ ơ

ề ứ ộ ủ ả ỗ ợ ự ứ ẽ ế

c vi t ế theo đ n đ t hàng riêng có tính đ c thù c a m t cá nhân hay t ổ ch c, Ng ề ể trình làm ph n m m và v n hành sau này. ặ i phát tri n ph n m m s ph i h tr tr c ti p trong quá ườ ầ ầ ậ ề

 Ph n m m đóng gói, ề

Có nh ng ph n m m đ ữ ế ế ự ề

ầ ữ c thi ườ ề

ứ ấ

ượ nh ng yêu c u chung hàng ngày c a nhi u ng c a m t ng ộ ổ ủ ng t k d trên i ch không ph i ả ứ ch c c th nào. Nhà s n xu t bán đ ả ể i t ng ng ầ ủ ụ ể ả ự

i, ế ớ ừ ủ ạ ộ ụ

ế c hi u là ph n m m t i. ừơ  Ph n m m ng d ng ph c v tr c ti p ho t đ ng c a con ng ườ ph c v ụ ụ ầ ườ ộ i dùng t ự ề ứ ớ ụ ệ ố ượ ự ề ể ề ầ ầ

i hay m t t cài đ t, không có b o trì tr c ti p t ườ ặ ầ ụ ự đ i l p v i ph n m m h th ng đ ố ậ c a máy tính ủ

M T S LO I PH N M M NG D NG Ầ

Ộ Ố Ạ

Ề Ứ

đây không ph i là phân lo i mà ch ỉ i thích khái ni m vì các lo i này có giao nhau

Cách phân chia ả

ề ề ề ề ề ề

ệ  Ph n m m th i gian th c (Real-time SW)  Ph n m m nghi p v (Business SW) ụ ệ  Ph n m m tính toán KH&KT (Eng.&Scie. SW)  Ph n m m nhúng (Embedded SW)  Ph n m m trên Web (Web-based SW)  Ph n m m trí tu nhân t o (AI SW) ệ  Ti n ích (Utility)  Ph n m m phát tri n (Development SW) ể

là gi ầ ầ ầ ầ ầ ầ ệ ầ

TI N ÍCH

ệ ụ

ề ứ ạ ng vào các ho t đ ng ướ

ướ

ườ ố ớ

 Ti n ích cũng là m t lo i ph n m m ng ộ d ng nh ng không h ư nghi p v mà h ụ làm vi c c a con ng ệ ủ  Ví d : so n th o ạ

ị ọ

ạ ộ ng vào c i thi n hi u qu ả ệ ệ i đ i v i máy tính đ nh d ng text thu n tuý, ầ ả ở ị ki m tra và đ nh d ng đĩa, sao chép d li u, ữ ệ ạ quét virus, đ c n i dung file, c i thi n giao ả di n (nhu Norton Commander tr

ệ c đây)

ướ

ng các h đi u hành cũng cung

ệ  Thông th

ệ ề

ườ c p m t s ti n ích ộ ố ệ ấ

PH N M M PHÁT TRI N

 Đ i v i nh ng ng

ự ể

ố ớ ề ườ ề ứ ụ ụ ả

ườ ệ

 Đ h tr cho vi c làm ra các s n ph m ph n m m, ng ề ư ể

ề ề ầ

ẩ ọ ộ ầ ầ ơ ố

 Các ph n m m d ch t

i làm tin h c trong lĩnh v c phát tri n ph n ữ ầ ọ m m thì ph n m m ng d ng là s n ph m và là m c tiêu cu i ố ẩ ầ cùng c a h . ọ ủ i ta ể ỗ ợ ả i dùng chính các ph n m m khác g i là ph n m m công c . l ụ ạ Đi u này cũng gi ng nh đ ch t o đ ng c ô tô ta dùng máy ế ạ ề công c . ụ

vi ế

đ ng các thu t toán ị ầ

ố ề ự ộ c nào đó thành các ch ướ

ể ỗ ợ ổ ượ

ữ ệ ữ ề ệ

ề  Do các ph n m m công c đ t trong m t h ậ ộ ệ th ng quy ng trình trên mã máy mà ươ máy tính có th thi hành đ c, các ph n m m h tr t ch c ứ ề ầ d li u, nh ng ph n m m phát hi n l i i l p trình và s a l ử ỗ ỗ ậ ầ (debuger)... đ u thu c các ph n m m công c . ụ ộ ụ ề ầ ớ

ể ề ề ầ ầ

ầ c dùng v i m c đích phát tri n ụ ượ ph n m m nên ta còn g i ph n m m công c là ph n m m ụ ầ ọ ề phát tri n.ể

PH N M M H TH NG

Ệ Ố

 Nói chung, các ch

ươ ề ầ

c kh i đ ng khi c n thi ượ ở ộ ng trình ng d ng ho c ph n m m công c ụ ặ ứ t và ng ng ho t đ ng khi th c hi n ạ ộ ầ ụ ừ ự ế ệ

đ xong công vi c. ệ ươ ườ ng tr c ch vì nó ph i ỉ

ả ủ ự ươ ng trình ph i th ụ theo yêu c u c a các ch ầ

ầ ệ ươ ả cung c p ấ ng trình khác mà không bi ư ậ

c các yêu c u đó xu t hi n khi nào. Các ch ấ ề t ế ng trình nh v y ầ ữ

ệ ph n m m h th ng. ầ ệ ố

 Có nh ng ch ữ các d ch v ị tr tr thành môi tru ng làm vi c cho các ph n m m khác. Nh ng ph n ờ m m nh th g i chung là ề ư ế ọ ấ ề

ệ ố ướ ở ề ầ ệ ề

ệ ề ầ  Ph n m m h th ng quan tr ng nh t là h đi u hành (operating ạ ộ ọ ứ ộ

 H đi u hành không ph i là ph n m m h th ng duy nh t. Còn có ầ

ề ệ

ả ệ ố ng tr c cung c p môi tr ề ấ ườ ự ề

ấ ng làm vi c cho các ệ t. ế ườ ụ ề ệ

ầ c cài đ t ta có th gõ ti ng Vi t t ệ ừ ượ ể ế ề ề ặ

system). H đi u hành có ch c năng đi u hành toàn b ho t đ ng c a máy tính trong su t quá trình làm vi c. ố ủ ệ ề nhi u ph n m m th ề ầ ph n m m khác, ví d ph n m m gõ bàn phím theo ki u ti ng Vi ầ ể ề M t khi đ nhi u ph n m m ầ ộ khác. ộ ụ ể ả

 M t ví d khác là các h qu n tr c s d li u ho t đ ng theo ki u khách - ch cho phép t o ra các ho t đ ng c ng tác gi a ph n m m trên m t máy tr m v i m t máy ch cung c p d ch v ụ ộ

ệ ạ ủ ầ ạ ộ ữ ị ơ ở ữ ệ ạ ộ ộ ủ ề ấ ạ ộ ớ ị

CÁC L P PH N M M Ầ THEO M C ĐÍCH S D NG

Ề Ử Ụ

....

....

....

....

Ph n m m ề phát tri nể

Ti n ích

Ph n m m ầ h th ng ệ ố

T đ ng hoá ự ộ

Cá nhân Nghi p vệ ụ

Ph n m m ng d ng ề ứ ụ ầ

C

MÔ HÌNH PHÁT TRI N PH N M M Ể THEO KI U THÁC N ƯỚ Ể Nghiên c u hi n tr ng Nghiên c u yêu c u ứ Phân tích

ơ ở ữ ệ

ạ ầ Thi ế ế ổ Thi ế ế ế d li u, giao di n, an toàn)

ữ ệ

t k t ng th (ki n trúc) ế ể t (ch c năng, t k chi ti ứ Xây d ng c s d li u ự ệ L p trình

ài

Phân tích

Test module Test tích h pợ Chu n b máy móc, c ị ẩ Test h th ng ệ ố đ t CSDL và ph n ầ ặ Test ch p nh n ậ ấ m m, hu n luy n ệ ấ ề

Thi t kế ế

Mã hoá

Ki m th ể ử

i

Chuy n giao ể

S a l ử ỗ Thích nghi hoá

Tăng c

ng ch c năng ườ ứ D phòng ự

B o trì ả

Ấ ƯỢ

NG PH N M M Ầ

Đ C TÍNH CH T L THEO ISO/IEC 9126

Phù h p,Chính xác, Liên tác,Tuân th chu n, An toàn (Suitability, Accuracy, Interoperability, Compliance, Security)

Ch c năng Functionality

i, Kh năng khôi ph c đ

c:

ượ

It tr c tr c, Kháng l ụ ỗ ặ (Maturity, Fault Tolerance, Recoverability)

Tin c yậ Reablility

ễ ể

ễ ọ

D hi u, D h c, D thao tác: (Understandability, Learnability, Operability )

D dùng Usability

c v th i gian, Đáp ng đ

c v tài nguyên:

ượ

ượ

Đáp ng đ ề ờ ứ (Time Behavior, Resource Behavior )

Hi u qu ả Efficiency

ượ

c, Ki m th đ

c, Thay đ i đ

ổ ượ

ượ

ử ượ Ổn đinh

B o trì đ c Maintainability

Phân tích đ c, (Analysability, Changeability, Stability, Testabilty)

c, Cài đ t đ

c, Kh p đ ớ

ặ ượ

ượ

ượ

c ế ượ

Kh chuy n ể Portability

Thích nghi đ c , Thay th đ (Adaptability, Installability, Conformance, Replaceablity )

T NG K T

ng pháp trong x lý ng trình máy tính, ch c d li u, các tài li u và k năng c a

ươ ươ ệ

ề ứ

 Phát tri n ph n m m là m t công vi c ph c t p,

ạ ộ ể

ệ ướ

ứ ạ c: phân tích, i ườ

ề ủ ể

ế ế

 Ph n m m mang ý nghĩa ph thông tin. Nó bao g m các ch cách t ữ ệ ổ i phát tri n k t tinh trong đó. ng ế ể ườ  Ph n m m h th ng làm môi tr ng cho các ph n ườ ệ ố ầ m m khác. Ph n m m ng d ng đáp ng m t nhu ụ ầ ề c u ho t đ ng c a con ng i ườ ầ ộ ầ ồ ơ ả t k , vi ử ế ả

t mã, ki m th , chuy n giao cho ng ạ

ể ộ ặ

quy trình c b n c a nó g m các b thi dùng và b o trì. B o trì là m t đ c thù c a ho t đ ng ph n m m ầ

CÂU H IỎ

ệ ề ề

ả ữ ặ

ề ụ ề ề ạ ầ ầ

t Nam 1. Hãy trình bày v khái ni m ph n m m máy tính. ầ 2. D li u có ph i là ph n m m không? Hãy nêu nh ng đ c đi m ể ữ ệ các lo i ph n m m ng d ng: ph n m m nhúng, ph n m m ầ à ph n m m phát tri n. ti n ích v ể ệ ề ứ 3. Hãy k m t s ví d ph n m m ng d ng đi n hình ầ ầ ề ứ ề ụ Vi ở ệ ụ ể

t.

4. Virus là nh ng ch ầ ể ộ ố mà b n bi ế ạ ữ ễ ươ ạ

ụ ẩ ộ

ế ề ạ ầ

ạ ố

c nào? ng trình gây nhi u ho c phá ho i và có kh ả ặ năng lây lan. Nói chung đây là m t lo i s n ph m có m c đích ạ ả x u trong tin h c. X p virus vào lo i ph n m m nào và ph n ầ ọ ấ m m ch ng virus vào lo i nào? ề ự ầ

5. Quy trình xây d ng ph n m m g m nh ng b 6. Hãy trình bày các tiêu chí ch t l ng ph n m m ồ ề ấ ượ ữ ầ ướ ề

C M N ĐÃ THEO DÕI

Ả Ơ

H T BÀI 7. H I VÀ ĐÁP