Các phần còn lại: hầu nh− ch−a đ−ợc tự động hóä Nhu cầu vμ khả năng tự động hóa Lμm thủ công lμ tất yếu Mong muốn tự động hóa cμng nhiều cμng tốt Tự động hóa khi có thể hình thức hóa Lμ
Trang 1Bé m«n C«ng nghÖ phÇn mÒm- Khoa CNTT- §HCN
Email: vynv@coltech.vnu.vn
K ngh ph n m m
Software Engeneering
Trang 2NguyÔn V¨n Vþ
N i dung
Ph n m m vμ tÇm quan träng TiÕn hãa phÇn mÒm vμ th¸ch thøc
Kü nghÖ phÇn mÒm
Ti n tr×nh ph n m m
Ch t l ng ph n m m
Trang 3NguyÔn V¨n Vþ
TÀI Li U THAM KH O
1. Nguy n V n V , Nguy n Vi t Hà Giáo trình k ngh ph n
m m Nhà xu t b n i h c Qu c gia Hà n i, 2008
2. Grady Booch, James Rumbaugh, Ivar Jacobson The Unified
Modeling language User Guid Addison-Wesley, 1998.
3. M Ould Managing Software Quality and Business Risk, John
Wiley and Sons, 1999.
4. Roger S.Pressman, Software Engineering, a Practitioner’s
Approach Fifth Edition, McGraw Hill, 2001.
5. Ian Sommerville, Software Engineering Sixth Edition,
Addison-Wasley, 2001.
6. Nguy n V n V Phân tích thi t k h th ng thông tin hi n đ i
H ng c u trúc và h ng đ i t ng, NXB Th ng kê, 2002, Hà
N i.
Trang 42. C¸c cÊu tróc d÷ liÖu
C u tróc lμm vi c (bé nhí trong)CÊu tróc lưu tr÷ (bé nhí ngoμi)
a Kh¸i niÖm vÒ phÇn mÒm
file.exe
file.com
Dowhle Eddo
If than End if wwscklrn
File.text
Trang 5tham kh¶o kü thuËt ( ng−êi b¶o tr×)
tμi liÖu ph¸t triÓn ( nhμ ph¸t triÓn )
User’s guid
technical reference specification,
design, test,
Trang 6
Các phần còn lại: hầu nh− ch−a đ−ợc tự động hóa
̈ Nhu cầu vμ khả năng tự động hóa
Lμm thủ công lμ tất yếu Mong muốn tự động hóa cμng nhiều cμng tốt
Tự động hóa khi có thể hình thức hóa Lμm tμI liệu lμ cực nhọc, nh−ng khó tự động
Trang 7®iÒu hµnh, ph¸t triÓn
Héi nhËp
phÇn mÒm
Hån siªu, ph¸ch l¹c
å bÊt tØnh
Trang 8Nguyễn Văn Vỵ
Vai trò của phần mềm
̈ Mọi nền kinh tế phụ thuộc rất lớn vμo phần mềm
̌ Thu, chi từ phần mềm chiếm đáng kể trong GNP
• 2006 ấn độ xuất gần 30 tỉ USD phần mềm
• Thế giới có >7 triệu k s CNTT t o ra 600 tỉ $/n m
• Chi phí cho phần mềm năm 2000 lên tới: 770 tỉ $
̌ phần mềm sai hỏng, kinh tế tổn thất l n
• v tinh Ariane 5 h ng do l i ph n m m (1996) thi t h i
500 triệu $ Website dùng 1 ngμy mất h μng triệu $
X [P nkaj Jalote CMM in practice, Addison-Wesley, tr.1,3,11]
Trang 10̈ ø ng dông phÇn mÒm cã mÆt trªn mäi lÜnh vùc x· héi:
Kinh tÕ, qu©n sù, gi¸o dôc, trß ch¬i,
Game online
Trang 11Nguyễn Văn Vỵ
Đặc trưng của phần mềm
̈ K hông mòn cũ, những thoái hóa theo thời gian
Môi trường sử dụng, nhu cầu thay đổi -> không dùng
Lỗi phát sinh tăng do nâng cấp -> quá mức
Trang 13Use case
Tr−êng hîp
sö dông − ?
Trang 14Nguyễn Văn Vỵ
Đặc trưng của phần mềm
̇ Lμ mô hình thế giới thực thay đổi theo thời gian
Môi trường nghiệp vụ thay đổi Nhu cầu con người thay đổi
ĩ Thay đổi để đáp ứng người dùng
̇ Thay đổi thích ứng với môi trường vận hμnh
ư Các hệ phần mềm nền (hệ điều hμnh, )
ư Thiết bị phần cứng (chip, )
Trang 15NguyÔn V¨n Vþ
CÇn ph¸t triÓn theo nhãm
Quy m« cμng lín & yªu cÇu kü n¨ng kh¸c nhau Nhu cÇu bμn giao nhanh
N¨ng suÊt nhãm kh«ng tû lÖ víi sè thμnh viªn
(1 ng−êi giái > 5 lÇn ng−êi trung b×nh)
Trang 17SOFT-Nguyễn Văn Vỵ
̈ Chương trình
1 người viết, 1 người dùng (người viết ≡ người dùng)
mục đích thu thập, xử lý số liệu (dùng 1 lần)
không tμi liệu, không kiểm thử triệt để
̈ Sản phẩm phần mềm
nhiều người viết, nhiều người dùng
độ phức tạp cao, đồng bộ, an toμn, an ninh
sản phẩm lớn
Phân loại theo mức hoμn thiện
Trang 18Chương trình
hệ thống
Sản phẩm
Yêu tố người dùng
Yêu tố người dùng
Yêu tố môI trường cμI đặt
Trang 19̇ Trợ giúp các tiện ích (tổ chức tệp, nén, dọn đĩa )
̇ Trợ giúp các hoạt động nghiệp vụ khác nhau
̇ Có s l−ợng lớn, đa dạng
̇ Phân lμm hai loại theo cách lμm:
Trang 20Nguyễn Văn Vỵ
Phân loại theo chức năng
„ Sản phẩm đặt hμng
– Sản xuất theo đơn đặt hμng (HTTT quản lý )
– đơn chiếc, yêu cầu đặc thù (nhận dạng)
„ Sản phẩm chung (software pakages)
– bán rộng rãi (office)
– thỏa mãn yêu cầu chung số lớn ng i dùng
ơ Mỗi loại có cách thức tiếp cận riêng, nhất lμ ở 1
số các bước ồ chi phí, thời gian khác nhau
Comercial softwware
Comercial softwware
Trang 21NguyÔn V¨n Vþ
Ph©n lo¹i theo chøc n¨ng
3 PhÇn mÒm c«ng cô (Tools, CASE)
̇ Trî gióp cho qu¸ tr×nh ph¸t triÓn phÇn mÒm
̇ C¸c ng«n ng÷ lËp tr×nh (so¹n th¶o, dÞch, gì rèi, )
̇ C«ng cô trî gióp 1 , nhiÒu giai ®o¹n ph¸t triÓn (ph©n tÝch, thiÕ kÕ, qu¶n lý dù ¸n, kiÓm thö, )
Mcrosoft Project Management,
Trang 22̇ Phôc vô nhiÒu ng−êi dïng
̇ Thu thËp, xö lÝ c¸c d÷ kiÖn thÕ giíi thùc
̇ §¸p øng yªu cÇu chÆt chÏ vÒ thêi gian
thu thËp d÷ liÖuph©n tÝch d÷ liÖu
kiÓm so¸t, ®iÒu khiÓn
®iÒu phèi
Trang 23NguyÔn V¨n Vþ
3 PhÇn mÒm nghiÖp vô (business software)
• Xö lÝ th«ng tin nghiÖp vô, g¾n víi CSDL
Xö lý c¸c giao t¸c (m¹ng b¸n hμng )LÜnh vùc øng dông rÊt lín (hÖ ®iÒu khiÓn vò trô)
4 PhÇn mÒm khoa häc kü thuËt (scientific softwares)
• Dïng huËt to¸n phøc t¹p (vËt lÝ, m« pháng)N¨ng lùc tÝnh to¸n cao
Ph©n lo¹i theo lÜnh vùc øng dông
Trang 24Nguyễn Văn Vỵ
5 Phần mềm nhúng (embeded software)
• Chỉ đọc ra khi thiết bị khởi động, Thực hiện chức năng hạn chế (điều khiển sản phẩm)
Lμ sự kết hợp giữa hệ thống vμ thời gian thực
Phân loại theo lĩnh vực ứng dụng
Trang 25NguyÔn V¨n Vþ
7 PhÇn mÒm trÝ tuÖ nh©n t¹o (Intelligent Softwares)
• Dïng c¸c thuËt to¸n phi sè (logic): suy luËn, t×m kiÕm
HÖ chuyªn gia, nhËn d¹ng, trß ch¬i
8 PhÇn mÒm dùa trªn nÒn web (Web-based Softwares)
Cung cÊp dÞch vô khai th¸c th«ng tin trªn web
Ch−¬ng tr×nh khai th¸c lμ chung (browser)
Ph©n lo¹i theo lÜnh vùc øng dông
Trang 27a1 Giai ®o¹n 1: 1950å 1960
Trang 28NguyÔn V¨n Vþ
Giai ®o¹n 2: å gi÷a thËp kû 70
̇ Lμ s¶n phÈm: §a nhiÖm, ®a ngưêi sö dông
̇ Xö lý sè, ký tù, theo l« & thêi gian thùc
̇ XuÊt hiÖn lưu tr÷ trùc tuyÕn (CSDL)
̇ Ng«n ng÷: c ã cÊu tróc: PL1, Algol 60, Fortran, COBOL
Trang 29Nguyễn Văn Vỵ
Giai đoạn 3: ồ1990
̇ P hần mềm cá nhân + mạng, hệ lớn, chia sẻ được
̇ Ra đời phần mềm nhúng
̇ Xử lý số, ký tự, âm thanh, hình ảnh ; theo lô, thời
gian thực, phân tán, song song
̇ Truy nhập dữ liệu phát triển, cả từ xa
̇ Ngôn ngữ: bậc cao, hướng đối tượng, lôgic
Trang 30Nguyễn Văn Vỵ
Giai đoạn 4: từ 1990 đến nay
̇ Phần mềm lớn, tinh vi, tin cậy, hướng người dùng
̇ Hệ chuyên gia, trí tuệ nhân tạo, phần mềm nhúng,
webservice sử dụng rộng rãi, internet m rộng
̇ CSDL hướng đối tượng, kho dữ liệu phát triển
độ cao, hướng đối tương, web
Trang 31• DÔ sö dông, tinh vi (tÝnh th«ng minh)
• Tin cËy, an toμn
̇ Nhμ ph¸t triÓn
• DÔ b¶o tr×
Trang 32̇ 995, M chi 81 t $ cho d án b hñy,
[ Theo: Standish Group The CHAOS Report, 1995
http://www.pm2go.com/sample research/chaos
Trang 34ĩ Năng lực máy tăng gấp 2 sau 18 tháng (More)
Bản chất của vấn đề
Trang 35NguyÔn V¨n Vþ
Lý do chÝnh
Lý do
N¨ng lùc m¸y tÝnh ngμy cμng m¹nh C¸c hÖ thèng ®−îc liªn kÕt l¹i ngμy cμng l n
Th gi i thau đ i nhanh (c nghi p v , c«ng ngh ) Ham muèn ng−êi dïng ngμy cμng nhiÒu
Trang 36Nguyễn Văn Vỵ
Thách thức đối với phần mềm
̈ Phần mềm lμm ra <<< nhu cầu
̈ Khai thác fần mềm <<< tiềm năng phần cứng
̈ Bảo trì hệ cũ lạc hậu để sử dụng cực kỳ khó khăn
phát triển phần mềm
CMMI, RMM)
Trang 37Nguyễn Văn Vỵ
Tóm tắt
̈ Phần mềm gồm: chương trình, cấu trúc dữ liêu, tμi liệu
̈ Phân loại: theo mức hoμn thiện, chức năng vμ lĩnh vực ứmg dụng
̈ Phần mềm quan trọng: tạo nên sự khác biệt của tổ chức, có vai
trò lớn trong các hệ thống, nền kinh tế vμ các lĩnh vực xã hội.
̈ Phần mềm tiến hóa không ngừng: quy mô, xử lý, tiện ích
̈ Phát triển phần mềm lμ công việc phức tạp, rủi ro
lμ phần tử logic, không trực quan, khó kiểm soát chất lượng không định hình trước, khó dự đoán hiệu năng
lμm còn thủ công, phụ thuộc vμo con người chịu ảnh hướng lớn từ môI trường -> nhiều rủi ro
̈ Cần áp dụng các phương pháp tiên tiến (công nghệ + quản lý)
Trang 386 Tiến hóa phần mềm tương ứng với công nghệ, nhu cầu?
7 Khó khăn phát triển phần mềm(bản chất, sự thay đổi môi
trường kỹ thuật, nghiệp vụ, xã hội)?
8 Thách thức đối với phát triển phần mềm? (nhu cầu, bảo trì,
thời gian, giá cả, khả năng phần cứng)
Trang 39NguyÔn V¨n Vþ
C©u hái và th o lu n