Bài giảng Các mẫu thiết kế hướng đối tượng - Chương 1: Tổng quan về phát triển phần mềm
Chương 1
Tổng quan về phát triển phần mềm
1.1 Máy tính số và công dụng
1.2 Chương trình máy tính & phần mềm
1.3 Đời sống phần mềm
1.4 Các mục tiên mềm
1.5 Các hoạt ₫ộng chức năng trong phát triển phần mềm
1.6 Qui trình phát triển phần mềm
1.7 Vài thông tin về nắm bắt yêu cầu
1.8 Kết chương
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 1
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
I. Máy tính số và công dụng
Các thiết bị cụ thể hóa : Con người thông minh hơn các ₫ộng vật
khác nhiều. Ta ₫ã chế tạo ngày càng nhiều công cụ, thiết bị ₫ể
hỗ trợ mình trong hoạt ₫ộng. Trong giai ₫oạn dài ban ₫ầu, ta chế
tạo theo hướng cụ thể hóa, nghĩa là mỗi công cụ, thiết bị chỉ thực
hiện ₫ược 1 vài công việc cụ thể nào ₫ó. Thí dụ, cây chổi ₫ể
quét, radio ₫ể bắt và nghe ₫ài audio... Các công cụ, thiết bị cụ
thể hóa ₫ược chế tạo ngày càng tinh vi, phức tạp và thực hiện
nhiều công việc hơn trước ₫ây.
Khuyết ₫iểm của thiết bị cụ thể hóa là mỗi thiết bị chỉ giải quyết 1
hiệu chấm dứt.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 2
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
I. Máy tính số và công dụng
Thiết bị tổng quát hóa - Máy tính số (digital computer) : nó cũng
là 1 thiết bị, nhưng thay vì chỉ thực hiện 1 vài chức năng cụ thể,
sát với nhu cầu ₫ời thường của con người, nó có thể thực hiện 1
số hữu hạn các chức năng cơ bản (tập lệnh), mỗi lệnh rất sơ khai
chưa giải quyết trực tiếp ₫ược nhu cầu ₫ời thường nào của con
người, nhưng nếu chúng ta biết cách tổ chức, sắp xếp các lệnh
với ₫ộ dài nhất ₫ịnh và thứ tự nhất ₫ịnh thì ₫oạn lệnh này sẽ giải
quyết ₫ược công việc có nghĩa mà con người cần. Cơ chế thực
hiện các lệnh là tự ₫ộng, bắt ₫ầu từ lệnh ₫ược chỉ ₫ịnh nào ₫ó rồi
tuần tự từng lệnh kế tiếp cho ₫ến lệnh cuối cùng. Danh sách các
lệnh ₫ược thực hiện này ₫ược gọi là chương trình.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 3
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
I. Máy tính số và công dụng
Bất kỳ công việc (bài toán) ngoài ₫ời nào cũng có thể ₫ược chia
thành trình tự nhiều công việc nhỏ hơn. Trình tự các công việc
nhỏ này ₫ược gọi là giải thuật giải quyết công việc ngoài ₫ời. Mỗi
công việc nhỏ hơn cũng có thể ₫ược chia nhỏ hơn nữa nếu nó
còn phức tạp,... công việc ngoài ₫ời có thể ₫ược miêu tả bằng 1
trình tự các lệnh máy (chương trình ngôn ngữ máy).
Ưu ₫iểm của máy tính số là ta chỉ cần chế tạo 1 lần, rồi theo thời
gian ta nhờ nó chạy những chương trình (phần mềm) khác nhau
₫ể thực hiện các bài toán khác nhau.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 4
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
I. Máy tính số và công dụng
Vấn ₫ề mấu chốt của việc dùng máy tính giải quyết công việc
ngoài ₫ời là lập trình (₫ược hiểu nôm na là qui trình xác ₫ịnh trình
tự ₫úng các lệnh máy ₫ể thực hiện công việc). Cho ₫ến nay, lập
trình là công việc của con người (với sự trợ giúp ngày càng nhiều
của máy tính).
Với công nghệ phần cứng hiện nay, ta chỉ có thể chế tạo các máy
tính mà tập lệnh máy rất sơ khai, mỗi lệnh máy chỉ có thể thực
hiện 1 công việc rất nhỏ và ₫ơn giản công việc ngoài ₫ời
công sức, kết quả rất khó bảo trì, phát triển.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 5
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
I. Máy tính số và công dụng
Ta muốn có máy luận lý với tập lệnh cao cấp và gần gủi hơn với
con người (₫ược ₫ặc tả bởi ngôn ngữ lập trình). Ta hiện thực máy
này bằng 1 máy có sẵn (lúc ₫ầu là máy vật lý) + 1 chương trình
dịch.
Gọi ngôn ngữ máy vật lý là N0. Trình biên dịch ngôn ngữ N1 sang
ngôn ngữ N0 sẽ nhận ₫ầu vào là chương trình ₫ược viết bằng
ngôn ngữ N1, phân tích từng lệnh N1 rồi chuyển thành danh sách
các lệnh ngôn ngữ N0 có chức năng tương ₫ương. Để viết
ngữ N0.
thông dịch (interpreter).
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 6
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
I. Máy tính số và công dụng
Sau khi có máy luận lý hiểu ₫ược ngôn ngữ luận lý N1, ta có thể
₫ịnh nghĩa và hiện thực máy luận lý N2 theo cách trên và tiếp tục
₫ến khi ta có 1 máy luận lý hiểu ₫ược ngôn ngữ Nm rất gần gũi
với con người, dễ dàng miêu tả giải thuật của bài toán cần giải
quyết...
Nhưng qui trình trên chưa có ₫iểm dừng, với yêu cầu ngày càng
cao và kiến thức ngày càng nhiều, người ta tiếp tục ₫ịnh nghĩa
những ngôn ngữ mới với tập lệnh ngày càng gần gũi hơn với con
hơn.
như Java, C#...
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 7
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Chương trình máy tính – Phần mềm
Chương trình máy tính là một giải thuật cụ thể ₫ể giải quyết công
việc ngoài ₫ời mà mỗi công việc trong giải thuật ₫ược miêu tả
bằng 1 lệnh máy cụ thể.
Chương trình máy tính có thể là chương trình ngôn ngữ máy, nó
có thể chạy trực tiếp bởi CPU phần cứng của máy.
Chương trình máy tính cũng có thể là chương trình ngôn ngữ cấp
cao như C, C++, C#, Java,... Trong trường hợp này ta phải dùng
chương trình dịch nó ra chương trình ngôn ngữ máy có hành vi
cao nhất ₫ể xây dựng nó.
lĩnh vực của ₫ời sống xã hội.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 8
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
Tùy vào góc nhìn mà ta phân loại phần mềm như thế nào. Thí dụ,
nếu dựa vào cách thức hoạt ₫ộng của phần mềm ₫ối với người
dùng nó thì ta có thể phân phần mềm ra 2 loại sau :
. Phần mềm ₫ại chúng : ₫ược viết và bán cho bất kỳ khách
hàng nào muốn dùng chúng. Thí dụ như phần mềm ₫ồ họa
PhotoShop, tool quản lý dự án, phần mềm CAD...
. Phần mềm cá nhân hóa : ₫ược viết cho khách hàng ₫ặc biệt,
riêng lẻ theo yêu cầu riêng của họ. Thí dụ hệ thống ₫iều
kiểm soát giao thông.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 9
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
Nếu dựa vào khả năng thay ₫ổi hành vi của phần mềm ₫ối với
người dùng nó thì ta có thể phân phần mềm ra 2 loại sau :
. Phần mềm cụ thể hóa hóa : luôn cung cấp các tính năng và
hành vi cố ₫ịnh, cho dù ₫ược chạy bởi ai và lần thứ mấy.
. Phần mềm tổng quát hóa : có thể thay ₫ổi tính năng và hành
vi theo thời gian và theo yêu cầu từng người dùng. Thí dụ MS
Word có thể là phần mềm soạn thảo văn bản, nhưng user có
thể cá nhân hóa theo thời gian ₫ể biến nó thành ứng dụng có
chức năng bất kỳ.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 10
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
Nếu dựa vào tài nguyên mà phân mềm dùng thì ta có thể phân
phần mềm ra 2 loại sau :
. Phần mềm chạy trên máy ₫ơn : chỉ dùng những tài nguyên
trên 1 máy trong qua trình hoạt ₫ộng.
. Phần mềm mạng hay phân tán : dùng nhiều tài nguyên ở
nhiều máy khác nhau ₫ể hoạt ₫ộng.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 11
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
Nếu dựa vào lĩnh vực xử lý thì ta có thể có những loại phần mềm
sau :
. Hệ ₫iều hành : là phần mềm quản lý các tài nguyên cấp thấp
(thường là phần cứng), che dấu các tính chất vật lý của chúng
(thường rất khó hiểu và sử dụng), rồi cung cấp lại một
interface sử dụng chúng với các lợi ₫iểm như an toàn, tin cậy,
thân thiện, hiệu quả và nhất là ₫ộc lập với tính chất vật lý của
tài nguyên ₫ược sử dụng. Người ta còn gọi HĐH là máy ảo
(máy luận lý)..
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 12
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
. Ứng dụng văn phòng : Cho phép người dùng thực hiện 1 số
chức năng thông thường liên quan ₫ến văn phòng. Microsoft
Office là ứng dụng văn phòng ₫ược sử dụng phổ biến nhất.
Open Office là ứng dụng văn phòng mã nguồn mở nhưng yếu
hơn và thiếu ổn ₫ịnh hơn).
. Ứng dụng nghiệp vụ & Database server : Ứng dụng nghiệp vụ
thực hiện các yêu cầu nghiệp vụ trong các cơ quan, ₫ơn vị
như quản lý nhân viên, quản lý tài sản, quản lý ₫iểm, quản lý
cậy,... ₫òi hỏi u và nhiều thời gian
công sức hiện thực. Database server giải phóng người lập
trình khỏi các công việc liên quan ₫ến database.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 13
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
. Biên tập & chơi multimedia : Multimedia là dữ liệu ₫a phương
tiện như văn bản, hình ảnh, âm thanh, film,... Dữ liệu ₫a
phương tiện giúp người dùng thích thú hơn khi nghiên cứu về
1 vấn ₫ề nào ₫ó. Các ứng dụng biên tập dữ liệu ₫a phương
tiện cho phép ta xây dựng, thêm/bớt/hiệu chỉnh thông tin và
file ₫a phương tiện tương ứng. Thí dụ trình Photoshop cho ta
xử lý ảnh tĩnh, SoundGold cho phép ta xử lý âm thanh, Photo
Premiere cho ta biên tập film... Các ứng dụng chơi multimedia
cho phép người dùng tham khảo file multimedia ₫ã có. Thí dụ
trình Window Multimedia Player của Microsoft cho ta chơi hầu
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 14
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
. Game : Game (ứng dụng trò chơi) là những ứng dụng dễ lôi
cuốn người dùng nhất. Có 2 thể loại game phổ biến : game
hành ₫ộng và game trí tuệ.
. Các ứng dụng trên mạng Internet : Thường ứng dụng mạng
dùng mô hình hoạt ₫ộng client/server, mỗi module sẽ ₫óng
vai trò hoặc server, hoặc client. Module server sẽ quản lý các
tài nguyên liên quan trên máy mình ₫ang chạy và cung cấp
dịch vụ truy xuất các tài nguyên này cho các module ở các
thông báo request/reply cùng ₫ịnh dạng cụ thể của từng
thông báo mà client/server sẽ gởi/nhận cho nhau.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 15
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
. Các ứng dụng CAD (Computer-Aided Design) : Giúp người
thiết kế xây dựng/hiệu chỉnh bản thiết kế trực tiếp trên máy
tính với sự giám sát/kiểm soát/trợ giúp ngày càng nhiều của
phần mềm, nhờ ₫ó ta có nhanh ₫ược bản thiết kế ₫úng ₫ắn,
khoa học, bài bản,... Bản vẽ có thể ₫ược phân tích tự ₫ộng ₫ể
xác ₫ịnh một số thông tin cần thiết. CAD ₫ược dùng ₫ể thiết
kế chi tiết cơ khí, mạch ₫iện tử, tàu thủy, xe hơi, nhà cửa,
quần áo,… Một số phần mềm tiêu biểu: OrCAD, AutoCAD,…
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 16
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
. Ứng dụng CAM (Computer-Aided Manufacture) : Phần mềm
dùng máy tính hỗ trợ quá trình sản xuất và chế tạo linh kiện/thiết
bị. Một số dạng CAM như Robot công nghiệp, CNC, CAD/CAM,
hệ thống ₫iều khiển... Robot công nghiệp thay thế con người
trong việc thực hiện 1 công việc cụ thể xác ₫ịnh. Robot có 3
thành phần chính : tay máy, bộ ₫iều khiển và bộ cung cấp năng
lượng. Robot có khả năng cảm nhận môi trường xung quanh (nhờ
các sensor) và ₫áp ứng kịp thời với sự thay ₫ổi trạng thái của môi
trường. CNC (Computer numerical control) ₫ược sử dụng rộng rãi
của bên ngoài.
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 17
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
. Ứng dụng nhúng (embedded apllications) : Là các ứng dụng
₫ược cài ₫ặt vào 1 thiết bị cụ thể có trang bị máy tính số với
các tài nguyên hạn chế. Nhiệm vụ của ứng dụng nhúng là
₫iều khiển quá trình hoạt ₫ộng của thiết bị. Thí dụ chương
trình ₫iều khiển máy in laser, máy vẽ, máy photocopy, máy
giặt,...
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 18
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
II. Phần mềm – Phân loại
. Mô hình hóa & mô phỏng : Mô hình hóa ₫ược dùng ₫ể xem
xét, phân tích hoặc lên kế hoạch cho một công việc phức tạp.
Mô hình hóa thường dùng các công thức toán học ₫ể mô tả
một công việc hay một quá trình phức tạp. Ví dụ : s = 0.5 at2
với s là quảng ₫ường ₫i ₫ược, a là gia tốc và t là thời gian. Mô
phỏng dùng máy tính ₫ể mô hình hóa và xem xét hệ thống :
Kiểm tra, An toàn, Dự ₫oán, Nhanh chóng và linh hoạt.
Thường phần mềm mô hình hóa & mô phỏng ₫ược sử dụng
nhiều trong các lĩnh vực Giao thông, Xã hội học, Dự ₫oán thời
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Slide 19
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
III. Đời sống phần mềm
time
Cycle 1 Cycle 2 Cycle 3 Cycle 4 Cycle i Cycle n
Phase
Inception
Elaboration
Construction
Transition
Prelim
Iteration
...
Arch
Iteration
...
Dev
Iteration
Dev
Iteration
...
Trans
...
Release
Release Release Release Release
Release
Release
Release
Môn : Các mẫu thiết kế hướng ₫ối tượng
Chương 1 : Tổng quan về phát triển phần mềm
Khoa Khoa học & Kỹ thuật Máy tính
Trường ĐH Bách Khoa Tp.HCM
© 2010
Slide 20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Các mẫu thiết kế hướng đối tượng - Chương 1: Tổng quan về phát triển phần mềm", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_cac_mau_thiet_ke_huong_doi_tuong_chuong_1_tong_qua.pdf

