65
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ê ThM H nh Khoa Công ngh Thông tin Trườ ng Đi hc Bách khoa, Đ àNng N I DUNG Đi cươ ng v phân tích và đc t Nn t ng c a phân tích Phân tích và n m b t yêu c u Đc t yêu c u Thm đnh yêu c u M t s ph ươ ng pháp và công c h tr

SE3-Phan Tich Va Dac Ta

Embed Size (px)

DESCRIPTION

SE7-Quan ly du an

Citation preview

Page 1: SE3-Phan Tich Va Dac Ta

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ợ

Page 2: SE3-Phan Tich Va Dac Ta

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)

Page 3: SE3-Phan Tich Va Dac Ta

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.

Page 4: SE3-Phan Tich Va Dac Ta

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.

Page 5: SE3-Phan Tich Va Dac Ta

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

Page 6: SE3-Phan Tich Va Dac Ta

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ó

Page 7: SE3-Phan Tich Va Dac Ta

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,..

Page 8: SE3-Phan Tich Va Dac Ta

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

Page 9: SE3-Phan Tich Va Dac Ta

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

Page 10: SE3-Phan Tich Va Dac Ta

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ả

Page 11: SE3-Phan Tich Va Dac Ta

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

Page 12: SE3-Phan Tich Va Dac Ta

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

Page 13: SE3-Phan Tich Va Dac Ta

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

Page 14: SE3-Phan Tich Va Dac Ta

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

Page 15: SE3-Phan Tich Va Dac Ta

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

Page 16: SE3-Phan Tich Va Dac Ta

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

Page 17: SE3-Phan Tich Va Dac Ta

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

Page 18: SE3-Phan Tich Va Dac Ta

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

Page 19: SE3-Phan Tich Va Dac Ta

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?

Page 20: SE3-Phan Tich Va Dac Ta

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,..

Page 21: SE3-Phan Tich Va Dac Ta

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

Page 22: SE3-Phan Tich Va Dac Ta

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

Page 23: SE3-Phan Tich Va Dac Ta

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

Page 24: SE3-Phan Tich Va Dac Ta

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 )

Page 25: SE3-Phan Tich Va Dac Ta

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?

Page 26: SE3-Phan Tich Va Dac Ta

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)

Page 27: SE3-Phan Tich Va Dac Ta

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

Page 28: SE3-Phan Tich Va Dac Ta

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

Page 29: SE3-Phan Tich Va Dac Ta

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 )

Page 30: SE3-Phan Tich Va Dac Ta

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ả

Page 31: SE3-Phan Tich Va Dac Ta

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

Page 32: SE3-Phan Tich Va Dac Ta

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

Page 33: SE3-Phan Tich Va Dac Ta

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

Page 34: SE3-Phan Tich Va Dac Ta

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

Page 35: SE3-Phan Tich Va Dac Ta

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

Page 36: SE3-Phan Tich Va Dac Ta

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

Page 37: SE3-Phan Tich Va Dac Ta

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ể

Page 38: SE3-Phan Tich Va Dac Ta

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

Page 39: SE3-Phan Tich Va Dac Ta

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

Page 40: SE3-Phan Tich Va Dac Ta

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).

Page 41: SE3-Phan Tich Va Dac Ta

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

Page 42: SE3-Phan Tich Va Dac Ta

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)

Page 43: SE3-Phan Tich Va Dac Ta

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

Page 44: SE3-Phan Tich Va Dac Ta

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,…

Page 45: SE3-Phan Tich Va Dac Ta

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 ế

Page 46: SE3-Phan Tich Va Dac Ta

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

Page 47: SE3-Phan Tich Va Dac Ta

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

Page 48: SE3-Phan Tich Va Dac Ta

7/21/2019 SE3-Phan Tich Va Dac Ta

http://slidepdf.com/reader/full/se3-phan-tich-va-dac-ta 48/65

Page 49: SE3-Phan Tich Va Dac Ta

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:

Page 50: SE3-Phan Tich Va Dac Ta

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:

Page 51: SE3-Phan Tich Va Dac Ta

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.

Page 52: SE3-Phan Tich Va Dac Ta

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

Page 53: SE3-Phan Tich Va Dac Ta

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ự “_”

Page 54: SE3-Phan Tich Va Dac Ta

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

Page 55: SE3-Phan Tich Va Dac Ta

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

Page 56: SE3-Phan Tich Va Dac Ta

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

Page 57: SE3-Phan Tich Va Dac Ta

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 ẻ ( )

Page 58: SE3-Phan Tich Va Dac Ta

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

Page 59: SE3-Phan Tich Va Dac Ta

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ụ

Page 60: SE3-Phan Tich Va Dac Ta

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

Page 61: SE3-Phan Tich Va Dac Ta

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

Page 62: SE3-Phan Tich Va Dac Ta

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

Page 63: SE3-Phan Tich Va Dac Ta

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

Page 64: SE3-Phan Tich Va Dac Ta

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

Page 65: SE3-Phan Tich Va Dac Ta

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ả