Công cụ thiết kế & phân tích phần mềm
Phân tích và thiết kế phần mềm bao gồm tất cả các hoạt động, giúp chuyển đổi đặc tả yêu cầu thành việc thực hiện. Đặc tả yêu cầu xác định tất cả các mong đợi chức năng và phi chức năng từ phần mềm. Các thông số kỹ thuật yêu cầu này ở dạng các tài liệu con người có thể đọc và hiểu được mà máy tính không phải làm gì.
Phân tích và thiết kế phần mềm là giai đoạn trung gian, giúp các yêu cầu có thể đọc được của con người được chuyển thành mã thực tế.
Hãy cho chúng tôi xem một số công cụ phân tích và thiết kế được các nhà thiết kế phần mềm sử dụng:
Sơ đồ luồng dữ liệu
Sơ đồ luồng dữ liệu là biểu diễn đồ họa của luồng dữ liệu trong hệ thống thông tin. Nó có khả năng mô tả luồng dữ liệu đến, luồng dữ liệu đi và dữ liệu được lưu trữ. DFD không đề cập bất cứ điều gì về cách dữ liệu chảy qua hệ thống.
Có một sự khác biệt nổi bật giữa DFD và Lưu đồ. Lưu đồ mô tả luồng điều khiển trong các mô-đun chương trình. DFD mô tả luồng dữ liệu trong hệ thống ở nhiều cấp độ khác nhau. DFD không chứa bất kỳ phần tử điều khiển hoặc nhánh nào.
Các loại DFD
Sơ đồ Luồng Dữ liệu là Lôgic hoặc Vật lý.
- Logical DFD - Loại DFD này tập trung vào quy trình hệ thống và luồng dữ liệu trong hệ thống, ví dụ trong hệ thống phần mềm Ngân hàng, dữ liệu được di chuyển như thế nào giữa các thực thể khác nhau.
- Physical DFD- Loại DFD này cho thấy luồng dữ liệu thực sự được thực hiện như thế nào trong hệ thống. Nó cụ thể hơn và gần với việc thực hiện.
Thành phần DFD
DFD có thể đại diện cho Nguồn, đích, lưu trữ và luồng dữ liệu bằng cách sử dụng tập hợp các thành phần sau:
- Entities- Thực thể là nguồn và đích của dữ liệu thông tin. Các thực thể được biểu diễn bằng một hình chữ nhật với tên tương ứng của chúng.
- Process - Các hoạt động và hành động được thực hiện trên dữ liệu được thể hiện bằng Hình tròn hoặc Hình chữ nhật có cạnh tròn.
- Data Storage - Có hai biến thể lưu trữ dữ liệu - nó có thể được biểu diễn dưới dạng hình chữ nhật không có cả hai cạnh nhỏ hơn hoặc dưới dạng hình chữ nhật có mặt mở chỉ thiếu một cạnh.
- Data Flow- Chuyển động của dữ liệu được thể hiện bằng các mũi tên nhọn. Di chuyển dữ liệu được hiển thị từ gốc của mũi tên là nguồn của nó đến đầu của mũi tên là đích.
Các mức độ của DFD
- Level 0- DFD mức trừu tượng cao nhất được gọi là DFD mức 0, mô tả toàn bộ hệ thống thông tin như một sơ đồ che giấu tất cả các chi tiết bên dưới. DFD mức 0 còn được gọi là DFD mức ngữ cảnh.
- Level 1- DFD Cấp 0 được chia thành DFD Cấp 1 cụ thể hơn. DFD mức 1 mô tả các mô-đun cơ bản trong hệ thống và luồng dữ liệu giữa các mô-đun khác nhau. DFD cấp 1 cũng đề cập đến các quy trình và nguồn thông tin cơ bản.
Level 2 - Ở cấp độ này, DFD hiển thị cách dữ liệu chảy bên trong các mô-đun được đề cập ở Cấp độ 1.
DFD cấp cao hơn có thể được chuyển đổi thành DFD cấp thấp hơn cụ thể hơn với mức độ hiểu biết sâu hơn trừ khi đạt được mức đặc tả mong muốn.
Biểu đồ cấu trúc
Biểu đồ cấu trúc là biểu đồ xuất phát từ Sơ đồ luồng dữ liệu. Nó đại diện cho hệ thống chi tiết hơn DFD. Nó chia nhỏ toàn bộ hệ thống thành các mô-đun chức năng thấp nhất, mô tả các chức năng và chức năng con của từng mô-đun của hệ thống chi tiết hơn DFD.
Biểu đồ cấu trúc thể hiện cấu trúc phân cấp của các mô-đun. Tại mỗi lớp, một nhiệm vụ cụ thể được thực hiện.
Dưới đây là các ký hiệu được sử dụng trong xây dựng biểu đồ kết cấu -
- Module- Nó đại diện cho quá trình hoặc chương trình con hoặc nhiệm vụ. Một mô-đun điều khiển phân nhánh thành nhiều mô-đun con. Mô-đun Thư viện có thể tái sử dụng và không thể sử dụng từ bất kỳ mô-đun nào.
- Condition- Nó được thể hiện bằng viên kim cương nhỏ ở cơ sở của mô-đun. Nó mô tả rằng mô-đun điều khiển có thể chọn bất kỳ quy trình phụ nào dựa trên một số điều kiện.
- Jump - Một mũi tên được hiển thị chỉ bên trong mô-đun để mô tả rằng điều khiển sẽ nhảy vào giữa mô-đun phụ.
- Loop- Một mũi tên cong thể hiện vòng lặp trong mô-đun. Tất cả các mô-đun con được bao phủ bởi thực thi lặp lại vòng lặp của mô-đun.
- Data flow - Một mũi tên có hướng với vòng tròn trống ở cuối thể hiện luồng dữ liệu.
- Control flow - Một mũi tên có hướng với vòng tròn đầy ở cuối thể hiện luồng điều khiển.
Sơ đồ HIPO
Sơ đồ HIPO (Hierarchical Input Process Output) là sự kết hợp của hai phương pháp có tổ chức để phân tích hệ thống và cung cấp các phương tiện tài liệu. Mô hình HIPO được IBM phát triển vào năm 1970.
Biểu đồ HIPO thể hiện sự phân cấp của các mô-đun trong hệ thống phần mềm. Nhà phân tích sử dụng sơ đồ HIPO để có được cái nhìn cấp cao về các chức năng của hệ thống. Nó phân rã các chức năng thành các chức năng con theo cách phân cấp. Nó mô tả các chức năng được thực hiện bởi hệ thống.
Sơ đồ HIPO rất tốt cho mục đích tài liệu. Biểu diễn đồ họa của chúng giúp các nhà thiết kế và quản lý dễ dàng có được ý tưởng bằng hình ảnh về cấu trúc hệ thống.
Trái ngược với sơ đồ IPO (Đầu vào quy trình đầu ra), mô tả luồng điều khiển và dữ liệu trong một mô-đun, HIPO không cung cấp bất kỳ thông tin nào về luồng dữ liệu hoặc luồng điều khiển.
Thí dụ
Cả hai phần của sơ đồ HIPO, bản trình bày phân cấp và biểu đồ IPO đều được sử dụng để thiết kế cấu trúc của chương trình phần mềm cũng như tài liệu giống nhau.
Tiếng Anh có cấu trúc
Hầu hết các lập trình viên không biết về bức tranh toàn cảnh của phần mềm nên họ chỉ dựa vào những gì người quản lý yêu cầu họ làm. Ban quản lý phần mềm cấp cao hơn có trách nhiệm cung cấp thông tin chính xác cho các lập trình viên để phát triển mã chính xác nhưng nhanh chóng.
Các dạng phương pháp khác, sử dụng đồ thị hoặc sơ đồ, đôi khi có thể được những người khác nhau giải thích theo cách khác nhau.
Do đó, các nhà phân tích và thiết kế phần mềm đã đưa ra các công cụ như Tiếng Anh có cấu trúc. Nó không là gì ngoài mô tả về những gì được yêu cầu để viết mã và cách viết mã nó. Tiếng Anh có cấu trúc giúp lập trình viên viết mã không bị lỗi.
Các dạng phương pháp khác, sử dụng đồ thị hoặc sơ đồ, đôi khi có thể được những người khác nhau giải thích theo cách khác nhau. Ở đây, cả tiếng Anh có cấu trúc và Pseudo-Code đều cố gắng giảm thiểu khoảng cách hiểu biết đó.
Structured English is the Nó sử dụng các từ tiếng Anh thuần túy trong mô hình lập trình có cấu trúc. Nó không phải là mã cuối cùng mà là một loại mô tả những gì cần thiết để viết mã và cách viết mã nó. Sau đây là một số mã thông báo của lập trình có cấu trúc.
IF-THEN-ELSE,
DO-WHILE-UNTIL
Analyst sử dụng cùng một biến và tên dữ liệu, được lưu trữ trong Từ điển dữ liệu, giúp việc viết và hiểu mã trở nên đơn giản hơn nhiều.
Thí dụ
Chúng tôi lấy ví dụ tương tự về Xác thực khách hàng trong môi trường mua sắm trực tuyến. Quy trình xác thực khách hàng này có thể được viết bằng tiếng Anh có cấu trúc như sau:
Enter Customer_Name
SEEK Customer_Name in Customer_Name_DB file
IF Customer_Name found THEN
Call procedure USER_PASSWORD_AUTHENTICATE()
ELSE
PRINT error message
Call procedure NEW_CUSTOMER_REQUEST()
ENDIF
Mã được viết bằng tiếng Anh có cấu trúc giống như tiếng Anh nói hàng ngày. Nó không thể được thực hiện trực tiếp như một mã của phần mềm. Tiếng Anh có cấu trúc độc lập với ngôn ngữ lập trình.
Mã giả
Mã giả được viết gần với ngôn ngữ lập trình hơn. Nó có thể được coi là ngôn ngữ lập trình tăng cường, có đầy đủ các nhận xét và mô tả.
Mã giả tránh khai báo biến nhưng chúng được viết bằng cách sử dụng một số cấu trúc của ngôn ngữ lập trình thực tế, như C, Fortran, Pascal, v.v.
Mã giả chứa nhiều chi tiết lập trình hơn so với tiếng Anh có cấu trúc. Nó cung cấp một phương thức để thực hiện tác vụ, như thể một máy tính đang thực thi mã.
Thí dụ
Chương trình in Fibonacci lên đến n số.
void function Fibonacci
Get value of n;
Set value of a to 1;
Set value of b to 1;
Initialize I to 0
for (i=0; i< n; i++)
{
if a greater than b
{
Increase b by a;
Print b;
}
else if b greater than a
{
increase a by b;
print a;
}
}
Bảng Quyết định
Bảng Quyết định thể hiện các điều kiện và các hành động tương ứng cần thực hiện để giải quyết chúng, ở định dạng bảng có cấu trúc.
Nó là một công cụ mạnh mẽ để gỡ lỗi và ngăn ngừa lỗi. Nó giúp nhóm các thông tin tương tự thành một bảng duy nhất và sau đó bằng cách kết hợp các bảng, nó giúp đưa ra quyết định dễ dàng và thuận tiện.
Tạo bảng quyết định
Để tạo bảng quyết định, nhà phát triển phải làm theo bốn bước cơ bản:
- Xác định tất cả các điều kiện có thể được giải quyết
- Xác định hành động cho tất cả các điều kiện đã xác định
- Tạo các quy tắc tối đa có thể
- Xác định hành động cho từng quy tắc
Bảng Quyết định nên được người dùng cuối xác minh và gần đây có thể được đơn giản hóa bằng cách loại bỏ các quy tắc và hành động trùng lặp.
Thí dụ
Hãy để chúng tôi lấy một ví dụ đơn giản về vấn đề hàng ngày với kết nối Internet của chúng tôi. Chúng tôi bắt đầu bằng cách xác định tất cả các vấn đề có thể phát sinh khi khởi động internet và các giải pháp khả thi tương ứng của chúng.
Chúng tôi liệt kê tất cả các vấn đề có thể xảy ra trong điều kiện cột và các hành động tiềm năng trong cột Hành động.
Điều kiện / Hành động | Quy tắc | ||||||||
---|---|---|---|---|---|---|---|---|---|
Điều kiện | Hiển thị đã kết nối | N | N | N | N | Y | Y | Y | Y |
Ping đang hoạt động | N | N | Y | Y | N | N | Y | Y | |
Mở trang web | Y | N | Y | N | Y | N | Y | N | |
Hành động | Kiểm tra cáp mạng | X | |||||||
Kiểm tra bộ định tuyến internet | X | X | X | X | |||||
Khởi động lại trình duyệt web | X | ||||||||
Liên hệ với nhà cung cấp dịch vụ | X | X | X | X | X | X | |||
Không hành động |
Thực thể-Mô hình mối quan hệ
Mô hình Thực thể-Mối quan hệ là một kiểu mô hình cơ sở dữ liệu dựa trên khái niệm về các thực thể trong thế giới thực và mối quan hệ giữa chúng. Chúng ta có thể ánh xạ kịch bản thế giới thực vào mô hình cơ sở dữ liệu ER. Mô hình ER tạo ra một tập hợp các thực thể với các thuộc tính của chúng, một tập hợp các ràng buộc và mối quan hệ giữa chúng.
Mô hình ER được sử dụng tốt nhất cho thiết kế khái niệm của cơ sở dữ liệu. Mô hình ER có thể được biểu diễn như sau:
Entity - Một thực thể trong Mô hình ER là một thế giới thực, có một số thuộc tính được gọi là attributes. Mọi thuộc tính được xác định bởi tập giá trị tương ứng của nó, được gọi làdomain.
Ví dụ, Hãy xem xét một cơ sở dữ liệu trường học. Ở đây, học sinh là một thực thể. Sinh viên có các thuộc tính khác nhau như tên, id, tuổi và lớp, v.v.
Relationship - Sự liên kết logic giữa các thực thể được gọi là relationship. Các mối quan hệ được ánh xạ với các thực thể theo nhiều cách khác nhau. Các bản đồ ánh xạ xác định số lượng liên kết giữa hai thực thể.
Ánh xạ các bản đồ:
- một đối một
- một đến nhiều
- nhiều đến một
- nhiều nhiều
Từ điển dữ liệu
Từ điển dữ liệu là tập hợp thông tin tập trung về dữ liệu. Nó lưu trữ ý nghĩa và nguồn gốc của dữ liệu, mối quan hệ của nó với dữ liệu khác, định dạng dữ liệu để sử dụng, v.v. Từ điển dữ liệu có định nghĩa chặt chẽ về tất cả các tên để tạo điều kiện thuận lợi cho người dùng và nhà thiết kế phần mềm.
Từ điển dữ liệu thường được tham chiếu như kho lưu trữ siêu dữ liệu (dữ liệu về dữ liệu). Nó được tạo cùng với mô hình DFD (Data Flow Diagram) của chương trình phần mềm và dự kiến sẽ được cập nhật bất cứ khi nào DFD được thay đổi hoặc cập nhật.
Yêu cầu của Từ điển Dữ liệu
Dữ liệu được tham chiếu thông qua từ điển dữ liệu trong khi thiết kế và triển khai phần mềm. Từ điển dữ liệu loại bỏ bất kỳ khả năng mơ hồ nào. Nó giúp giữ cho công việc của các lập trình viên và nhà thiết kế được đồng bộ hóa trong khi sử dụng cùng một tham chiếu đối tượng ở mọi nơi trong chương trình.
Từ điển dữ liệu cung cấp một cách tài liệu cho hệ thống cơ sở dữ liệu hoàn chỉnh ở một nơi. Việc xác nhận DFD được thực hiện bằng từ điển dữ liệu.
Nội dung
Từ điển dữ liệu phải chứa thông tin về những điều sau
- Dòng dữ liệu
- Cấu trúc dữ liệu
- Yếu tố dữ liệu
- Kho dữ liệu
- Xử lí dữ liệu
Luồng dữ liệu được mô tả bằng các DFD như đã nghiên cứu trước đó và được biểu diễn dưới dạng đại số như đã mô tả.
= | Gồm |
---|---|
{} | Sự lặp lại |
() | Không bắt buộc |
+ | Và |
[/] | Hoặc là |
Thí dụ
Địa chỉ = Số nhà + (Đường / Khu vực) + Thành phố + Tiểu bang
ID khóa học = Số khóa học + Tên khóa học + Cấp độ khóa học + Điểm khóa học
Yếu tố dữ liệu
Các phần tử dữ liệu bao gồm Tên và mô tả các Mục Dữ liệu và Kiểm soát, Kho lưu trữ dữ liệu Nội bộ hoặc Bên ngoài, v.v. với các chi tiết sau:
- Tên chính
- Tên phụ (Bí danh)
- Ca sử dụng (Sử dụng như thế nào và ở đâu)
- Mô tả nội dung (Ký hiệu, v.v.)
- Thông tin bổ sung (giá trị đặt trước, ràng buộc, v.v.)
Kho dữ liệu
Nó lưu trữ thông tin từ nơi dữ liệu đi vào hệ thống và tồn tại ngoài hệ thống. Kho dữ liệu có thể bao gồm -
- Files
- Nội bộ của phần mềm.
- Bên ngoài phần mềm nhưng trên cùng một máy.
- Bên ngoài phần mềm và hệ thống, nằm trên các máy khác nhau.
- Tables
- Quy ước đặt tên
- Lập chỉ mục tài sản
Xử lí dữ liệu
Có hai loại Xử lý Dữ liệu:
- Logical: Như người dùng thấy nó
- Physical: Như phần mềm thấy nó