Post on 05-Mar-2016
description
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 1/65
Phân tích và đặc tảyêu c ầu
Lê ThịMỹHạnhKhoa Công ngh ệ Thông tin
Trường Đại học Bách khoa, Đà Nẵng
NỘI DUNG Đại cương v ềphân tích và đặc tảN ền tảng của phân tíchPhân tích và n ắm bắt yêu c ầu
Đặc tảyêu c ầuThẩ m định yêu c ầuMột số phương pháp và công c ụhỗ trợ
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 2/65
Phân tích và đặc tả
Xác định và phân tích yêu c ầu là khâu k ỹthuật đầu tiên c ủa quá trình phát tri ể n ph ầnm ềm.
Xác định các ch ứ c năng/d ịch vụmà khách hàngyêu c ầu từ hệ thố ngCác ràng bu ộc mà hệthố ng được phát tri ể n vàvận hành.
Là sự phố i hợp của nhà phát tri ể n và kháchhàng.Quyế t định chấ t lượng ph ần m ềm đạt đượcvà chi phí bỏ ra.
Phân tích và đặc tảMục đích: Đặc tảyêu c ầu ph ần m ềm
Cơ sở cho việc mời th ầu (c ần có giảithích)cơ sở để ký k ế t hợp đồng (c ần đầyđủchi tiế t)Làm tư liệu phục vụ thiế t k ế và triể nkhai (c ần đầy đủ , chính xác, khôngmâu thu ẫn)
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 3/65
Yêu c ầu là gì?
Các yêu c ầu là các mô t ả từ mứ c tr ừ u t ượng r ấ tcao đế n m ột đặc ta r ấ t chi ti ế t v ềdịch vụmà hệthố ng c ần cung c ấ p cũng nh ư các ràng bu ộc lên sự phát tri ể n và họat động của nó.
Yêu c ầu là:
Năng lự c của ph ần m ềm mà ng ười sử dụng c ần để giải quyế tvấ n đề đặt ra nh ằm đạt được mục đích xác địnhNăng lự c của ph ần m ềm c ần có nh ằm thỏa mãn m ột hợpđồng, một chuẩ n, một đặc tả.
Bài toán
•Hiểu vấn đề•Chi tiết hóa•Biểu diễn lại Đặc t ả
Vai tròCó vai trò đặc biệt quan tr ọng trongtiế n trình phát tri ể n ph ần m ềm.
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 4/65
Phân loại yêu c ầu Yêu c ầu người dùngDiễn đạt bằng ngôn ng ữ tự nhiên và s ơ đồ
Nêu rõ d ịch vụhệ thố ng cung c ấ p và các ràngbuộc trong ho ạt động của nó.
Yêu c ầu hệ thố ngMô tả đủchi tiế t v ềcác d ịch vụhệ thố ngNhư một hợp đồng giữ a khách hàng và nhà th ầu
Đặc tảph ần m ềmMô tảchi tiế t v ềph ần m ềm làm cơ sở cho thiế t k ế và cài đặtDành cho ng ười phát tri ể n
Đố i tượng đọc yêu c ầu
Yêu c ầ u vi ế t ra c ầ n đ áp ứ ng đượ c t ấ t c ả các đố i t ượ ng này.
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 5/65
Các loại yêu c ầuCác yêu c ầu chứ c năng
Mô tảcác chứ c năng hay các d ịch vụmà hệ thố ngph ần m ềm c ần cung c ấ p.
Các yêu c ầu phi ch ứ c năngMô tảcác ràng bu ộc đặt lên d ịch vụvà quá trìnhphát tri ể n hệ thố ng (v ềchấ t lượng, v ề môi trường,chuẩ n sử dụng, qui trình phát tri ể n..)
Các yêu c ầu mi ền/l ĩ nh vự cNhữ ng yêu c ầu đặt ra t ừ mi ền ứ ng dụng, ph ảnánh đặc trư ng của mi ền đó.
Yêu c ầu chứ c năngMô tảchứ c năng hay các d ịch vụcủa hệ thố ngChúng ph ụ thuộc vào:
Loại ph ần m ềm sẽ được xây dự ngSự mong mu ố n của khách hàng
Loại hệ thố ng mà ph ần m ềm trợgiúpMứ c độcác yêu c ầu
Trừ u tượng: hệ thố ng làm gìChi tiế t: dịch vụcụ thể hệ thố ng th ự c hiện
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 6/65
Yêu c ầu chứ c năng
Ví dụNgười sử dụng có th ể tìm kiế m tài liệu dự a trên t ừ khóa có trong tài li ệu hoặc tên tài li ệuHệ thố ng c ần cug c ấ p cho ng ười sử dụng ph ươngtiện hiể n th ị dễdàng các tài li ệu từ CSDLHệ thố ng ph ải đọc được các d ịnh dạng khác nhaucủa tài liệu: text, doc, pdf, ppt, b ảng tính excel,..
Yêu c ầu chứ c năngSự không chính xác c ủa yêu c ầu
Yêu c ầu không được phát bi ể u chính xác Yêu c ầu nhập nhằng có thể được hiể u khác nhau gi ữ a ngườisử dụng và ng ười phát tri ể n
Ví dụ: yêu c ầu “hiể n th ị dễdàng” Người sử dụng: có th ể hiể n th ị các loại tài liệkhác nhauNgười phát tri ể n: cung c ấ p giao diện hiể n th ị tài liệu ởchế độ văn bản
Trên nguyên t ắc yêu c ầu phải thỏa mãn Đầy đủ: yêu càu ph ải mô tả đầy đủcác chứ c năng c ần thiế tGắn bó: các yêu c ầu không mâu thu ẫn nhau
Thự c tế không đơn giản để có các yêu c ầu đầy dủvàgắn bó
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 7/65
Yêu c ầu phi ch ứ c năng
Định ngh ĩ a các tính ch ấ t và ràng bu ộc của hệ thố ng Yêu c ầu tiế n trìnhPhương pháp thi ế t k ế Ngôn ngữ lập trìnhCông cụsử dụng
Thời gian trả lời Độtin cậy Yêu c ầu v ề lư u trữ dữ liệu
Yêu c ầu phi ch ứ c năng có thể quan tr ọng hơn yêu c ầu phi ch ứ cnăng
Nế u yêu c ầu phi chứ c năng không được đáp ứ ng hệ thố ng trởnênvô dụng
Yêu c ầu phi ch ứ c năng Yêu c ầu v ềsản phẩ m
Tố c độ, độ tin cậy, bộnhớc ần, giao di ện…
Yêu c ầu v ềtổchứ c, tiế n trình phát tri ể n
Các chuẩ n áp d ụng, ph ương pháp thi ế t k ế ,ngôn ng ữ lập trình, mô hình ti ế n trình,..
Yêu c ầu từ bên ngoài V ềchi phí, v ềbản quy ền, liên k ế t,..
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 8/65
Các loại yêu c ầu phi ch ứ c năngYêu cầuPhi chức năng
Yêu cầuSản phẩm
Yêu cầuvề tổ chức
Yêu cầutừ bên ngoài
Yêu cầuKhả dụng
Yêu cầuHiệu quả
Yêu cầuTin cậy
Yêu cầuKhả chuyển
Yêu cầu hoạtđộng bên trong
Yêu cầu Đạo lý
Yêu cầuPháp lý
Yêu cầuchuyển giao
Yêu cầuTriển khai
Yêu cầuvề chuẩn
Yêu cầuCá nhân
Yêu cầuvề an toàn
Yêu cầuvề hiệu năng
Yêu cầukhông gian
Yêu c ầu phi ch ứ c năng Ví dụ
Yêu c ầu v ề sản ph ẩ mPh ần m ềm ch ỉ nên yêu c ầu t ố i đa 256 MB b ộ nh ớ
Yêu c ầu vê t ổ chứ c Yêu c ầu ph ải đáp ứ ng chu ẩ n DO178
Yêu c ầu bên ngoàiHệ th ố ng không được để lộ thông tin cá nhân c ủakhách hàng ra bên ngoài
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 9/65
Yêu c ầu người sử dụng(user requirements)
Nên mô t ả Yêu c ầu chứ c năng Yêu c ầu phi ch ứ c năng
Dể hiể u đố i với người sử dụngKhông có kiế n thứ c chi tiế t v ềk ỹ thuật/tin h ọc
Nên mô t ảBằng ngôn ng ữ tự nhiên
Biể u đồ, bảng biể u
Ngôn ngữ tự nhiên (NNTN) Ư u điể m
Dễhiể uDễsử dụng
Hạn chế
Không rỏ ràng, thi ế u chính xácNhập nhẵngLẫn lộn giữ a yêu c ầu chứ c năng và yêu c ầu phichứ c năngQuá m ềm dẻo
Có thể trình bày nhi ều cách
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 10/65
Giải pháp thay th ế cho NNTN
Ngôn ngữ có cấ u trúcSử dụng ngôn ng ữ g ần g ũi với ngôn ng ữ lập trình
Các mô hìnhCác ký hiệu đồhọa
Ký hiệu tóan h ọc
Ngôn ngữ hình th ứ c
Yêu c ầu hệ thố ng(System Requirements)
Là đặc tảchi tiế t hơn yêu c ầu người sử dụngPhục vụ cơ bản cho b ước thiế t k ế Có thể sử dụng làm m ột ph ần của hợpđồngCó thể sử dụng các mô hình để mô tả
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 11/65
Tài liệu yêu c ầuChỉmô tảv ềchứ c năng (các hành vi bênngòai) c ủa hệ thố ng và các ràng bu ộc(WHAT)Không mô t ảv ề phương th ứ c cài đặt (HOW)
– không ph ải là tài liệu thiế t k ế Phải dễ thay đổi
Khó xác định được đầy đủ, chính xác ngayPhải qua nhi ều bước xét duy ệt lại
Sử dụng nh ư là tài liệu tham kh ảo khi bảo trì Đặc tả trả lời các sự kiện không mong đợi
Tài liệu yêu c ầuKhó khăn
Khách hàng ch ỉ có khái niệm mơ h ồngười phát tri ể n phải chi tiế t hóa thành các yêuc ầu ph ần m ềm có th ể xây dự ng được
Khách hàng r ấ t hay thay đổi yêu c ầungười phát tri ể n c ần t ỉnh táo để xác định đúngcác yêu c ầu
Các yêu c ầu thường mang tính đặc thùKhó hiể u, khó định ngh ĩ aKhông có chuẩ n biể u diễn
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 12/65
Tài liệu yêu c ầuKhó khăn
Hệ thố ng đa người sử dụngCác yêu c ầu đa dạng, mứ c ư u tiên khác nhau
Yêu c ầu mâu thu ẫn nhau
Người đặt hành khác ng ười sử dụng th ật sự Không nắm vữ ng yêu c ầu
Cấ u trúc c ủa tài liệu yêu c ầuGiới thiệuThuật ngữ
Định ngh ĩ a yêu c ầu người sử dụngKiế n trúc h ệ thố ng
Đặc tảyêu c ầu hệ thố ngMô hình hệ thố ngPhát triể n/thay đổi của hệ thố ngPhụ lụcChỉmục
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 13/65
Định dạng của tài liệu yêu c ầuTheo chu ẩ n IEEE 830-1984
1. Giới thiệu2. Mô tảchung3. Yêu c ầu chi tiế t
Định dạng của tài liệu yêu c ầu1. Giới thiệu
1.1. Mục đích1.2. Ph ạm vi1.3. Định ngh ĩ a ( định ngh ĩ a, từ viế t tắt)1.4. Tài liệu tham kh ảo1.5. Mô tảcấ u trúc tài li ệu
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 14/65
Định dạng của tài liệu yêu c ầu2. Mô tảchung
2.1. Tổng quan v ềsản phẩ m2.2. Chứ c năng sản phẩ m2.3. Đố i tượng người dùng2.4. Ràng bu ộc tổng th ể 2.5. Giả thiế t và sự lệ thuộc
Định dạng của tài liệu yêu c ầu3. Yêu c ầu chi tiế t
3.1. Yêu c ầu v ềchứ c n ăng3.1.1. Ch ứ c n ăng 1
3.1.1.1. Gi ới thi ệu3.1.1.2. D ữ liệu vào3.1.1.3. X ử lý3.1.1.4. k ế t qu ả
3.1.2. Ch ứ c n ăng 2…3.1.n. Ch ứ c n ăng n
3.2. Yêu c ầu v ềgiao diện ngoài3.2.1. Giao di ện người dùng3.2.2. Giao di ện phân c ứ ng3.2.3. Giao di ện ph ần m ềm3.2.4. Giao di ện truy ền thông
3.3. Yêu c ầu hiệu suấ t3.4 Ràng bu ộc thiế t k ế 3.5. Thu ộc tính: - b ảo mật
- bảo trì3.6. Yêu c ầu khácPhụ lục
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 15/65
Các công đoạn phân tích và đặc tả
Phân tích bài tóanThu thập yêu cầuNghiên cứu khả thi Phân tích
yêu cầuXác địnhyêu cầu
Đặc tảyêu cầu
Báo cáokhả thi Tài liệu mô
tả hệ thốngTài liệu định
ngh ĩ a yêu cầuTài liệu đặctả yêu cầuThẩm định
Tài liệu yêu cầu
Quá trìnhhình thành
yêu cầu
Tiế n trình phân tích yêu c ầu
Hiểu miền
ứng dụng
Thẩm địnhyêu cầu
Phân loạiyêu cầu
Sắp xếp
ưu tiên
Đặc tảyêu cầu
Thu thậpyêu cầu
Giải quyếtmâu thuẩn
TàiliệumôtảHT
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 16/65
Phân tích bài tóan
Mô tảnghiệp vụMô tảcác lu ồng nghiệp vụ, các xử lý và vaitrò của con ng ười trong h ệ thố ng hiện tạiHiể u được nghiệp vụChủyêu tập trung vào các mi ền c ần tự động hoáHỗ trợ cho việc xác định các thay đổi và cảitiế n yêu c ầu trong h ệ thố ng mới
Phân tích bài tóanMô tảhệ thố ng
Mô tảhệ thố ng đềxuấ tMô tả lu ồng thông tin gi ữ a hệ thố ng đềxuấ t vàmôi trường của nó
Đáp ứ ng được các mô t ảnghiệp vụCải tiế n nghiệp vụhiện tạiDự a trên mô t ảnghiệp vụhiện tại
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 17/65
Thu thập yêu c ầuXác định tính kh ả thi của hệ thố ng
Kinh tế K ỹ thuật
Vận hànhXác định nh ữ ng người liên quan đế n hệthố ng và nh ữ ng người sử dụng cuố iXác định các ràng bu ộc khi sử dụng hệthố ng đềxuấ t
Thu thập yêu c ầuXác định phương pháp thu th ập yêu c ầu
Phỏng vấ nXác định các yêu c ầu nhập nhằng
Có thể sử dụng k ỹ thuật nguyên m ẫuXác định các yêu c ầu khác mà kháchhàng không yêu c ầu rỏ
Ví dụ: giao di ện dễsử dụng
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 18/65
Thu thập yêu c ầuK ế t quảcủa bước thu th ập yêu c ầu
Phát biể u v ềsự c ần thiế t và tính kh ả thiGiới hạn l ĩ nh vự c/chứ c năng của ph ầnm ềmDanh sách nh ữ ng người liên quan/s ử dụngph ần m ềmMô tả môi trường sẽvận hành ph ần m ềm
Danh sách các yêu c ầu ph ần m ềm đềxuấ tCác ràng bu ộc ph ần m ềm đềxuấ t
Thu thập yêu c ầuCác k ỹ thuật thu th ập yêu c ầu
Phỏng vấ nThự c hiện các cu ộc họp/hội thảoChuẩ n b ị bảng câu h ỏi đi ều tra
Chứ c năng mong đợi
Thời gian yêu c ầu hoàn thành d ự ánK ế t quảmột tiế n trình nghi ệp vụQuan sát h ọat động nghiệp vụhiện tại
Đế n nơi làm việc của khách hàng để khảo sát, quayphim,..
Tham khảo các chuyên gia trong l ĩ nh vự cHiể u rỏcác nghiệp vụchuyên môn ph ứ c tạp
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 19/65
Thu thập yêu c ầuPhỏng vấ nHiể u rỏnghiệp vụhiện tại
Hiể u rỏchi tiế t yêu c ầuHiể u rỏmong mu ố n thự c sự của khách hàngChuẩ n b ị
Lập danh sách đố i tượng, h ẹn gặp, lập k ế hoạch, chu ẩ n b ị câuhỏi, phương tiện,..
Câu hỏiCâu hỏi đóng – m ởCâu hỏi ngắn gọn, tập trung vào ch ủ đề
Cách thứ c tiế n hànhTheo nhóm, ít nh ấ t hai ng ườiPhân công h ỏi và ghi chép
Nghiên cứ u khả thiMục tiêu c ủa nghiên c ứ u khả thi là đi đế n k ế tluận:
Có nên phát tri ể n h ệ th ố ng hay không?
Nội dung nghiên c ứ u khả thi tập trung vào
nhữ ng câu h ỏi sau:H ệ th ố ng xây d ự ng s ẽ giúp gì cho t ổ ch ứ c? H ệ th ố ng xây d ự ng s ử d ụ ng công ngh ệ nào và kinh
phí bao nhiêu? H ệ th ố ng c ầ n tích h ợ p v ớ i h ệ th ố ng nào đ ang s ử d ụ ng?
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 20/65
Nghiên cứ u khả thi
Báo cáo kh ả thi được viế t dự a trên thông tin,báo cáo thu th ập được, nhữ ng đánh giá banđầu v ềhệ thố ng hiện tại và phác h ọa cácphương án d ự kiế n.Câu hỏi đặt ra cho ng ười của tổchứ c:
Cái gì xảy ra n ế u hệ thố ng không được triể n khai?Nhữ ng vấ n đềgì đang đặt ra c ần giải quyế t?Hệ thố ng được đềxuấ t giúp h ọ như thế nào?Nhữ ng tích h ợp gì c ần phải có?Công ngh ệmới gì, k ỹ năng gì c ần có?Nhữ ng tiện ích gì c ần sự trợgiúp từ hệthố ng?
Phân tích yêu c ầuNhữ ng khó kh ăn c ủa phân tích
Khách hàng th ường mơ h ồv ềcác yêu c ầu, khôngbiế t mình mu ố n cụ thể gì, dễ lẫn lộn giữ a yêu c ầu vàmong mu ố n.Họ thể hiện yêu c ầu theo thu ật ngữ riêngKhách hàng đa dạng có th ể đư a ra các yêu c ầu mâu
thuẫn.Nhữ ng yế u tố tổchứ c và chính sách có th ể ảnhhưởng đế n yêu c ầu
Yêu c ầu thường mang tính đặc thù, khó hi ể u, khó cóchuẩ n chung.Các yêu c ầu thay đổi trong quá trình phân tích: môitrường nghiệp vụ thay đổi,..
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 21/65
Phân tích yêu c ầu
Đôi khi còn g ọi là phát hi ện yêu c ầu.Nhà k ỹ thuật cùng v ới khách hàng (ng ườidùng, k ỹ sư , nhà qu ản lý, chuyên gia,..-ng ườiliên quan) làm rõ l ĩ nh vự c ứ ng dụng, các d ịchvụmà hệ thố ng c ần cung c ấ p và các ràngbuộc trong h ọat động của nó.Xây dự ng các mô hình phân tích để làm rõ
các yêu c ầu mi ền.
Phân tích yêu c ầuPhân loại yêu c ầu
Chứ c năngPhi chứ c năng
Yêu c ầu chứ c năng xuấ t phát t ừ các yêu c ầucủa khách hàng và nghi ệp vụ trong h ệ thố nghiện tại
Yêu c ầu phi ch ứ c năng th ường không l ộ rõThường do ng ười phát tri ể n đềxuấ t
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 22/65
Phân tích yêu c ầuMục tiêu, mong mu ố n và yêu c ầu
Mục tiêu, mong mu ố n: là cái h ướ ng t ớ i. Ví dụ: “Xây d ự ng giao di ện thân thi ện”
Yêu c ầu: là cái cụ thể kiể m tra được Ví dụ: “Giao diện đồhọa có các lệnh được chọnbằng menu”
Nhiệm vụcủa người phân tích là các xác định
đúng, đầy đủvà chính xác các yêu c ầu.
Nguyên lý phân tích yêu c ầu
Nguyên lý 1: Mô hình hóa mi ề n thông tin Phải hiể u và biể u diễn được mi ền thông tin(problem domain)
định danh d ữ liệu (đố i tượng, th ự c thể ) định ngh ĩ a các thu ộc tínhthiế t lập các m ố i quan h ệgiữ a các d ữ liệu
T ừ đ i ể n d ữ li ệ u, mô hình th ự c th ể m ố i quanh ệ ,mô hình khái ni ệ m
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 23/65
Nguyên lý phân tích yêu c ầu
Nguyên lý 2: Mô hình hóa ch ứ c n ă ng Bản chấ t của ph ần m ềm là biế n đổi thông tin
định danh các ch ứ c năng ( bi ế n đổ i thông tin )xác định cách th ứ c dữ liệu ( thông tin ) di chuyể ntrong h ệ thố ng ( lu ồ ng d ữ li ệ u )xác định các tác nhân t ạo dữ liệu ( ngu ồ n ) và tácnhân tiêu th ụdữ liệu ( đ ích )
Mô hình phân rã ch ứ c n ă ng, mô hình lu ồ ngd ữ li ệ u
Nguyên lý phân tích yêu c ầuNguyên lý 3: Mô hình hóa hành vi
Ph ần m ềm (hệ thố ng) có tr ạng thái (hành vi)xác định các tr ạng thái c ủa hệ thố ng
ví dụ: giao diện đồhọa, section trong ứ ng dụng web
xác định các d ữ kiện làm thay đổi hành vi h ệthố ngví dụ: bàn phím, chu ột, các c ổng thông tin...
Bi ể u đồ tr ạ ng thái
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 24/65
Nguyên lý phân tích yêu c ầu
Nguyên lý 4: Phân ho ạ ch các mô hình Làm mịn, phân ho ạch và biể u diễn cácmô hình ở các mứ c khác nhau
làm m ịn các mô hình d ữ liệutạo cây (mô hình) phân rã ch ứ c năngbiể u diễn hành vi ở các mứ c chi tiế t khác
nhauMô hình lu ồ ng d ữ li ệ u các m ứ c 1,2,3,..
Nguyên lý phân tích yêu c ầu
Nguyên lý 5: Tìm hi ể u v ấ n đề b ả n ch ấ t Nhìn nhận bản chấ t của yêu c ầu ( làmgì, đ i ề u ki ệ n gì,..)
Không quan tâm đế n cách th ứ c cài đặt(làm nh ư th ế nào )
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 25/65
Phân ho ạch yêu c ầuCó thể phân ho ạch yêu c ầu theo hai cách
Phân loại theo đặc trư ng: Yêu c ầu tương hỗ: ch ịu ảnh hưởng của môi tr ường Yêu c ầu nảy sinh:nh ận ra trong quá trình phát tri ể n Yêu c ầu hệquả:là k ế t quảcủa việc áp d ụng hệ thố ng dự atrên máy tính
Yêu c ầu tương thích:ph ụ thuộc vào h ệkhác hay ti ế n trình t ổchứ c
Phân loại theo m ứ c độquan tr ọng: chính, ph ụ
Thẩ m định yêu c ầuThẩ m định yêu c ầu liên quan t ới việc kiể mtra tính đúng đắn, tính đầy đủ, tính hi ệnthự c và kiể m tra được của yêu c ầu.
1. Thỏa mãn được nhu c ầu của người dùng?
2. Yêu c ầu không mâu thu ẫn nhau?3. Yêu c ầu phải đầy đủ(chứ c năng, ràng bu ộc)?4. Yêu c ầu là hiện thự c?5. Yêu c ầu có th ể kiể m tra được?
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 26/65
Thẩ m định yêu c ầuThường xuyên th ẩ m định yêu c ầuCảkhách hàng và ng ười phát tri ể nđều phải thẩ m định yêu c ầu
Việc thẩ m định có th ể tổchứ c hìnhthứ c hoặc không hình th ứ cTrao đổi giữ a khách hàng, nhà pháttriể n và ng ười sử dụng cuố i có thể giảiquyế t sớm các khó kh ăn
Thẩ m định yêu c ầuCác k ỹ thuật thẩ m định1. Xem xét lại yêu c ầu: bằng cách phân tích
một cách có h ệ thố ng các yêu c ầu (có s ự k ế t hợp cảnhà phát tri ể n và khách hàng,tiế n hành th ường xuyên)
2.Làm bản mẫu: sử dụng các mô hình có kh ả năng th ự c thi để kiể m tra l ại yêu c ầu
3. Tạo các tr ường hợp kiể m thử : kiể m tra tínhcó thể kiể m tra được của yêu c ầu
4. Phân tích tính nh ấ t quán b ằng cách t ự động: s ử dụng CASE (Computer AidedSoftware Engineering)
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 27/65
Đặc tảyêu c ầu ph ần m ềm Đặc tảcác yêu c ầu ph ần m ềm là công việcxây dự ng các tài li ệu đặc tả
có thể sử dụng tới các công c ụ như : mô hìnhhóa, mô hình toán h ọc hình th ứ c (a formalmathematical model), t ập hợp các k ịch bản sử dụng, các nguyên m ẫu hoặc bấ t k ỳ một tổhợpcác công c ụnói trên
Đặc tảchi tiế t các yêu c ầu đã phân tíchChấ t lượng của h ồ sơ đặc tả đánh giá qua
các tiêu th ứ cTính rõ ràng, chính xácTính phù h ợpTính đầy đủ, hoàn thi ện
Đặc tảyêu c ầu(Requirements Specification )Có thể sử dụng các c ấ u trúc tài li ệu đặctảyêu c ầu khác nhau (IEEE)
Đầy đủ
Mọi yêu c ầu của người dùng ph ải được môtảKhông mâu thu ẫn nhauChính xác : yêu c ầu không được mơ h ồ
Chi phí phát sinh cho s ử a đổi rấ t cao
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 28/65
Các mứ c trừ u tượng của yêu c ầu Yêu c ầu nên được biể u diễn ởnhi ều mứ c trừ u tượngkhác nhau ph ục vụcho nhi ều đố i tượng khác nhauXác định yêu c ầu
Mô tảcác d ịch vụmà ph ần m ềm c ần cung c ấ p Viế t bằng ngôn ng ữ tự nhiênHướng người dùng
Đặc tảyêu c ầuTài liệu có cấ u trúcMô tảchi tiế t, chính xác v ềyêu c ầuDùng làm b ản hợp đồng
Ví dụ: Chứ c năng kiể m tra l ỗi chính tả
Định ngh ĩ a:Thông báo các l ỗi chính tảcủa văn bản
Đặc tả:Các lỗi chính tả được gạch đỏ bên d ưới
Các lỗi soạn thảo được gạch xanh bên d ướiLỗi chính tả:
T ừ đơ n không có trong t ừ đ i ể n
Lỗi soạn thảoTh ừ a d ấ u cách Không vi ế t hoa đầ u câu
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 29/65
Các thành ph ần của hồ sơ đặc tả
Đặc tả phi hình th ức (Informal specifications )đượ c viết bằng ngôn ng ữ tự nhiên
Đặc tả hình th ức (Formal specifications ) đượ cviết bằng tậ p các ký pháp có các quy định về cú pháp ( syntax ) và ý ngh ĩ a ( sematic ) r ấ t chặt chẽ Đặc tả vận hành ch ức năng (Operationalspecifications ) mô tả các ho ạt động của hệ thống
phần mềm sẽ xây d ựng Đặc tả mô tả (Descriptive specifications ) – đặc tảcác đặc tính đặc tr ưng của phần mềm
Đặc tả yêu c ầu
Đặc tả chức năng (OperationalSpecifications )
sử dụng các công c ụ tiêu bi ểu sau
Biể
u đồ
luồ
ng dữ
liệ
u(Data Flow Diagrams
) Máy tr ạng thái h ữu hạn (Finite State Machines
Mạng Petri (Petri nets )
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 30/65
Đăc tả yêu c ầu
Đặc tả mô tả (DescriptiveSpecifications )
Biểu đồ thực thể liên k ết (Entity -Relationship Diagrams ) Đặc tả Logic (Logic Specifications ) Đặc tả đại số (Algebraic Specifications )
Các k ỹ thuật đặc tả
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 31/65
Khái niệm đặc tả
Định ngh ĩ a một hệ thố ng, mô- đun haymột sản phẩ m c ần phải làm cái gìKhông mô t ảnó phải làm như thế nàoMô tảnhữ ng tính ch ấ t c ủa v ấ n đề đặtraKhông mô t ảnhữ ng tính ch ấ t của giảipháp cho v ấ n đề đó
Khái niệm đặc tả Đặc tả là họat động được tiế n hành trong cácpha khác nhau c ủa tiế n trình ph ần m ềm:
Đặc tảyêu c ầu (requirement specification)Sự thố ng nh ấ t giữ a người sử dụng tương lai và ng ườithiế t k ế
Đặc tảkiế n trúc h ệ thố ng (system architectspecification)
Sự thố ng nh ấ t giữ a nhữ ng người thiế t k ế và nhữ ngngười cài đặt
Đặc tả môđun (module specification)Sự thố ng nh ấ t giữ a nhữ ng người lập trình cài đặt mô-đun và nh ữ ng người lập trình s ử dụng mô- đun
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 32/65
Tại sao ph ải đặc tả
Hợp đồngSự thố ng nh ấ t gia ng ười dùng và ng ười phát tri ể nsản phẩ m
Hợp thứ c hóaSản phẩ m luc ra ph ải thự c hiện chính xác nh ữ nggì mong mu ố n
Trao đổigiữ a người sử dụng và ng ười phát tri ể n giữ a
nhữ ng ng ười phát tri ể nTái sử dụng
Phân loại các k ỹ thuật đặc tả Đặc tảphi hình th ứ c (informal)
Ngôn ngữ tự nhiên t ự doNgôn ngữ tự nhiên có c ấ u trúcCác ký hiệu đồhọa
Đặc tảnữ a hình th ứ c (semi-informal)trộn lẫn cảngôn ng ữ tự nhiên, các kí hi ẹu toánhọc và các kí hiệu đồhọa
Đặc tảhình thứ c (formal) Đặc tảbằng mô hình Đặc tảbằng ngôn ng ữ hình th ứ c hoá Đặc tảbằng công th ứ c tóan h ọc
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 33/65
Đặc tảhình th ứ c hay không hình th ứ c?
Đặc tảhình thứ cChính xác (toán h ọc)Hợp thứ c hóa hình th ứ c (công c ụhóa)công cụ trao đổi: khó đọc, khó hieukhó sử dụng
Đặc tảkhông hình th ứ cDễhiể u, dễsử dụngM ềm dẻoThiế u sự chính xácKhông chặc chẽ, Nhập nhằng
Đặc tảphi hình th ứ c Ví dụ: chứ c năng kiể m tra l ỗi chính tả
Yêu c ầu: thông báo các l ỗi chính tảkhi duyệt Đặc tả:
Các lỗi chính tả được gạch đỏ bên d ướiCác lỗi soạn thảo được gạch xanh bên d ướiLỗi chính tả:
T ừ đơ n không có trong t ừ đ i ể n
Lỗi soạn thảoTh ừ a d ấ u cách Không vi ế t hoa đầ u câu
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 34/65
Ứ ng dụng đặc tảhình th ứ c ứ ng dụng trong các giai đoạn sớm củatiế n trình phát tri ể nHạn chế lỗi trong phát tri ể n ph ần m ềm
Ứ ng dụng chủyế u trong phát tri ể n cáchệ thố ng “quan tr ọng” (critical system)
Hệ thố ng đi ều khiể nHệ thố ng nhúngHệ thố ng th ời gian th ự c
Các k ỹ thuật đặc tảhình th ứ cBiể u đồ lu ồng dữ liệuBiể u đồ thự c thể k ế t hợpLàm bản mẫuMáy trạng thái h ữ u hạnMạng Petri
Đi ều kiện trước sauKiể u trừ u tượngNgôn ngữ đặc tảZ
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 35/65
Biể u đồphân rã ch ứ c năng
Function Decomposition Diagram – FDD Xác định ph ạm vi của hệ thố ngPhân ho ạch chứ c năngTạo n ền tảng cho thi ế t k ế kiế n trúc h ệthố ng
Ch ức n ăng
Bán hàng
Liên k ết
Nhận đơn Gửi đơn Gom, gửi hàng
Biể u đồphân rã ch ứ c năng Ví dụ: biể u diễn các ch ứ c năng của hệthố ng cử a hàng n ước giai khát
Hệquản lý cửahàng
Bán hàng Kế toán Quản lý tồnkho
Quản lý nhậphàng
Quản lýxuất
Báo cáotồn
Bán lẽ Quản lý đơnhàng
Quản côngnợ
Chức năng
Quan hệ baohàm
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 36/65
Biể u đồdòng d ữ liệuData Flow Diagram – DFD Mô tảcách th ứ c dữ liệu di chuy ể n và được xử lý,
lư u trữ trong h ệ thố ngDFD dễviế t, dễ đọc, dễhiể u được sử dụng ph ổbiế nDFDđược xây dự ng từ các hình v ẽvà các kí hiệuqui ước.Có nhi ều mứ c chi tiế t khác nhau (phân tích có c ấ utrúc)Có nhi ều cách xây d ự ng DFD, thông d ụng làphương pháp DeMarco-Yourdon, Gane Sarson vàMerise (pháp)
Biể u đồdòng d ữ liệuMột số phương pháp v ẽDFD
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 37/65
Biể u đồdòng d ữ liệuDFD – Các thành t ố Quá trình (Process)
Mô tảhoạt động (activities) hay phép bi ế n đổi(Transform) m ột hoặc nhi ều dòng d ữ liệu vào (input)thành m ột hoặc nhi ều dòng d ữ liệu ra (output)Quá trình không ch ỉ ra chi tiế t logic hay th ủ tục xử lýTrong s ơ đồDFD, quá trình có th ể là một người sử dụnghoặc máy tính x ử lý
Ví dụ:Nhận yêu c ầu khách hàngThủ tục giao hàngThông báoXử lý điể m…
1
Mô tảquá trình
Biể u đồdòng d ữ liệuDFD – Các thành t ố
Thự c thể (Entity)Xác định ranh gi ới, phạm trù hay ph ạm vi, ngữ cảnh củahệ thố ng đang xétCung cấ p cái vào cho h ệ thố ng và lấ y cái ra t ừ hệ thố ngCác thự c thể có thể nằm bên trong hay bên ngoài, t ạothành các ngu ồn hay các đích cho h ệ thố ngMỗi thự c thể có thể là một người, tổchứ c hoặc một hệthố ng khác t ương tác v ới hệ thố ng đang xét
Ví dụ:Khách hàngHọc viênGiáo viên
Tên thự c thể
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 38/65
Biể u đồdòng d ữ liệuDFD – Các thành t ố
Kho dữ liệu (data stores):Chỗchứ a các thông tin được lư u theo th ời gian, được xử lý thủcông hay t ự động
Đó là các t ập tin, c ơ sởdữ liệu hay b ấ t cứ các hình th ứ clư u trữ dữ liệu nào (b ảng biể u báo cáo, t ừ điể n, hộp thư ,danh b ạ,..)
Ví dụ:H ồ sơ học viênSổnợK ế t quả tuyể n sinh…
Tên kho d ữ liệu
Biể u đồdòng d ữ liệuDFD – Các thành t ố
Dòng dữ liệu (Data flows)Phương tiện luân chuy ể n thông tin th ể hiện cái vào vàcái ra, th ể hiện sự tương tác trong h ệ thố ngCó thể là báo cáo, bi ể u mẫu, vân b ẳn, th ư tín, thôngđiệp hay d ữ liệu nói chung
Được tạo thành t ừ các vật mang thông tin (gi ấ y, mànhình,..) có cùng b ản chấ t Đi từ tơi phát (ngu ồn) đế n nơi nhận ( đích)
Ví dụ: Yêu c ầu cho vayTra lời vayBáo k ế t quả thi
Dữ liệu chuyể n
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 39/65
Biể u đồdòng d ữ liệu Ví dụ: DFD hệ thố ng mua bán hàng
Biể u đồdòng d ữ liệu Ví dụ: DFD hệ thố ng tài chính cá nhân
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 40/65
Biể u đồdòng d ữ liệuDFD – Các bước thự c hiện
Phân rã ch ứ c năng hệ thố ngLiệt kê các tác nhân, các kho ản mục dữ liệu
VẽDFD cho các mứ cLàm mịn DFD cho các m ứ c từ DFD ngữ cảnh
Biể u đồdòng d ữ liệuDFD – Một số nguyên t ắc
Các tiế n trình ph ải có lu ồng vào và lu ồng raKhông có lu ồng dữ liệu giữ a các tác nhân –tác nhân, tác nhân – kho d ữ liệu, kho d ữ liệu
– kho d ữ liệu.Lu ồng dữ liệu không quay l ại nơi xuấ t phátLàm mịn c ần đảm bảo đầy đủcác yế u tố củabước trước (tác nhân, lu ồng dữ liệu, kho d ữ liệu).
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 41/65
Biể u đồdòng d ữ liệuCác mứ c DFD
Biể u đồ thự c thể quan h ệERD – Entity Relation Diagram
Phân tích d ữ liệu độc lập với xử lýNghiên cứ u mi ền thông tinTạo ra mô hình tr ừ u tượng hướng kháchhàngXác định mố i liên hệgiữ a các d ữ liệu
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 42/65
Biể u đồ thự c thể quan h ệ
ER – khái niệmThự c thể :Là các đố i tượng th ế giới thự c màchúng ta mu ố n xử lýCó thể là đố i tượng th ự c hoặc trừ u tượng
Thuộc tính:là các đặc điể m, tính ch ấ t của thự c thể
Quan h ệ:Mố i liên hệgiữ a các th ự c thể Là thông tin c ần lư u trữ , xử lý
K ế thừ a: quan h ệ thừ a k ế giữ a các th ự c thể
Tên th ự c th ể
Thu ộc tính1Thu ộc tính 2
…
Biể u đồ thự c thể quan h ệER – ví dụ
NGK
ĐĐHÀNG_NGK
ĐẶT
KHÁCH_HÀNG
LO ẠI_NGKTHUỘC
CỦ A
(0,n)
(1,n)
(1,1) (0,n)
(1,n)(1,1)
NGK(MA_NGK, TEN_NGK, HIEU, LOAI, DVTINH, DON_GIA)ĐĐHANG_NGK(SO_DDH, NGAY_DAT, KHACH_HANG, NGAYGIAO, TRANG THAI)CHITIET_DDH(MA_NGK, SO_DDH, SL_DAT, DONGIA_DAT)
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 43/65
Biể u đồ thự c thể quan h ệ
ER – Xác định th ự c thể quan h ệThự c thể :
Là các danh t ừ (trong câu mô t ảcác yêu c ầu)Có các thuộc tính khóa (xác định duy nh ấ t)
Quan h ệHoạt động xảy ra giữ a các th ự c thể Có ngh ĩ a với họat động của hệ thố ngLà động từ
Biể u đồ thự c thể quan h ệER – Các bước
Mô tả thự c thể và sự liên k ế t giữ a các th ự cthể Mô tả thự c thể và các m ố i quan h ệMô tả thự c thể , các m ố i quan h ệvà cácthuộc tính
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 44/65
Từ điể n dữ liệuPhương pháp có tính hình th ứ c để môtảdữ liệu mà h ệ thố ng xử lýKý pháp để mô tảcác dữ liệu đi ềukhiể n và mi ền giá tr ị của chúngChứ a đự ng các thông tin v ề nơi (modul)và cách th ứ c xử lý dữ liệuThường được tạo bằng các công c ụ trợgiúp
Từ điể n dữ liệuCác khoản mục từ điể n dữ liệu
Tên (name): tên d ữ liệuBí danh (alias):tên g ọi khác của dữ liệu
Vị trí (where): tên các modul x ử lý
Cách thứ c (how): vai trò c ủa dữ liệu vàcách th ứ c xử lýKý pháp (Description): ký pháp mô t ảdữ liệuFormat: Kiể u dữ liệu,giá tr ịmặc định,…
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 45/65
Từ điể n dữ liệuTừ điể n dữ liệu – ví dụ Integrated
officephonesystem
Telephone number System output
alphanumeric dataFormat:
telephone no. = [ local extension | outside no. | 0 ]outside no. = 9 + [ service code | domestic no. ]
service code = [ 211 | 411 | 611 | 911 ]domestic no. = ( ( 0 ) + area code ) + local numberarea code = *three numeral designator*
Description:
Read_phone_number(input)Display_phone_number(output)
Analyze_long_distance_calls (input)
Where/ How used:
Phone number, number Aliases:
Telephone numberName:
Bảng t ừ điển d ữ liệu
Làm bản mẫu trong phân tíchTrong nhi ều trường hợp, mô hình ch ạythử là phương pháp duy nh ấ t để xácđịnh yêu c ầu
Ph ần m ềm lớn, phứ c tạp⇒
bản mẫu(trự c quan)Bản mẫu ph ần m ềm:phát tri ể n yêu c ầuBản mẫu ph ần cứ ng: kiể m tra thi ế t k ế
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 46/65
Làm bản mẫu trong phân tíchCác bước thự c hiện
Bước 1: Đánh giá yêu c ầu và xác định có nên làmbản mẫu không; độphứ c tạp, chủng loại, kháchhàngBước 2: Biể u diễn vắn tắt yêu c ầu (yêu c ầu chứ cnăng, yêu c ầu phi ch ứ c năng)Bước 3: Thiế t k ế nhanh ki ể n trúc, c ấ u trúc d ữ liệuBước 4: Phát triể n, kiể m thử
Sử dụng các thành ph ần sẵn cóDùng các ngôn ng ữ bậc cao
Các thuật tóan d ễcài đặtBước 5: Người dùng đánh giá (b ước quan tr ọng???)Bước 6: Lặp lại bước2-5 cho đế n khi đủyêu c ầu
Làm bản mẫu trong phân tích Ư u điể m
Loại bớt hiể u nh ầmPhát hiện thiế u hụt chứ c năng
Ví dụ: soạn thảo kéo theo ki ể m tra chính t ảPhát hiện các điể m yế u
Khó sử dụngThao tác không an toàn
Kiể m tra tính kh ả thi, hữ u íchCó thể xây dự ng được khôngCó thự c sự c ần không
Làm cơ sở cho đặc tả: làm gi ố ng nh ư th ế này nh ư ng t ố t h ơ n Huấ n luyện người sử dụngHỗ trợkiể m thử (so sánh k ế t quả)
Làm b ả n m ẫ u là k ỹ thu ậ t tránh r ủ i ro
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 47/65
Làm bản mẫu trong phân tích
Nhược điể mCác yêu c ầu phi ch ứ c năng th ường khôngđược thể hiện đầy đủLàm tăng chi phí:c ần phải ước lượng chiphí chính xác c ủa bản mẫuCác yêu c ầu thay đổi quá nhanh làm b ảnmẫu trởnên vô ngh ĩ aNgười dùng không s ử dụng bản mẫu theo
cách thông th ường (k ế t quả đánh giákhông có giá tr ị)
Làm bản mẫu trong phân tíchNgôn ngữ làm bản mẫu
Java Visual BasicProlog, Lisp, PythonCác ngôn ng ữ script khác
Perl, PHP, shell script
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 48/65
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 49/65
Máy trạng thái h ữ u hạn
ONHOOK
OFFHOOK DIALING
RINGING
BUSY
CONNECTED
Handsetlifted Handset
replaced
Number dialed
Number dialed
Handsetreplaced
Handsetreplaced
Handsetreplaced
Handsetreplaced
Linein use
Last number dialed
Caller answers
Caller hangs up
Ví dụ1:
Máy trạng thái h ữ u hạn Ví dụ2:
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 50/65
Máy trạng thái h ữ u hạn
Ví dụ2:
Máy trạng thái h ữ u hạn Ví dụ2:
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 51/65
Máy trạng thái h ữ u hạn
Biể u diễn hệ thố ng phứ c tạpHạn chế khi đặc tảnhữ ng hệ thố ngkhông đồng bộ
Các thành ph ần của hệ thố ng ho ạt độngsong song ho ặc cạnh tranh
Đi ều kiện trước/sau(Pre/Post Condition) Được dùng để đặc tảcác hàm ho ặc mô đun Đặc tảcác tính ch ấ t của dữ liệu trước và saukhi thự c hiện hàm
Pre-condition: đặc tảcác ràng bu ộc trên tham s ố trước khi hàm được thự c hiệnPost-condition: đặc tảcác ràng bu ộc trên tham s ố sau khi hàm được thự c hiện
Có thể sử dụng ngôn ng ữ phi hình th ứ c, hìnhthứ c hoặc ngôn ng ữ lập trình để đặc tảcácđi ều kiện.
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 52/65
Đi ều kiện trước/sau
Ví dụ: đặc tảhàm tìm ki ế m
Function search(a: danh sách ph ần tử kiể u K,size: s ố ph ần tử của danh sách,e: ph ần tử kiể u K,result: ki ể u Boolean)
pre ∀ i, 1≤i≤size, a[i] ≤ a[i+1]
post result = ( ∃ i, 1≤i≤size, a[i] = e)
Đi ều kiện trước/sau
Bài tập: đặc tảcác hàmSắp xế p một danh sách s ố nguyên
Đảo ngược các ph ần tử của danh sách Đế m số ph ần tử có giá tr ị e trong m ột danh sách s ố
nguyên
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 53/65
Kiể u trừ u tượng( Abstract type)
Mô tảdữ liệu và các thao tác trên d ữ liệu đó ởmộtmứ c trừ u tượng độc lập với cách cài đặt dữ liệu bởingôn ng ữ lập trình
Đặc tảmột kiể u trừ u tượng g ồm:Tên của kiể u trừ u tượng
Dùng từ khóa sort
Khai báo các ki ể u trừ u tượng đã t ồn tại được sử dụngDùng từ khóa import
Các thao tác trên ki ể u trừ u tượngDùng từ khóa operations
Kiể u trừ u tượng Ví dụ 1: đặc tảkiể u trừ u tượng Boolean
Một thao tác không có tham s ố là một hằng số một giá tr ị của kiể u trừ u tượng được địnhngh ĩ a biể u diễn bởi kí tự “_”
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 54/65
Kiể u trừ u tượng Ví dụ 2: đặc tảkiể u trừ u tượng Vector
Kiể u trừ u tượngCác thao tác trên ki ể u trừ u tượng ch ỉ đượcđịnh ngh ĩ a mà không ch ỉ ra ngữ ngh ĩ a của nó
Tứ c là ý ngh ĩ a của thao tác
Sử dụng các tiên đề để chỉ ra ngữ ngh ĩ a của
các thao tácSử dụng từ khóa axioms
Định ngh ĩ a các ràng bu ộc mà một thao tácđược định ngh ĩ a
Sử dụng từ khóa precondition
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 55/65
Kiể u trừ u tượng Ví dụ 2: đặc tảkiể u trừ u tượng Vector
Kiể u trừ u tượngBài tập:
Đặc tảkiể u trừ u tượng Cây nh ị phân Đặc tảkiể u trừ u tượng Tập hợp
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 56/65
Kiể u trừ u tượng
sort CircleImport Integer, floatOperations
Init : Integer x Integer x float -> CircleUnit_Circle: ->CircleBankinh: Circle -> floatGet_X: Circle -> IntegerGet_Y: Circle -> Integer
Zoom: Circle x float -> CircleTinh_tien:Circle x Integer x Integer -> Circle
Kiể u trừ u tượngaxioms
Bankinh(Unit_Circle) = 1Get_x(Unit_Circle) = Get_Y(Unit_Circle) = 0Bankinh(Init(x, y, r)) = rGet_X(Init(x, y, r)) = xGet_Y(Init(x, y, r)) = yC = Init(x,y,r) => Bankinh(Tinhtien(C, dx, dy)) = rC = Init(x,y,r) => Get_X(Tinhtien(C, dx, dy)) = x + dxC = Init(x,y,r) => Get_Y(Tinhtien(C, dx, dy)) = y + dyC = Init(x,y,r) =>Bankinh(Zoom(C, dr)) = r + drC = Init(x,y,r) =>Get_X(Zoom(C, dr)) = xC = Init(x,y,r) =>Get_Y(Zoom(C, dr)) = y
WithC: Circle ; x, y,dx, dy: integer; r, dr: float
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 57/65
Mạng Petri (Petri Nets)
Thích hợp để mô tảcác hệ thố ng khôngđồng bộvới nhữ ng họat động đồng th ờiMô tả lu ồng đi ều khiể n của hệ thố ng
Đềxuấ t n ăm 1962 b ởi Carl AdamCó loại
Mạng Petri (c ổ điể n)Mạng Petri m ở rộng
Mạng PetriG ồm các ph ần tử
Một tập hữ u hạn các nút (O)Một tập hữ u hạn các chuy ể n ti ế p ( )Một tập hữ u hạn các cung (→ )
Các cung n ố i các nút v ới các chuyể n tiế p hoặcngược lại
Mỗi nút có th ể chứ a một hoặc nhi ều th ẻ ( )
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 58/65
Mạng Petri
Ví dụ:
Mạng PetriMạng Petri được định ngh ĩ a bởi sự đánh d ấ u các nútcủa nó
Việc đánh d ấ u các nút được tiế n hành theo nguyêntắc sau:
Mỗi chuyể n tiế p có các nút vào và các nút ra
Nế u tấ t cảcác nút vào c ủa một chuyể n tiế p có ít nh ấ t mộtthẻ, thì chuyể n tiế p này có th ể v ượ t qua được.Nế u chuyể n tiế p này được thự c hiện thì tấ t cảcác nút vàocủa chuyể n tiế p sẽbị lấ y đi một thẻ, và một thẻsẽ đượcthêm vào t ấ t cảcác nút ra c ủa chuyể n tiế pNế u chuyể n tiế p là có th ể vượt qua thì ch ọn chuyể n tiế p nàocũng được
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 59/65
Mạng Petri
Ví dụ
Mạng Petri Ví dụ
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 60/65
Mạng Petri
Ví dụ
Mạng Petri Ví dụ1: Mô tảhoạt động của đèn giao thông
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 61/65
Mạng Petri
Ví dụ1: Mô tảhoạt động của 2 đèn giao thông
Mạng Petri Ví dụ1: Mô tảhoạt động an toàn c ủa 2 đèn giao thông
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 62/65
Mạng Petri
Ví dụ1: Mô tảhoạt động an toàn c ủa 2 đèn giao thông
Mạng Petri Ví dụ2: Chu kì số ng của con ng ười
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 63/65
Mạng Petri
Ví dụ3: Viế t thư và đọc thư
Mạng Petri Ví dụ4:
Hệ thố ng c ần mô t ảbao g ồm một nhà s ản xuấ t, một nhàtiêu th ụvà môt kho hàng ch ỉ chứ a được nhi ều nhấ t hai s ảnphẩ mNhà sản xuấ t có 2 tr ạng thái:
P1: đang s ản xuấ tP2: không s ản xuấ t
Nhà tiêu th ụcó 2 trạng thái:C1: có sản phẩ m để tiêu th ụC2: không có s ản phẩ m để tiêu th ụ
Kho hàng có 3 tr ạng tháiChứ a 0 s ản phẩ mChứ a 1 s ản phẩ mChứ a 2 s ản phẩ m
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 64/65
Mạng Petri
Ví dụ4: mô t ả tách r ời mỗi thành ph ần
Mạng Petri Ví dụ4: Mô tảk ế t hợp các thành ph ần
7/21/2019 SE3-Phan Tich Va Dac Ta
http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 65/65
So sánh các k ỹ thuật đặc tả