Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
đề cơng chi tiết
Đề tài: Phơng pháp thiết kế hớng dữ liệu trong công nghệ phần mềm.
Giáo viên hớng dẫn: pgs.ts Hàn Viết Thuận
Sinh viên : Phạm Thế Tân
Lớp : Tin Học 43C
Khoa: TinHọc Kinh Tế
Trờng Đại Học Kinh Tế Quốc Dân
Mở đầu
I. thiết kế và cấu trúc dữ liệu
1. Các đóng góp
2. Miền ứng dụng
3. Cấu trúc dữ liệu so với các kĩ thuật luồng dữ liệu
4. Cấu trúc dữ liệu so với thiết kế hớng sự vật
II. xem xét tiến trình thiết kế
III. phát triển hệ thống jackson
1. Các bớc thiết kế JSD
2. Bớc chức năng
3. Bớc thời gian hệ thống
4. Bớc cài đặt
5. Biểu diễn thủ tục
IV. phát triển hệ thống có cấu trúc dữ liệu
1. Cách tiếp cận thiết kế đã đơn giản hoá
2. Suy dẫn về cấu trúc cái ra logic
3. Suy dẫn ra cấu trúc xử lí logic
4. Logic xử lí phức tạp
Kết Luận
Mở đầu
Mối quan hệ mật thiết giữa chơng trình và dữ liệu có thể đợc dõi về
nguồn gốc của tin học. Khái niệm nguyên thuỷ đằng sau máy tính lu trữ ch-
Phơng pháp thiết kế h ớng dữ liệu trong
xạ có dùng cấu trúc (dữ liệu) thông tin nh hớng dẫn.
1. Các đóng góp
Nguồn gốc của thiết kế hớng cấu trúc dữ liệu có thể tìm thấy trong
những thảo luận về nền tảng của cấu trúc dữ liệu, thuật toán máy tính, cấu
trúc điều khiển và dữ liệu, và khái niệm về trừu tợng dữ liệu. Những xử lí
thực chứng hơn về thiết kế phần mềm và mối quan hệ của nó với cấu trúc dữ
liệu đã dợc Jackson, Warnier và Orr đề nghị.
Lập trình có cấu trúc Jackson (JSP), một phơng pháp thiết kế phần
mềm đợc sử dụng rộng rãi, lấy quan điểm là sự song song giữa cấu trúc của
dự liệu vào và dữ liệu ra (báo cáo) sẽ đảm bảo chất lợng thiết kế. Những mở
rộng gần đây hơn thành phơng pháp luận, gọi là phát triển hệ thống Jackson,
tập trung vào việc xác định các thực thể thông tin và những hành động đợc áp
dụng lên chúng và hoàn toàn tơng tự trong một số khía cạnh của cách tiếp
cận thiết kế hớng sự vật đã đợc mô tả. Jackson nhấn mạnh về mặt thực hành,
phát triển thực chứng để biến đổi dữ liệu thành cấu trúc chơng trình.
Xây dựng logic chơng trình (LPC), dợc J.D.Warnier phát triển, đa ra
một phơng pháp chặt chẽ cho thiết kế phần mềm. Rút ra từ mối quan hệ giữa
cấu trúc dữ liệu và cấu trúc thủ tục, Warnier đã phát triển một tập các kĩ thuật
Phơng pháp thiết kế hớng dữ liệu trong
CNPM
3
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
thực hiện ánh xạ tù cấu trúc dữ liệu vào/ra sang biểu diễn thủ tục chi tiết cho
phần mềm.
Phát triển hệ thống có cấu trúc dữ liệu (DSSD), cũng còn đợc gọi là
phơng pháp luận Warnier- Orr, là một mở rộng của LCP và bổ sung thêm các
khả năng phân tích cũng nh thiết kế mạnh. Cách tiếp cận DSSD đa ra một kí
pháp và nhiều thủ tục để suy ra cấu trúc dữ liệu, cấu trúc chơng trình, và thiết
kế thủ tục chi tiết cho các thành phần chơng trình (mô đun). Bên cạnh đó,
DSSD cung cấp một kí pháp làm cho ngời thiết kế có khả năng xem xét luồng
ớng theo thông tin; cả hai đều định biến đổi thông tin thành biểu diễn phần
mềm; cả hai đều dựa trên các khái niệm suy diễn tách biệt về thiết kế tốt.
Thiết kế hớng cấu trúc dữ liệu không dùng biểu đồ luồng dữ liệu một
cách tờng minh. Do đó, các phân loại phép biến đổi và luồng giao tác ít có
liên can tới phơng pháp thiết kế hớng cấu trúc dữ liệu. Điều quan trọng hơn
mục tiêu cuối cùng của phơng pháp hớng cấu trúc dữ liệu là tạo ra một mô tả
thủ tục cho phần mềm. Khái niệm về cấu trúc mô đun chơng trình không đợc
xem xét một cách tờng minh. Các mô đun đợc coi nh các thứ phẩm của thủ
tục và triết lí về sự độc lập của mô đun cũng ít đợc nhấn mạnh tới.
Thiết kế hớng cấu trúc dữ liệu dùng biểu đồ phân cấp để biểu diễn cấu
trúc thông tin. Do đó, việc nhấn mạnh trong phân tích các yêu cầu phần mềm
phải đợc đặt vào các mô hình biểu diễn này.
4. Cấu trúc dữ liệu so với thiết kế hớng sự vật
Vì thiết kế hớng cấu trúc dữ liệu và thiết kế hớng sự vật tập trung vào
các sự vật thế giới thực và biểu diễn của chúng trong hệ thống dựa trên phần
mềm nên có những điểm tơng đồng quan trọng giữa hai phơng pháp thiết kế.
Giống nh việc so sánh giữa các phơng pháp hớng cấu trúc dữ liệu và hớng
luồng dữ liệu, thiết kế hớng cấu trúc dữ liệu và OOD cả hai đều hớng thông
tin; cả hai đều dùng một biểu diễn dữ liệu làm cơ sở cho việc phát triển mộ
biểu diễn chơng trình; cả hai có khái niệm riêng của chúng (đợc suy diễn độc
lập) về thiết kế tốt. Cấp bậc dữ liệu (đợc dùng trong các phơng pháp hớng
cấu trúc dữ liệu) là tơng tự với cấp bậc lớp đợc dung trong OOD. Cả hai đều
Phơng pháp thiết kế hớng dữ liệu trong
CNPM
5
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
áp dụng các trừu tợng dữ liệu và mỗi phơng pháp đều coi các thao tác biến
đổi dữ liệu là thứ yếu so với chính khoản mục dữ liệu.
Sự khác biệt chủ yếu giữa OOD và phơng pháp thiết kế hóng cấu trúc
dữ liệu ở trong định ngiã về sự vật. Trong OOD, một sự vật bao bọc cả dữ
việc phân tích và thiết kế phần mềm. Để tiến hành JSD, ngời phân tích và ng-
ời thiết kế thực hiện các bớc sau:
Bớc hành động thực thể. Dùng cách tiếo cận hoàn toàn tơng tự nh kí
thuật phân tích hớng sự vật, xác định các thực thể (con ngời, sự vật, tổ chức
mà hệ thống cần tạo ra hay sử dụng thông tin) và hành động (các sự kiện
xuất hiện trong thế giới thực ảnh hởng tới thực thể).
Bớc cấu trúc thực thể. Các hành động ảnh hởng đến từng thực thể đ-
ợc sắp xếp theo thời gian và đợc biểu diễn bằng biểu đồ Jackson (kí pháp
kiểu cây sẽ đợc giới thiệu lại trong mục này).
Bớc mô hình ban đầu. Biểu diễn các thực thể và hành động nh một
mô hình tiến trình; xác định mối nối giữa mô hình và thế giới thực.
Bớc chức năng. Xác định các chức năng tơng ứng với hành động đã
xác định.
Bớc định thời gian hệ thống. Các đặc trng lập lịch tiến trình đợc định
giá và xác định.
Bớc cài đặt. Phần cứng và phần mềm đợc xác định nh một thiết kế.
Bức hành động thực thể bắt đầu với một phát biểu ngắn gọn trong
tiếng Anh (hay tiếng Việt) vầ vấn đề mà từ đó các thực thể (danh từ) và hành
động (động từ) đợc chọn ra. Chỉ những thực thể và hành động có mối quan hệ
trực tiếp với giải pháp phần mềm mới đợc chọn ra để đánh giá thêm.
Bớc cấu trúc thực thể tạo ra một biểu đồ Jackson mô tả đặc tả theo thời
gian của những hành động đợc thực hiện trên hay bởi một thực thể. Biểu đồ
Jackson, đợc vẽ trong Hình 1 (cho dịc vụ xe con thoi của trờng đại học hay ví
dụ USS ), đợc tạo ra cho từng thực thể (thực thể xe và nút trong trờng hợp
Hình 1) và thờng đợc đi kèm bởi văn bản lời thuật.
Phơng pháp thiết kế hớng dữ liệu trong
CNPM
7
Xe con
thoi
SV
Tiến trình - 1
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
Hình 2 Kí pháp SSD
1. Các bớc thiết kế JSD
Để thảo luận về các bớc thiết kế cho việc phát triển hệ thống Jackson,
thí dụ về con thoi của trờng đại học phát biểu bài toán:
một đại học lớn trải trên hai khu trờng sở cách nhau gần hai ki lô mét.
Để giúp cho sinh viên phải đi lại giữa hai khu trờng sở này nghe bài giảng
đúng giờ, đi học lập kế hoạch thiết lập dịch vụ xe khách tuyến ngắn. Dịch vụ
tuyến ngắn chỉ sử dụng một xe con thoi tốc độ cao đi qua các đờng giữa các
điểm đỗ tại các khu trờng sở. Mỗi điểm đỗ đều có một nút gọi mà sinh viên
có thể dùng để yêu cầu vận chuyển tới điểm kia. Khi sinh viên tới một điểm
đỗ, họ nhấn nút gọi. Nếu xe đã sẵn có đấy thì họ lên xe và đi tới điểm đỗ kia,
nhận sinh viên (nếu có) rồi trở lại. Nếu xe đang ở điểm đỗ kia thì nó sẽ rời
bến quay lại để đón sinh viên vừa nhấn nút. Xe sẽ đợi tại từng điểm đỗ cho
tới khi có yêu cầu dich vụ tiếp (một nút đợc nhấn) xuất hiện.
Các thực thể đợc lựa ra bằng cách xem xét tất cả các danh sách từ
trong lời mô tả. Sau khi xem xét mô tả trên, các thực thể ứng cử viên sau đây
đợc lựa ra: đại học, khu trờng sở, sinh viên, bài giảng, xe, điểm đỗ và nút,
chúng ta không quan tâm trực tiếp tới khu trờng sở, sinh viên, bài giảng,
hay điểm đỗ - tất cả chúng nằm ngoài biên giớ mô hình và đều bị bác bỏ
không phảI là các thực thể có thể. Đại học đơn thuần là một tập thể cho cả
hai khu trờng sở, cho nên chúng ta bác bỏ nó nh một thực thể . Chúng ta chọn
xe và nút. Dùng cách phân tích tơng tự , chúng ta chọn tới, nhấn và rời nh
những hành động ảnh hởng tới xe và nút.
Biểu đồ cấu trúc Jackson cho xe và nút đợc vẽ trong Hình 1. Biểu đồ
đặc tả hệ thống cho USS đợc minh hoạ trong Hình 3. Cuối cùng, bớc mô hình
ban đầu cho USS đợc tiến hành nh mô tả trong thảo luận sau.
Phơng pháp thiết kế hớng dữ liệu trong
Read BD:
PUSH-BDY itr while BD
PUSH;
Read DB;
PUSH-BDY end
Nút-1 end
Cấu trúc nút-1 tơng ứng đồng nhất với cấu trúc của Nút-0, với việc
thêm thao tác Read nối thế giới thực với hệ thống.
Nh đợc lu ý trớc đây, tiến trình SHUTTLE-1 không thể đợc nối với
thành phần thế giới thực tơng ứng của nó bằng mối nối luồng dữ liệu. Thay vì
thế, chúng ta phải hỏi các công tắc xem đang dợc bật hay tắt bởi việc tới hay
đi của xe. Tiến trình hệ thống phải giám định thực thể thế giói thực khá th-
ờng xuyên để đảm bảo rằng không hành động nào xảy ra mà không bị phát
Phơng pháp thiết kế hớng dữ liệu trong
CNPM
11
Hành động tuần tự
Hành động lặp
Hành động tuyển chọn
*
0 0
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
hiện. Điều này đợc thực hiện bởi thực hiện một thao tác Getsv (lấy véc tơ
trạng thái) để thu đợc từng giá trị của véc tơ trạng thái một số lần trớc khi nó
bị thay đổi, và tiến trình mô hình có thể đợc khởi thảo để chỉ ra các giá trị
đang đổi này của các véc tơ trạng thái. Một mô tả văn bản cấu trúc của
SHUTTLE-1 là nh sau:
SHUTTLE-1 seq
Getsv SV:
WAIT-BDY itr while TRANSIT1
Mục đích của bớc chức năng JSD là để mở rộng biểu đồ đặc tả hệ
thống bằng cách nói các tiến trình chức năng mới đợc định nghĩa với các tiến
trình mô hình thông qua dòng dữ liệu hay véc tơ. JSD thừa nhận ba loại chức
năng:
Chức năng nhúng. Chức năng này đạt đợc bằng cách cấp phát (ghi)
các thao tác thành văn bản cấu trúc tiến trình mô hình.
Chức năng áp đặt. Chức năng này kiểm tra véc tơ trạng thái của tiến
trình mô hình và tạo ra kết quả.
Chức năng tơng tác. Chức năng này kiểm tra véc tơ trạng thái của tiến
trình mô hình, ghi ra một dòng dữ liệu đẻ ảnh hởng tới các hành động của
tiến trình mô hình và bao gồm các thao tá ghi kết quả.
Cái ra của các tiến trình chức năng chính là cái ra hệ thống và có thể là
báo cáo, mệnh lệnh cho các thiết bị phần cứng, hay bất kì thông tin đi ra nào
khác.
Để minh hoạ cho bớc chức năng, ta xét thí dụ USS và xem xét mô hình
của xe con thoi. Trong xe con thoi, có một bảng đèn đợc dùng để chỉ ra việc
tới điểm đỗ với việc chiếu sáng một thông báo. Đèn đợc tắt bật bởi lệnh
LON(i) và LOFF(i). Một chức năng phải đợc nhúng vào trong mô hình tiến
trình xe con thoi để viết ra một lệnh lamp(i) khi xe tới điểm đỗ station(i).
Vởy, khi xe con thoi đi lại giữa các điểm đỗ thì nó đa ra một dòng dữ liệu
bao gồm các chỉ lệnh đèn. SSD biểu thị cho tình huống này đợc vẽ trong
Hình 5b.
Phơng pháp thiết kế hớng dữ liệu trong
CNPM
13
Website: http://www.docs.vn Email : [email protected] Tel (: 0918.775.368
Hình 5 (a) Biểu đồ cấu trúc tơng ứng với văn bản có cấu trúc
(b) SSD đã cập nhật.
Phơng pháp thiết kế hớng dữ liệu trong
CNPM
Getsv SV:
WAIT-BDY itr while TRANSIT1
Getsv SV;
WAIT-BDY end
LOFF(1)
LEAVE (1);
TRANSIT-DBY1 itr while TRANSIT1
Getsv SV;
TRANSIT-BDY1 end
SHUTTLE-BDY1 itr
STATION seq
ARRIVE (i);
LON(i);
WAIT-BDY itr while TRANSIT1
Getsv SV;
WAIT-BDY end
LOFF(i);
LEAVE (i)
TRANSIT-BDY itr while TRANSITi
Getsv SV;
TRANSIT-BDY end
STATION end
SHUTTLE-BDY end
ARRIVE (1);
SHUTTLE-1 end
Phơng pháp thiết kế hớng dữ liệu trong
CNPM
15