Chuong 1

You might also like

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 54

Phân tích thiết kế hệ thống

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

1.1.1 Khái niệm và định nghĩa


- HTTT được xác định như một tập hợp các thành phần được tổ chức để
thu thập, xử lý, lưu trữ, phân phối và biểu diễn thông tin và thông tin trợ
giúp việc tạo ra quyết định và kiểm soát trong một tổ chức.
- Dữ liệu (Data) là những mô tả về sự vật, con người và sự kiện trong thế
giới mà chúng ta gặp bằng nhiều cách thể hiện khác nhau
- Thông tin (Information) là dữ liệu được đặt vào một ngữ cảnh với một
hình thức thích hợp và có lợi cho người sử dụng cuối cùng.
- Các hoạt động thông tin (Information activities) là các hoạt động xảy
ra trong một HTTT, bao gồm cả việc nắm bắt, xử lý phân phối, lưu trữ,
trình diễn dữ liệu và kiểm tra các hoạt động trong HTTT
- Xử lý (processing) là các hoạt động lên dữ liệu như tính toán, so sánh,
sắp xếp…
Thông tin
 Thông tin là một hay tập hợp những phần tử thường gọi
là các tín hiệu, phản ánh ý nghĩa về một đối tượng, hiện
tượng hay một quá trình nào đó của sự vật thông qua quá
trình nhận thức.
 Tín hiệu được biểu hiện dưới nhiều dạng khác nhau: ngôn
ngữ (tiếng nói, văn bản chữ viết, động tác), hình ảnh, âm
thanh, mùi vị... được nhận biết thông qua các cơ quan
cảm giác và quá trình nhận thức.

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 thông tin quản lý


 Cung cấp thông tin giúp ích cho công việc quản lý

 Hệ thống tự động hóa sản xuất / Hệ thống điều khiển quá trình

 Hệ thống tự động hóa văn phòng


 Hỗ trợ người dùng trong các hoạt động văn phòng

 Hệ thống hỗ trợ ra quyết định


 So sánh các giải pháp khác nhau và đề nghị một giải pháp thích hợp

 Hệ chuyên gia và trí tuệ nhân tạo


 Lưu trữ và sử dụng kiến thức của các chuyên gia một cách hiệu quả 26
 …
1.1 Khái niệm về hệ thống thông tin
1.1.4 Tại sao một tổ chức cần phát triển HTTT
- Việc xây dựng HTTT là một giải pháp cứu cánh trong cuộc
cạnh tranh cùng các đối thủ của nhiều doanh nghiệp.
- Một tổ chức thường XD HTTT khi
• Họ gặp phải những vấn đề làm cản trở hoặc hạn chế
không cho phép họ thực hiện thành công những điều
mong đợi
• Muốn có ưu thế, năng lực để có thể vượt qua thách thức
và chớp lấy cơ hội
• Do yêu cầu của đối tác
1.1 Khái niệm về hệ thống thông tin

1.1.5 Những nội dung cơ bản của việc phát triển


HTTT

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

1 Xác định yêu cầu của người sử dụng

21 Phát triển bản mẫu đầu tiên

31 Sử dụng bản mẫu làm việc với người sử dụng

41 Hoàn thiện và tăng cường bản mẫu


1.4 Các phương pháp khác nhau phát
triển HTTT
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.3 Mô hình xoắn ốc
Quá trình phát triển hệ thống được tiến hành qua một loạt các bước lặp.
Mỗi bước lặp gồm 4 hoat động chính:
- Lập kế hoạch: Xác định mục tiêu, giải pháp ràng buộc
- Phân tích rủi ro: Phân tích các phương án và xác định, giải quyết rủi ro.
- Kỹ nghệ: Phát triển sản phẩm
- Đánh giá của khách hàng: Khẳng định kết quả của kỹ nghệ.
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.4 Phương pháp sử dụng phần mềm đóng gói
Đó là những chương trình ứng dụng viết sẵn ở dạng mã máy
dành cho những lớp bài toán cụ thể.
Sau khi phân tích, thiết kế, người ta chọn các gói phần mềm
thích hợp. Khi đó tổ chức không cần viết chương trình mà chỉ
cần cài đặt nó để sử dụng.
Để chọn được các phần mềm đóng gói thích hợp, cần đánh giá
nó theo nhiều tiêu chuẩn khác nhau
1.4 Các phương pháp khác nhau phát
triển HTTT
- Chức năng: Gói chương trình có thể đáp ứng chức năng gì?
- Tính mềm dẻo: Gói phần mềm có dễ cải biến, dễ mở rộng
không?
- Tính thân thiện: Chương trình có dễ sử dụng và kiểm tra
hay không?
- Yêu cầu kỹ thuật: Cấu hình máy tối thiểu
- Cài đặt và bảo trì: Có khó khăn gì để chuyển đổi từ hệ
thống hiện hành sang hệ thống làm việc với gói phần mềm
- Tài liệu: Tài liệu cho người dùng, tài liệu hệ thống
- Chất lượng người bán: Người bán có kinh nghiệm trong
lĩnh vực nào?
- Giá thành: Giá bán, giá thuê phần mềm.
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.5 Phát triển hệ thống do người dùng thực hiện
Trong nhiều tổ chức, người dùng cuối cùng phát triển
một phần đáng kể HTTT với sự giúp đỡ của các
chuyên gia tin học
1.4 Các phương pháp khác nhau phát
triển HTTT
1.4.6 Phương pháp thuê bao
Một tổ chức có thể thuê một công ty chuyên nghiệp
xây dựng và vận hành hệ thống để cung cấp dịch vụ
cho họ
1.5 Xây dựng thành công HTTT

Một HTTT như thế nào được xem là thành công?


Một HTTT được xem là hiệu quả nếu góp phần nâng cao
chất lượng hoạt động quản lý tổng thể của một tổ chức
được thể hiện trên các mặt
- Đạt được các mục tiêu thiết kế đề ra
- Chi phí vận hành là chấp nhận được
- Tin cậy, đáp ứng được các chuẩn mực HTTT
- Sản phẩm có giá trị xác đáng
- Dễ đọc, dễ nhớ và dễ sử dụng
- Mềm dẻo, dễ bảo trì: có thể kiểm tra, mở rộng ứng
dụng và phát triển được
1.6 Sơ đồ tổng quát quá trình phân tích
thiết kế HTTT
Các nhiệm vụ phân tích
 Phân tích nghiệp vụ
 Phân tích các yêu cầu nghiệp vụ và vai trò của hệ
thống trong việc thực hiện các yêu cầu nghiệp vụ
này
 Đưa ra các quy trình nghiệp vụ “mới” và các chính
sách
 Phân tích hệ thống
 Xác định công nghệ sử dụng
 Thiết kế các quy trình nghiệp vụ đề xuất và HTTT
theo quy chuẩn
51
Các nhiệm vụ …
 Phân tích cơ sở hạ tầng
 Xác định và đảm bảo hệ thống tương thích với cơ
sở hạ tầng (đã có và/hoặc sẽ xây dựng)
 Phân tích và quản lý biến động
 Quản trị dự án
 Quản lý các nhóm làm việc
 Xây dựng và quản lý tiến độ dự án
 Lập kế hoạch và điều phối sử dụng các tài nguyên

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

You might also like