Professional Documents
Culture Documents
Chuong 1
Chuong 1
Chuong 1
thông tin
LOGO
www.themegallery.com
Mở đầu
Giảng viên: Ths. Lê Trung Kiên
Email: kienletrung1980@gmail.com
Sinh viên tự giới thiệu
Kiến thức nền tảng và kinh nghiệm
• Kinh nghiệm về Lập trình???
• Kinh nghiệm về OOP???
• Kinh nghiệm về ngôn ngữ cài đặt???
Những kỳ vọng sau môn học???
Mục đích môn học
Sau khóa học, sinh viên thu được
• Kiến thức về phương pháp luận phát triển
hướng cấu trúc và phát triển hướng đối
tượng.
• Khả năng vận dụng kỹ thuật phân tích và
thiết kế hướng đối tượng theo một quy trình
cụ thể để tạo ra bản thiết kế chất lượng cao
Mục tiêu môn học – kiến thức
Áp dụng mô hình phát triển lặp, lấy kiến
trúc làm trung tâm và định hướng ca sử
dụng để tạo được mô hình thiết kế chất
lượng cao.
Sử dụng ngôn ngữ mô hình hóa thống
nhất UML để biểu diễn mô hình thiết kế.
Áp dụng các khái niệm hướng đối tượng:
trừu tượng, bao gói, kế thừa, phân cấp,
mô đun hóa, và đa hình để tạo mô hình
thiết kế có chất lượng.
Mục tiêu – kiến thức (2)
Mô tả các khung nhìn về kiến trúc phần
mềm, các cơ chế chính hình thành kiến
trúc, và chi phối của kiến trúc đối với
thiết kế được tạo
Xác định được các vấn đề thiết kế cơ
bản và vận dụng các mẫu thiết kế
Mục tiêu – kỹ năng
Sử dụng công cụ mô hình hóa để biểu
diễn các mô hình phân cấp và mô hình
thiết kế
Viết tài liệu phân tích và thiết kế hướng
đối tượng cho hệ thống cụ thể
Mục tiêu – Thái độ
Giải quyết vấn đề mang tính hệ thống
Làm việc có phương pháp, kế hoạch và
luôn đặt trong khung cảnh dự án
Chú trọng hơn vào mô hình hóa so với
lập trình
Mục tiêu khác
Kỹ năng cộng tác, làm việc nhóm
Kỹ năng tư duy sáng tạo, khám phá tìm
tòi
Trau dồi, phát triển năng lực đánh giá
Rèn kỹ năng lập kế hoạch, tổ chức, quản
lý, theo dõi kiểm tra việc thực hiện
chương trình học tập
Nội dung môn học
1. Phát triển phần mềm chất lượng cao
2. Mô hình hóa hướng cấu trúc và hướng
đối tượng (tập trung chủ yếu vào hướng
đối tượng)
3. Tổng quan về các yêu cầu phần mềm
4. Tổng quan về phân tích và thiết kế
5. Phân tích kiến trúc
6. Phân tích ca sử dụng
Nội dung mô học (2)
7. Xác định các phần tử thiết kế
8. Xác định các cơ chế thiết kế
9. Mô tả kiến trúc thực thi và phân tán
10. Thiết kế ca sử dụng
11. Thiết kế hệ thống con
12. Thiết kế lớp
13. Thiết kế cơ sở dữ liệu
Hình thức tổ chức dạy học
Thời lượng: 4 tín chỉ
• 03 tín chỉ lý thuyết
• 01 tín chỉ bài tập
Hình thức kiểm tra và đánh giá
• Bài tập tuần: 02 câu hỏi sau mỗi bài giảng,
nộp bài vào đầu buổi thứ 3 (tuần kế tiếp)
• Bài tập nhóm: Báo cáo tuần+ báo cáo phân
công cụ thể.
• Thi cuối kỳ bằng hình thức vấn đáp (bảo vệ
bài tập lớn cuối kỳ).
Tổ chức nhóm bài tập
Lập nhóm: 2-3 thành viên
Đề tài nhóm
• Đăng ký chọn đề tài
• Bảng phân công công việc
Nộp qua Dropbox
• Tài khoản dropbox của nhóm trưởng
• Báo cáo phân công cụ thể: doc+pdf, mdl
(uml file)
• Báo cáo tuần: Nộp trước ngày thứ 2 hàng
tuần.
Đánh giá thành quả học tập
Điểm chuyên cần: 10%
Điểm bài tập tuần: 10%
Điểm báo cáo theo nhóm: 10%
Điểm cuối kỳ (vấn đáp): 70%
Chính sách môn học
Tích cực xây dựng bài => điểm chăm chỉ
Nộp báo cáo chậm hoặc nộp thiếu phân
công => không được thi
Vắng >20% của 75 tiết => không được
thi
Hai buổi chậm => một buổi vắng
Học liệu
Tài liệu bắt buộc
1. Phân tích thiết kế các hệ thống thông tin hiện đại, 2002
Nguyễn Văn Vỵ
2. Phân tích và thiết kế hướng đối tượng, 2013 Trương
Ninh Thuận và Đặng Đức Hạnh.
3. Bộ giáo trình OOAD của IBM.
Tài liệu tùy chọn
1. The Unifed Modeling Language Reference Manual, 2 nd
Edition, 2004. G. Booch, J.Rumbaugh, and I.
Jacobson.
2. Applying UML and Patterns: An introduction to Obiect-
Oriented Analysis and Design and Iterative
Development, 2004. Craig Larman.
3. Object-Oriented Software Engineering: A Use Case
Driven Approach, 2000. I. Jacobson.
Any question?
Chương 1:
TỔNG QUAN VỀ HỆ THỐNG
1.1 Khái niệm về hệ thống thông tin
Chủ
Chủ thể
thể phản
phản Đối
Đối tượng
tượng tiếp
tiếp
ánh
ánh nhận
nhận
20
Tính chất thông tin
• Giá thành (cost) và giá trị (value)
• Giá thành (cost):
Chi phí trả cho việc thu thập, lưu trữ, biến đổi, truyền các thông tin cơ sở
cấu thành nên thông tin.
• Giá trị (value): phụ thuộc vào
Bản chất thông tin.
Tính trung thực.
Thời điểm.
Mức độ hiếm hoi.
Giá thành.
Sự biểu diễn thông tin.
Chủ thể sử dụng thông tin.
21
Thông tin & Dữ liệu
Dữ
Dữ liệu
liệu Xử
Xử lý
lý dữ
dữ liệu
liệu Thông
Thông tin
tin
Dữ
Dữ liệu
liệu môn
môn
học
học
Bảng
Bảng điểm
điểm
Tổng
Tổng hợp
hợp dữ
dữ liệu
liệu
Dữ
Dữ liệu
liệu thi
thi tổng
tổng hợp
hợp
Dữ
Dữ liệu
liệu SV
SV
22
Nội dung thông tin
• Thông tin tự nhiên
Thông tin viết (văn bản), thông tin hình ảnh (tranh
ảnh, sơ đồ, biểu đồ,…), thông tin miệng (lời nói),
thông tin âm thanh, xúc giác,…
• Thông tin cấu trúc
Được chọn lọc từ các thông tin tự nhiên, cô đọng và
được cấu trúc hóa dưới dạng các đặc trưng cụ thể
Ưu điểm
• Truyền đạt nhanh hơn, độ chính xác và tin cậy cao, chiếm ít
không gian
• Có thể tính toán, xử lý theo thuật giải
23
1.1 Khái niệm về hệ thống thông tin
1.1.2 HTTT quản lý
- HTTT quản lý là sự phát triển và sử dụng HTTT có hiệu quả trong một
tổ chức
Các thành phần của HTTT
Phần cứng
Thiết bị vào/ra
Cơ sở hạ tầng, mạng truyền thông
Phần mềm
Phần mềm hệ thống
Phần mềm ứng dụng
Dữ liệu
Các dữ liệu phản ánh cấu trúc nội bộ của cơ quan
Các dữ liệu phản ánh các hoạt động nghiệp vụ
Xử lý
Sản sinh thông tin theo thể thức quy định
Trợ giúp cho các quyết định
Con người
Người sử dụng bên trong
Người sử dụng bên ngoài
25
1.1.3.Một số loại hệ thống
Hệ thống xử lý giao dịch
Cải tiến xử lý giao dịch bằng cách tăng tốc độ, tăng hiệu suất
và đơn giản hóa các quá trình
Hệ thống tự động hóa sản xuất / Hệ thống điều khiển quá trình
Ba vấn đề lớn liên quan đến quá trình phát triển một
HTTT :
- Các hoạt động phát triển một HTTT và trình tự thực
hiện
- Các phương pháp, công nghệ và công cụ sử dụng
- Tổ chức và quản lý quá trình phát triển một HTTT
1.2.Một số phương pháp phát triển HT
Phương pháp ~ một cách thực hiện chu trình
phát triển hệ thống
3 nhóm phương pháp
Các phương pháp hướng quy trình
Tập trung định nghĩa các hoạt động gắn với hệ thống
Mô hình hóa các quy trình với luồng vào/ra
Các phương pháp hướng dữ liệu
Tập trung định nghĩa nội dung dữ liệu lưu trữ
Mô hình hóa dữ liệu
Các phương pháp hướng đối tượng
Cân bằng giưa dữ liệu và quy trình
29
UML là một ngôn ngữ mô hình hóa
Một số kiểu phát triển hệ thống
Phân tích thiết kế có cấu trúc
(Structured Design)
Chu trình thác nước
Chu trình tăng trưởng / chu trình song song
Phát triển nhanh ứng dụng
(Rapid Application Development - RAD)
Chu trình xoắn ốc
Làm bản mẫu
Hướng lập trình ứng dụng
(Agile Development)
eXtreme-Programming based
30
1.3.Vòng đời phát triển hệ thống
(Systems Development Life Cycle – SDLC)
yêu cầu hệ thống
Pha 1:
Lập kế hoạch b/c khả thi
Pha 2:
Phân tích hệ thống Tài liệu đặc tả yêu cầu
Pha 3:
Thiết kế hệ thống
Tài liệu thiết kế hệ thống
Pha 4:
Cài đặt hệ thống Hệ thống
đã cài đặt
Pha 5: 31
Vận hành, bảo trì
Lập kế hoạch
Giải quyết các vấn đề, câu hỏi
Tại sao phải xây dựng HTTT ?
Nhóm dự án phát triển hệ thống thông tin như thế
nào?
Các công việc cụ thể
Tìm hiểu dự án được bắt đầu và được đánh giá ban
đầu như thế nào
Xác định các vấn đề, cơ hội, mục tiêu
Phân tích SWOT (Strength – Weakness – Opportunity – Threat)
32
Phân tích hệ thống
Giải quyết các vấn đề, câu hỏi
Ai sẽ sử dụng hệ thống?
Hệ thống sẽ thực hiện gì, khi nào, ở đâu?
Các công việc cụ thể
Phân tích chiến lược: phân tích hiện trạng, phương
pháp sử dụng
Thu thập yêu cầu: mô hình hóa và phân tích các yêu
cầu
Đề xuất mô hình hệ thống
33
Thiết kế hệ thống
Giải quyết các vấn đề, câu hỏi
Hệ thống sẽ hoạt động như thế nào (phần cứng,
phần mềm, mạng, giao diện người dùng, modun
chương trình, CSDL, tệp, …)
Các công việc cụ thể
Chiến lược thực hiện
Kiến trúc hệ thống: phần cứng, phần mềm, mạng
Thiết kế dữ liệu
Thiết kế chương trình
Thiết kế giao diện
34
Cài đặt hệ thống
Giải quyết các vấn đề, câu hỏi
Lập trình, kiểm thử
Các công việc cụ thể
Phát triển ứng dụng: lập trình, kiểm thử, lập tài liệu
cho các modun chương trình
Cài đặt và đánh giá
Xây dựng kế hoạch hỗ trợ và bảo trì hệ thống
35
36
Phân bổ chi phí cho các hoạt động
37
Sử dụng tài nguyên
Thay đổi lớn trong
nghiệp vụ và công
nghệ
Kiểm thử
hệ thống Cập nhật
thay đổi nhỏ
Phát triển
Khối lượng hệ thống
tài nguyên Thời gian
sử dụng
38
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.1 Vòng đời phát triển hệ thống truyền thống
HTTT có vòng đời tương tự như một thực thể bất kỳ: Có giai
đoạn bắt đầu, giai đoạn phát triển, giai đoạn trưởng thành và giai
đoạn kết thúc.
Quá trình phát triển HTTT gồm 6 giai đoạn.
- Xác định dự án
- Nghiên cứu hệ thống
- Thiết kế
- Lập chương trình
- Cài đặt
- Áp dụng
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.1 Vòng đời phát triển hệ thống truyền thống
a. Các pha phát triển
Về cơ bản nội dung các bước ở đây gần giống với mô hình
chung phát triển hệ thống.
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.1 Vòng đời phát triển hệ thống truyền thông
b. Nhận xét và đánh giá
Phương pháp vòng đời hệ thống thích hợp để xây dựng các hệ
thống xử lý giao dịch lớn và hệ thông tin quản lý mà ở đó đòi
hỏi hệ thống có cấu trúc và xác định chặt chẽ.
Tuy nhiên phương pháp này có chi phí cao, thời gian thực hiện
dài và không mềm dẻo, khối lượng tài liệu lần đầu rất lớn.
Rõ dàng phương pháp này không thích hợp cho phần lớn các
hệ thống vừa và nhỏ.
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.2 Phương pháp làm bản mẫu
Phương pháp làm mẫu nhanh chóng tạo ra một mô hình làm
việc thực nghiệm để nhiều người sử dụng xem xét, đánh giá.
Khi bản mẫu hoàn thiện nó được đem sử dụng cho các bước
tiếp theo
Các bước làm bản mẫu
52
Vai trò của người phân tích HT
Nhiệm vụ
Người tư vấn
Chuyên gia
Tác nhân thay đổi
Kỹ năng cần thiết
Phân tích
Kỹ thuật
Quản lý
Quan hệ cá nhân
53
Phân tích và thiết kế hệ thống
Mục đích
Xác định các vấn đề, các cơ hội, các mục tiêu
Phân tích các dòng thông tin vào/ra
Sử dụng máy tính để xử lý tự động các thông tin
Yêu cầu
Mô hình hóa quy trình nghiệp vụ
Xây dựng
Bản tóm lược nghiệp vụ
Mô hình nghiệp vụ
Quá trình nghiệp vụ
54