M ÔI TRƯỜNG HỆ THỐNG TỔ CHỨC Là những thành phần bên ngoài tổ chức tác động lên tổ chức nhằm cung cấp đầu vào cũng như nhận các đầu ra của tổ chức như là hàng hóa, nguyên vật liệu, thôn
Trang 1PHÂN TÍCH THIẾT KẾ HỆ THỐNG THÔNG TIN
TS Trần Mạnh Tuấn
Bộ môn Hệ thống thông tin, Khoa CNTT
Trường đại học Thủy Lợi
Website: https://sites.google.com/site/tranmanhtuantlu/
Điện thoại: 0983668841; Email: tmtuan@tlu.edu.vn
Bài 1:
Tổng quan môn học
Trang 2THÔNG TIN MÔN HỌC
https://sites.google.com/site/tranmanhtuantlu/cac-mon-day/pttkhttt/
2
Trang 3THÔNG TIN MÔN HỌC
Mô tả môn học :
dụng của hệ thống thông tin, đặc biệt là hệ thống thông tin quản lý;
phương pháp phân tích hệ thống theo hướng đối tượng
viên thực hiện đầy đủ các bước tìm hiểu, phân tích
và thiết kế hệ thống thông tin thông qua việc giao cho sinh viên những bài tập lớn
3
Trang 4THÔNG TIN MÔN HỌC
Kiến thức đạt được:
bao gói, kế thừa, phân cấp, mô đun hóa, và đa hình để tạo ra các thiết kế tốt
Trang 5THÔNG TIN MÔN HỌC
Kiến thức đạt được:
bao gói, kế thừa, phân cấp, mô đun hóa, và đa hình để tạo ra các thiết kế tốt
Trang 6 Hình thức tổ chức giảng dạy:
giảng dạy, trao đổi thông tin với sinh viên
hành, sinh viên chuẩn bị bài tập & bài tập lớn ở nhà, sinh viên lên lớp thực hành trao đổi các nội dung đã chuẩn bị
Trang 7 Tổ chức nhóm bài tập lớn (dự kiến)
thực hành
Hoàn thành tài liệu đặc tả yêu cầu
Hoàn thành tài liệu Phân tích và thiết kế
thời hạn
7
Trang 8THÔNG TIN MÔN HỌC
Tài liệu tham khảo:
Bài giảng của giáo viên
Trương Ninh Thuận, Đặng Đức Hạnh, “Giáo Trình Phân tích và Thiết kế
hướng đối tượng”, NXB ĐH Quốc Gia Hà Nội, 2013
Ian Sommerville, Software Engineering, 8 th Edition, Addison Wesley, 2007
Đặng Văn Đức, “Phân tích thiết kế hướng đối tượng bằng UML”, NXB Giáo
Dục
Nguyễn Văn Vỵ, “Phân tích thiết kế: hướng cấu trúc và hướng đối tượng”,
NXB Thống kê, 2002
Nguyễn Văn Ba, “Phát triển hệ thống hướng đối tượng với UML 2.0 và C++”
Huỳnh Văn Đức, Hoàng Đức Hải, “Giáo trình nhập môn UML”, NXB Lao
động xã hội
Grady Booch, “Object Oriented Analysis and Design with Applications”
Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, “Design
Patterns – Elements of Reusable Object Oriented Software”
8
Trang 9T HỰC HÀNH
Thực hiện BTL môn học:
• Xây dựng mô hình dữ liệu ERD dùng phân mềm: MS Visio, Software Ideas Modeler, v.v
• Quản lý CSDL với SQL Server, MySQL
• Ngôn ngữ lập trình tùy chọn: C++, C#, Java, …
Trang 10NỘI DUNG MÔN HỌC
Trang 11Chương 1
TỔNG QUAN VỀ PHÂN TÍCH VÀ THIẾT KẾ
HTTT
Trang 13H Ệ THỐNG
Hệ thống là tập hợp các yếu tố, thành phần, đơn vị cùng loại hoặc cùng chức năng có quan hệ hoặc liên hệ chặt chẽ với nhau làm thành một thể thống nhất, nhằm đạt đến những mục đích xác định
Hệ thống còn là tập hợp những tư tưởng những nguyên tắc, quy tắc liên kết với nhau một cách logic làm thành một thể thống nhất
Vd: Hệ thống tư tưởng, hệ thống các quy tắc ngữ pháp,
hệ thống đường sắt, hệ thống tín hiệu giao thông, …
Trong một hệ thống, mỗi thành phần có thể có những chức năng riêng nhưng khi kết hợp lại chúng có những chức năng đặc biệt
Trang 14C ẤU TẠO CỦA H Ệ THỐNG
Giao diện (interface)
Đầu vào (input)
Đầu ra (output)
Ràng buộc
(constraints)
Đầu vào Thành
phần Giới hạn
Đầu ra Giao
diện
Liên hệ giữa các thành phần
Trang 15…
Phòng kinh doanh Kho
…
Xem Đại lý băng đĩa ABC nhƣ một hệ thống
Trang 16H Ệ THỐNG ( VÍ DỤ )
Xem máy chơi nhạc CD nhƣ một hệ thống
Thành phần đọc tín hiệu
Thành phần khuếch đại tín
hiệu
Thành phần chuyển đổi tín
hiệu
Thành phần điều khiển tín
Trang 17sự tồn tại và phát triển
của tổ chức
thực hiện vật lý hoạt động
của tổ chức (trực tiếp sản
xuất, thực hiện dịch vụ) dựa
trên mục tiêu và phương
Trang 18HỆ THỐNG TỔ CHỨC
trường kinh tế xã hội, bao gồm các thành phần được tổ chức kết hợp với nhau hoạt động nhằm đạt đến một mục tiêu kinh tế,
xã hội Trong trường hợp này được gọi là hệ
thống tổ chức kinh tế xã hội
Mục tiêu
Mục tiêu lợi nhuận
Đặt ra trong các hoạt động kinh doanh Ví dụ: bán hàng, sản
xuất,…
Mục tiêu phi lợi nhuận
Đặt ra trong các hoạt động xã hội Ví dụ: hoạt động từ thiện, y
tế,…
Đặc điểm chung: do con người tạo ra và có sự tham gia của con người
Trang 19 Mục tiêu: phi lợi nhuận, các dịch vụ của tổ chức nhằm trợ giúp
về tinh thần, vật chất cho con người
Ví dụ: từ thiện (UNICEP), y tế, giáo dục,…
Kinh tế
Mục tiêu: lợi nhuận, hiệu quả kinh tế Tạo ra giá trị hàng hóa,
dịch vụ phục vụ cho đời sống con người
Ví dụ: sản xuất sản phẩm, bán hàng, xuất nhập khẩu, ngân
hàng, vận chuyển, điện thoại,…
H Ệ THỐNG TỔ CHỨC
Trang 20M ÔI TRƯỜNG HỆ THỐNG TỔ CHỨC
Là những thành phần bên ngoài tổ chức tác động lên tổ
chức nhằm cung cấp đầu vào cũng như nhận các đầu ra của tổ chức như là hàng hóa, nguyên vật liệu, thông tin,…
Môi trường kinh tế: khách hàng, nhà cung ứng, ngân hàng,…
Môi trường xã hội: nhà nước, công đoàn,…
Biến đổi Môi trường
hàng hoá dịch vụ tiền
Trang 21 Ví dụ: Đại lý băng đĩa ABC
…
Trang 22Nhà cung cấp
(2) : Đơn đặt hàng đã đƣợc kiểm tra hợp lệ
gởi cho văn phòng để theo dõi và kho để
(5) : Băng đĩa giao từ nhà cung cấp vào kho
(6) : Phiếu nhập hàng gởi cho văn phòng để
Trang 23T HÔ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ủ thể phản
ánh
Đối tượng tiếp
nhận
Trang 25T HÔNG TIN & DỮ LIỆU
Dữ liệu môn
học
Bảng điểm tổng hợp
Dữ liệu SV
Trang 26N Ộ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ể
Trang 27 Là hệ thống được tổ chức thống nhất từ trên xuống dưới, có chức năng xử lý, phân tích, tổng hợp thông tin, giúp các “nhà quản lý” quản lý tốt
cơ sở của mình, trợ giúp ra quyết định hoạt động kinh doanh
Là một hệ thống quản lý được phân thành nhiều cấp từ trên xuống dưới và chuyển từ dưới lên trên
H Ệ THỐNG THÔNG TIN
Trang 28H OẠT ĐỘNG CỦA HỆ THỐNG THÔNG TIN
Các yêu cầu thông tin
Xác định dữ liệu cần thiết
Tham khảo dữ liệu
Dữ liệu
Thu thập, điều chỉnh dữ liệu
Nguồn thông tin dữ liệu
hoạt động Thành phần
Trang 29Quản lý
HTTT-HTTT-Tác vụ
Trang 30C ÁC HỆ THỐNG THÔNG TIN
Trang 31C ÁC HỆ THỐNG THÔNG TIN
HTTT tác vụ (TPS):
- Đặc điểm:
- Ghi nhận, tìm kiếm, phân loại
thông tin, sắp xếp và tổ chức lưu
-Mục đích: đáp ứng cho việc theo dõi, quản lý,
đánh giá về tình hình và hoạt động của hệ
thống hiện hành
-Đối tượng: trưởng, phó phòng và lãnh đạo của
các chi nhánh
HTQĐ, HCG, HCĐ
Quản lý
HTTT-HTTT-Tác vụ
Trang 32C ÁC HỆ THỐNG THÔNG TIN
Hệ hỗ trợ ra quyết định (DSS)
-Đặc điểm: sử dụng dữ liệu quá khứ
để đánh giá về các tình huống thay
thế hoặc tình huống chọn lựa trong
tương lai
-Mục tiêu: Trợ giúp các nhà quản lý
có cơ sở để quyết định hoạt động
- Đối tượng: các nhà quản lý cấp
cao, nhà phân tích kinh doanh,…
HTTT chỉ đạo (EIS)
- Đặc điểm: các nhà lãnh đạo cấp cao
như ban giám đốc có thể bắt đầu việc khai thác dữ liệu ở mức độ tổng hợp cao rồi đi xuống các vùng dữ liệu chi tiết cụ thể để theo dõi hoạt động của từng chi nhánh và của toàn bộ công ty theo từng yêu cầu
Hệ chuyên gia (ES)
-Đặc điểm:
-Họat động thông qua hộp thọai
tương tác
-Đặt ra câu hỏi để người dùng trả lời,
dựa vào kết quả trả lời, ES sẽ cung
cấp các đề nghị dựa vào các luật
-Đối tượng: các nhà quản lý cấp cao, nhà
phân tích kinh doanh
HTQĐ, HCG, HCĐ
Quản lý
HTTT-HTTT-Tác vụ
Trang 33 Mục tiêu: hiệu quả luân chuyển, xử lý
dữ liệu, giao tiếp với các TPS khác
- Tiếp cận hướng xử lý
- Thu thập, kiểm tra tính hợp lệ, lưu trữ
dữ liệu, luân chuyển giữa các bước xử
- Hiểu mối quan hệ giữa các thành phần
dữ liệu => truy cập, tổng hợp dữ liệu theo nhiều cách khác nhau
- Xây dựng một mô hình dữ liệu phục vụ nhiều mục đích sử dụng khác nhau
DSS
Định hướng xác định vấn đề, tìm kiếm và đánh giá các giải pháp, lựa chọn và so sánh các giải pháp
Liên quan đến các nhóm hoặc các nhà quyết định
Thường liên quan đến các vần đề phức tạp và nhu cầu truy cập dữ liệu
ở nhiều mức độ chi tiết khác nhau
- Tiếp cận hướng dữ liệu và quyết định luận lý
- Thiết kế đối thoại người dùng
Trang 35N HIỆM VỤ - VAI TRÒ CỦA HTTT
gồm bộ xử lý, thông tin đầu vào (input), thông tin đầu ra (output) và thông tin phản hồi của hệ thống
Hộp đen (Black box)
Phản hồi (feed back)
Output Input
Trang 36N HIỆM VỤ CỦA HTTT
Đối ngoại:
o Thu nhận thông tin từ môi trường ngoài
o Đưa thông tin ra ngoài
Thí dụ như thông tin về giá cả, thị trường, sức lao động, nhu cầu hàng hóa, v.v
Trang 38B IỂU DIỄN HTTT
Các thành phần
Dữ liệu Xử lý CPU Con
người
truyền thông
Các mức nhận thức
Quan niệm
Tổ chức Vật lý
Các bước phát triển - Kế hoạch
-Nghiên cứu khả thi
Trang 39K HÔNG GIAN 3 MỨC NHẬN THỨC
Mức quan niệm:
Biểu diễn HTTT ở góc độ trừu tượng hóa, biểu diễn yêu cầu hệ thống
Độc lập với tin học, kỹ thuật và phương tiện vật lý, ngôn ngữ thể hiện
là ngôn ngữ phi tin học
Câu hỏi chính là “cái gì?”
Biểu diễn HTTT trong một môi trường cụ thể
Gắn liền với thiết bị phần cứng, phần mềm, …, kỹ thuật và phương tiện vật lý
Gắn liền với kiến trúc tin học
+ Kiến trúc client-server
+ Kiến trúc phân tán
+ Kiến trúc tổng hợp (lai)
Câu hỏi chính là “như thế nào?”
Ngôn ngữ thể hiện mức vật lý là ngôn ngữ tin học
Trang 40Hệ thống vật lý hiện
tại
Hệ thống quan niệm (luận lý) mới
Trang 41T ƢƠNG TÁC GIỮA DỮ LIỆU VÀ XỬ LÝ
TT, DL khai thác
Nguồn cung
cấp
Nguồn khai thác
TT, DL thu thập từ bên ngoài
TT chuyển giao
Trang 425 THÀNH PHẦN CỦA HTTT
đổi thông tin giữa các bộ xử lý Điện thoại, fax, LAN, WAN, internet,…
PC
PC Server
Trang 44TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM
Các hoạt động phát triển phần mềm có thể biểu diễn bằng mô hình thác nước
Vòng đời (life cycle) phần mềm
Tiến trình phát triển sản phẩm phần mềm
Phân tích yêu cầu
Thiết kế
Viết chương trình Kiểm thử mođun
Tích hợp và kiểm thử hệ thống
Chuyển giao
Trang 45MÔ HÌNH THÁC NƯỚC
Nhận xét mô hình thác nước
Khó phân biệt rõ ràng giới hạn các pha, nhiều pha gối lên nhau và cung cấp thông tin cho nhau
Khi thiết kế mới nhận ra các yêu cầu mới
Khi viết mã trình nhận thấy một vài thiết kế có vấn đề
Khi bảo trì hiệu năng, có thể thực hiện lại một vài hay toàn bộ các bước trước đó
Tiến trình phát triển không phải là mô hình tuyến tính
mà là trình tự lặp các hoạt động phát triển
Tiến trình phát triển bao gồm các lặp thường xuyên
Khó nhận ra các điểm mấu chốt để lập kế hoạch và báo cáo kết quả
Do vậy, sau một vài lần lặp thường phải đưa ra các vật phẩm như đặc tả để tiếp tục các bước sau
Đôi khi rất khó phân hoạch các hoạt động phát triển trong
dự án thành các bước trong mô hình
Trang 46TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM
Thu thập và phân tích yêu cầu là công việc rất khó
khăn
Các yêu cầu thường là không hoàn chỉnh
Yêu cầu của khách hàng thường được mô tả bằng khái niệm, đối tượng và các thuật ngữ khó hiểu với kỹ sư tin học
Các yêu cầu của khách hàng thường thiếu cấu trúc, thiếu chính xác, dư thừa, phỏng chừng, thiếu nhất quán
Các yêu cầu thiếu tính khả thi
Do vậy
Bất kỳ tiến trình phát triển nào đều bắt đầu từ thu thập và phân tích yêu cầu
Các hoạt động trong SDP và các kết quả liên quan
hình thành pha đầu tiên của tiến trình và gọi nó là
Phân tích yêu cầu
Trang 47THU THẬP VÀ PHÂN TÍCH YÊU CẦU
Mục tiêu
Hình thành tài liệu đặc tả yêu cầu (Requirement Specification)
Tài liệu đặc tả yêu cầu được sử dụng như
Cam kết giữa khách hàng và tổ chức phát triển hệ thống về cái mà hệ thống có thể làm (và cái mà hệ thống không thể làm)
Cơ sở để đội ngũ phát triển phát triển hệ thống
Mô hình tương đối đầy đủ về cái hệ thống đòi hỏi
Tiến trình phân tích yêu cầu bao gồm các hoạt động lặp
Understanding Requirement Capture
Feasibility Study Validation Classification
Developer
Client
Domain Expert
User
Trang 48CÁC HOẠT ĐỘNG CỦA PHÂN TÍCH YÊU CẦU
Hiểu lĩnh vực vấn đề (Understanding)
Phân tích viên trình bày hiểu biết về lĩnh vực vấn đề
Khám phá các quan niệm
Suy ra các yêu cầu khách hàng
Thu thập yêu cầu (Requirement Capture)
Phân tích viên cần có cách thu thập nhu cầu khách hàng sao cho họ có thể cùng tham gia vào dự án
Phân tích viên, khách hàng, chuyên gia lĩnh vực ứng dụng và người
sử dụng hệ thống cùng phát hiện và thu thập yêu cầu
Kỹ năng trừu tượng là rất quan trọng để thu thập những cái chính, bỏ qua cái không cần thiết
Phân lớp
Đánh giá
Nghiên cứu khả thi
Trang 49V AI TRÒ CỦA MỘT P HÂN T ÍCH V IÊN
Là chìa khóa trong quy trình phát triển HTTT
Nghiên cứu các vấn đề và các nhu cầu cần thiết của tổ chức
Giúp người sử dụng định nghĩa những yêu cầu mới, làm tăng khả năng cung cấp các dịch vụ thông tin
Thu thập thông tin
Là cầu nối, trung gian giữa các đối tượng tham gia xây dựng HTTT
Thường là người lãnh đạo dự án
Trang 50Y ÊU CẦU ĐỐI VỚI MỘT PTV
Kỹ năng phân tích
Hiểu được tổ chức và các hoạt động của tổ chức
Nhận ra các cơ hội và các vấn đề thách thức của tổ chức
Kiến thức về nghiệp vụ hệ thống
Khả năng xác định vấn đề, nắm bắt và hiểu thấu đáo
những yêu cầu của người sử dụng
Khả năng phân tích và giải quyết vấn đề
Lối tư duy hệ thống: tiếp cận đối tượng một cách toàn cục
rồi phân rã thành các vấn đề con
Trang 51Y ÊU CẦU ĐỐI VỚI MỘT PTV
Kỹ năng kỹ thuật:
Kiến thức về kỹ thuật máy tính
Hiểu rõ tiềm năng và hạn chế của CNTT, phần cứng, phần
mềm và các công cụ liên quan
Nắm vững các ngôn ngữ lập trình trên nền các HĐH và
các phần cứng khác nhau
Khả năng ứng dụng thành tựu công nghệ thông tin vào
giải quyết những vấn đề thực tế
Trang 52Y ÊU CẦU ĐỐI VỚI MỘT PTV
Kỹ năng quản lý:
Quản lý tài nguyên: quản lý và sử dụng hiệu quả
Dự đoán tài nguyên sử dụng (ngân sách)
Theo dõi và tính toán tài nguyên tiêu thụ
Sử dụng tài nguyên một cách hiệu quả
Đánh giá chất lƣợng tài nguyên sử dụng
Bảo đảm an toàn, tránh lạm dụng tại nguyên
Thanh lý những tài nguyên không cần thiết và quá hạn
Quản lý dự án
Quản lý rủi ro: khả năng dự đoán, phát hiện các rủi ro của dự
án và khả năng giảm thiểu các rủi ro đó
Quản lý những thay đổi trong yêu cầu hệ thống
Trang 53C ÁC YÊU CẦU CỦA MỘT PHÂN TÍCH VIÊN HỆ THỐNG
Kỹ năng giao tiếp
Kỹ năng trao đổi
Phỏng vấn, lắng nghe, đặt câu hỏi
Kỹ năng viết tốt
Trình bày vấn đề mạch lạc, rõ ràng qua văn bản, qua buổi
giới thiệu với các thành viên, hội thảo,…
Làm việc độc lập hoặc theo nhóm
Quản lý định hướng của hệ thống
Trang 54CÁC HOẠT ĐỘNG CỦA PHÂN TÍCH YÊU CẦU
Gắn mức ưu tiên cho các yêu cầu theo tầm quan trọng của chúng đối với khách hàng và người sử dụng
Đánh giá (Validation)
Kiểm tra xem các yêu cầu có nhất quán và đầy đủ
Giải quyết các mâu thuẫn giữa các yêu cầu
Nghiên cứu khả thi (Feasibility study)
Dự báo khả năng thỏa mãn sử dụng phần cứng, phần mềm của các yêu cầu đã nhận ra
Quyết định các bước tiếp theo nếu hệ thống đề xuất có hiệu quả