Các yêu cầu khác: hệ thống phải đáng tin cậy, đưa ra các báo cáo, thông tinchính xác, kịp thời và được thiết kế mở giúp nâng cấp chương trình trong tương lai để có thế đáp ứng sự thay đ
Trang 1PHƯƠNG PHÁP LUẬN VỀ QUY TRÌNH XÂY DUNG PHẦN MỀM QUẢN
LÝ CỔ ĐÔNG CỔ TỨC
Sau khi phân tích hiện trạng quản lý cổ đông, cổ tức và tiến trình bầu cử của công ty cổ phần Naphaco, giải pháp xây dựng một phần mềm nhằm khắc phục những nhược điểm trên được đưa ra trong chương này tác giả sẽ trình bày phương pháp luận để xây dựng một phần mềm Nội dung chính của chương gồm hai mục lớn đó là:
- Chu kỳ sống của phần mềm
- Quy trình xây dựng phần mềm
2.1.Đặc trưng và chu kỳ sống của một phần mềm quản lý cổ đông, cổ tức
2.1.1 Đặc trưng của một phần mềm quản lý cổ đông, cổ tức
Phần mềm quản lý cổ đông, cổ tức ngoài những đặc tính của phần mềmthông thường nó còn có những điểm riêng như sau:
Mục tiêu: Hỗ trợ đắc lực cho những cán bộ làm công tác quản lý trong
công ty cổ phần Phần mềm giúp tạo lập một môi trường làm việc tích hợp, phục
vụ có hiệu quả các nhu cầu nhập liệu, hoạt động tác nghiệp, tra cứu, báo cáo, tổnghợp, thống kê các thông tin cổ đông, cổ tức của mọi đối tượng trong đơn vị từ cấplãnh đạo đến các cổ đông
Môi trường hệ thống: Số lượng người dùng khá lớn (bao gồm cả ban lãnh
đạo và các cổ đông) Người dùng chủ yếu truy vấn dữ liệu trực tiếp từ kho dữ liệutổng hợp, đòi hỏi khả năng bảo mật cao, không cho phép thông tin bị thay đổi từbên ngoài…
Giao diện người dùng: Dễ hiểu, tuân thủ và tương thích với nghiệp vụ
bằng tay đang được thực hiện
Trang 2 Yêu cầu về chức năng: quản lý cổ đông theo cổ phần sở hữu hoặc theo
các phòng ban, theo dõi chuyển nhượng cổ phần, cổ tức Hỗ trợ bầu cử như inphiếu bầu, nhập phiếu bầu, báo cáo kết quả bầu
Các thuật toán xử lý dữ liệu khá đơn giản
Các yêu cầu khác: hệ thống phải đáng tin cậy, đưa ra các báo cáo, thông tinchính xác, kịp thời và được thiết kế mở giúp nâng cấp chương trình trong tương lai
để có thế đáp ứng sự thay đổi về yêu cầu của quản lý cổ đông, cổ tức
2.1.2 Chu kỳ sống của phần mềm quản lý cổ đông, cổ tức
Chu kỳ sống của phần mềm là cấu trúc các hoạt động trong quá trình phát triểncủa hệ thống phần mềm và đưa phần mềm vào sử dụng bao gồm: Đặc tả yêu cầu,thiết kế, đánh giá và nâng cấp Theo Ian Sommerville, có thể phân chia quá trìnhthiết kế làm một số mô hình khác nhau như: mô hình tuần tự (thác nước), mô hìnhtương tác và mô hình xoáy ốc Hai mô hình tương tác và mô hình xoáy ốc thường ápdụng cho các dự án phần mềm tương đối phức tạp, có nhiều rủi ro trong qúa trìnhthực hiện Nhưng với các phần mềm quản lý cổ đông, cổ tức số các nghiệp vụ cần
xử lý không nhiều, quy trình tương đối đơn giản và dễ hiểu do vậy chúng ta có thểứng dụng mô hình thác nước như được biểu diễn trong hình 2.1.[10],[17], [26].Các giai đoạn của mô hình như trên được gọi là mô hình thác nước vì đầu racủa một giai đoạn lại là đầu vào của giai đoạn tiếp theo Điểm yếu cơ bản của môhình này là gặp phải khó khăn trong quá trình điều chỉnh để phù hợp với sự thayđổi yêu cầu của khách hàng khi đang trong quá trình thực hiện Do vậy, mô hình
Trang 3Xác định và phân tích yêu cầu
Thiết kế phần mềm và hệ thống
Triển khai và kiểm thử từng phần
Tích hợp và kiểm thử hệ thống
Vận hành và Bảo trì
Hình 2.1: Mô hình thác nước của vòng đời phát triển phần mềm
này chỉ phù hợp khi yêu cầu của phần mềm và hệ thống được xác định rõ ràng vàđầy đủ trong quá trình thiết kế Các giai đoạn của mô hình thác nước bao gồm:[22],[18], [26], [10]
(1) Xác định và phân tích yêu cầu: Nhu cầu về ứng dụng, sự cần thiết và mục
tiêu của hệ thống được tập hợp thông qua trao đổi với những người dùng hệ thống.Những thông tin này được xác định rõ dựa trên ý kiến của cả những người dùng vàcác phân tích viên
(2) Thiết kế phần mềm và hệ thống: Quá trình thiết kế hệ thống có thể được
phân thành thiết kế phần cứng và phần mềm Thiết kế phần mềm là cách thể hiệncác chức năng của phần mềm để có thể dịch thành ngôn ngữ máy mà máy tính cóthể đọc và hiểu được
(3) Triển khai và kiểm thử từng phần: Trong suốt giai đoạn này, các thiết kế
phần mềm được mã hoá thành một hoặc nhiều chương trình máy tính Kiểm thửtừng phần đảm bảo từng phân hệ đáp ứng các chức năng cần có
(4) Tích hợp và kiểm thử hệ thống: Các phân hệ chương trình được tích hợp
Trang 4và thực hiện kiểm thử toàn bộ hệ thống để đánh giá các yêu cầu phân tích có đượcthoả mãn hay không Sau quá trình kiểm thử, hệ thống phần mềm sẽ được bàn giaocho khách hàng.
(5) Vận hành và bảo trì: Tuy không nhất thiết nhưng đây thường là giai đoạn
dài nhất trong vòng đời phát triển của phần mềm Hệ thống được cài đặt và đưavào ứng dụng trong thực tế Hoạt động bảo trì sẽ sửa các lỗi phát sinh trong quátrình sử dụng chưa được phát hiện trong các giai đoạn trước, nâng cấp hệ thống đểđáp ứng yêu cầu mới phát sinh
2.2 Quy trình xây dựng một phần mềm quản lý cổ đông, cổ tức
2.2.1 Khảo sát hiện trạng và đặc tả yêu cầu
Đây là quá trình xác định các dịch vụ hệ thống cần cung cấp và các ràng buộcđối với hệ thống, là giai đoạn nền tảng để thiết kế một phần mềm nói chung, phầnmềm quản lý cổ đông, cổ tức nói riêng [14], [5], [12]
Quá trình thu thập này được định nghĩa là một tập hợp các hoạt động nhằmxác định các yêu cầu của phần mềm hỗ trợ bầu cử và quản lý cổ đông, cổ tức vàđặc tả các yêu cầu đó Trong đó, yêu cầu là các mô tả trừu tượng đến chi tiết vềdịch vụ mà hệ phần mềm cung cấp cũng như các ràng buộc đối với sự phát triển vàhoạt động của nó Các yêu cầu này sẽ giúp người dùng phần mềm nêu rõ các dịch
vụ hệ thống cung cấp cùng các ràng buộc trong hoạt động của nó Với các kỹ sưphần mềm, làm rõ các yêu cầu sẽ là cơ sở quan trọng để xây dựng phần mềm mới.Các yêu cầu của phần mềm có thể được chia làm 3 loại sau [18] :
Cá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
Trang 5Nghiên cứu tính khả thi
Phân tích yêu cầu
Xác định yêu cầu
Đặc tả yêu cầu
Các mô hình hệ thống
Báo cáo khả thi
Định nghĩa các yêu cầu Tài liệu yêu cầu
Đặc tả các yêu cầu
Hình 2.2: Quá trình thu thập yêu cầu
Các yêu cầu phi chức năng : Mô tả các ràng buộc tới 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, quy trình pháttriển…)
Các yêu cầu miền/ lĩnh vực : Những yêu cầu đặt ra từ miền ứng dụng, phảnứng những đặc trưng của miền đó
Một số thông tin khác, như báo cáo về tính khả thi của hệ thống cũng như đặc
tả phần mềm cũng như đưa ra trong giai đoạn này Kết quả của giai đoạn này là Dự
án khả thi, Mô hình hệ thống Các đặc tả yêu cầu và tài liệu yêu cầu bao gồm các
Trang 6định nghĩa yêu cầu và đặc tả các yêu cầu đó, kết luận về tính khả thi…
Có bốn bước cơ bản trong quá trình thu thập yêu cầu được mô tả trên hình 2.2bao gồm [18], [26], [19] :
Nghiên cứu tính khả thi : Nhằm đi đến kết luận "Có nên xây dựng phần
mềm hay không ? " Đánh giá xem phần mềm xây dựng có thoả mãn các yêu cầucủa người dùng không và có đem lại hiệu quả kinh tế cho đơn vị cũng như nằmtrong ngân sách có thể chi không
Phân tích yêu cầu : Đây là quá trình tìm ra các yêu cầu của phần mềm
thông qua quan sát hệ thống hiện tại, tại công ty cổ phần Naphaco, thảo luận vớingười sử dụng, phân tích công việc Những hoạt động trong giai đoạn này được mô
tả trong hình 2.3 bao gồm :
- Hiểu biết lĩnh vực ứng dụng : Phân tích viên hệ thống trước khi đi sâu phân
tích chi tiết cần có một cái nhìn tổng quát về lĩnh vực ứng dụng Để phân tích cácyêu cầu của phần mềm quản lý cổ đông, cổ tức, phân tích viên cần tìm hiểu thôngtin về hoạt động trong đơn vị cổ đông, cổ tức càng nhiều càng tốt
- Thu thập yêu cầu : Trao đổi với người dùng để tìm hiểu yêu cầu của phần
mềm mới thông qua các phương pháp phỏng vấn, quan sát, điều tra bằng bảng câuhỏi, nghiên cứu tài liệu…
- Phân loại yêu cầu : Từ các yêu cầu không có cấu trúc thu thập được, phân
tích viên sẽ phân loại các yêu cầu này
- Giải quyết mâu thuẫn : giữa những người dùng luôn có những mâu thuẫn,
do vậy phân tích viên cần xác định và giải quyết mâu thuẫn này
- Xếp loại ưu tiên các yêu cầu : Trong số các yêu cầu sẽ có những yêu cầu
quan trọng hơn những yêu cầu khác Giai đoạn này liên quan đến công tác tìm vàsắp xếp theo mức độ ưu tiên của yêu cầu
- Thẩm định yêu cầu : Kiểm tra lại các yêu cầu có đủ và đáp ứng đúng mô tả
Trang 7Xác định
và đặc tả yêu cầu
6.Thẩm định yêu cầu
1 Hiểu biết lĩnh vực quản lý cổ đông, cổ tức
2 Thu thập yêu cầu của người sử dụng
5 Xếp hạng ưu tiên các yêu cầu
4 Giải quyết mâu thuẫn
3 Phân loại yêu cầu
Hình 2.3: Quy trình phân tích các yêu cầu
của người dùng không ? Thẩm định yêu cầu liên quan đến việc kiểm tra tính đúngđắn, tính nhất quán, tính hiện thực và kiểm tra được của yêu cầu cụ thể là : Có thoảmãn được nhu cầu của người dùng ? Yêu cầu không mâu thuẫn nhau ? Yêu cầuphải đầy đủ chức năng và ràng buộc ? Yêu cầu phải là hiện thực ? Yêu cầu có thểkiểm tra được ?
Trang 8Hồ sơ sau khi có mã
Dữ liệu hồ sơ Phòng kế toán
Điền thông tin vào sổ cổ đông
Kho dữ liệu sổ cổ đông
Cấp sổ cổ đông
Lưu hồ sơ vào kho dữ liệu
Dữ liệu chi tiết
Hình 2.4: Ví dụ về sơ đồ luồng dữ liệu
Trong quá trình phân tích thường gặp những khó khăn sau [21], [18]:
- Dễ hiểu lầm do khách hàng sử dụng các thuật ngữ riêng
- Các khách hàng thường mơ hồ về yêu cầu không biết mình muốn cụ thểđiều gì, dễ lẫn lộn giữa yêu cầu và mong muốn
- Nhiều nhóm người dùng có những yêu cầu mâu thuẫn nhau
- Những yếu tố tổ chức và chính sách có thể làm ảnh hưở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 thường thay đổi trong quá trình phân tích : môi trường nghiệp
vụ thay đổi, có nhóm người đối tượng liên quan mới
Một trong số các đầu ra của quá trình phân tích yêu cầu là tập hợp các môhình biểu diễn các mô tả tổng quát hệ thống Có nhiều kiểu mô hình khác nhau vàchúng cung cấp các cách hiểu biết hệ thống khác nhau Đây là cầu nối giữa cácphân tích viên và thiết kế viên Tuỳ thuộc vào bản chất của hệ thống cần phân tích
mà phân tích viên sẽ lựa chọn một hoặc một số mô hình hệ thống phù hợp theo đốitượng, luồng dữ liệu, lớp đối tượng và thừa kế, phân rã chức năng…
thông tin
Trang 9Các mô hình sẽ giúp làm rõ các dịch vụ hệ thống cần cung cấp và các ràngbuộc trong hoạt động của nó Như ta đã biết, sơ đồ luồng dữ liệu là mô hình khá đơngiản và trực quan Chúng ta có thể sử dụng loại sơ đồ này kết hợp với các công cụkhác như sơ đồ chức năng, sơ đồ quan hệ thực tế, từ điển dữ liệu,… để mô tả cácquá trình xử lý dữ liệu trong phần mềm quản lý cổ đông, cổ tức.
Minh hoạ ở hình 2.4 thể hiện các bước nhập thông tin về cổ đông mới mớitrong công ty cổ phần Hình vẽ cho thấy dữ liệu cổ đông được hoàn thiện dần quacác bước như thế nào cho đến khi được đưa vào kho dữ liệu Trong sơ đồ luồng dữliệu, quá trình xử lý, kho dữ liệu… Để mô tả rõ dữ liệu mà hệ thống xử lý, cán bộphân tích thường dùng đến từ điển dữ liệu Nó bao gồm các ký pháp để mô tả các
dữ liệu điều khiển và miền giá trị của chúng, thông tin về nơi (module) và cáchthức xử lý dữ liệu, cụ thể bao gồm [18] :
- Tên (Name) : Tên dữ liệu
- Biệt danh (Aliases) : Tên gọi khác
- Vị trí (Where) : Tên module xử lý
- Cách thức (How) : Vai trò của dữ liệu, cách thức xử lý
- Ký pháp (Description) : Ký pháp mô tả dữ liệu
- Format : Kiểu dữ liệu, giá trị mặc định…
Mục tiêu cuối cùng của bước này là cán bộ phân tích phải xác định đúng, đầy đủ
và chính xác tất cả các yêu cầu của hệ thống làm căn cứ cho các bước sau
Xác định yêu cầu : Hoạt động chuyển các thông tin được thu thập trong
hoạt động phân tích thành những tài liệu phản ánh chính xác các nhu cầu của người
Trang 10 Đặc tả yêu cầu : Mô tả chi tiết và chính xác các yêu cầu hệ thống, cụ thể
hoá các yêu cầu đó Đây cũng đồng thời là căn cứ để nghiệm thu phần mềm saunày
Ngoài ra, nếu khách hàng chưa xác định được cụ thể các yếu tố đầu vào, quytrình xử lý và các yếu tố đầu ra hoặc người kỹ sư phần mềm cũng còn chưa chắcchắn về tính hiệu quả của một giải thuật thì sẽ cần làm bản mẫu phần mềm Điềunày thường gặp với các hệ thống lớn và phức tạp Đây là một tiến trình mà kỹ sưphần mềm tạo ra một mô hình cho phần mềm cần phải xây dựng Bản mẫu này sẽ
là cơ sở để kỹ sư phần mềm cùng khách hàng đánh giá để tiếp tục phát triển đi đếnsản phẩm cuối cùng
2.2.2 Thiết kế hệ thống
Một thiết kế tối ưu là chìa khoá dẫn đến thành công của dự án Nhưng khôngthể chuẩn hoá quá trình thiết kế theo bất kỳ một quy tắc nhất định nào Thiết kế làmột quá trình đòi hỏi tính sáng tạo, tinh tế và hiểu biết sâu sắc của kỹ sư thiết kế.Quá trình thiết kế phần mềm đòi hỏi cán bộ phân tích thiết kế hệ thống hiểu rõ quytrình, cách thức truyền dữ liệu trong tổ chức, mối quan hệ giữa quy trình đó vớicông tác ra quyết định và quy trình đó giúp thực hiện các mục tiêu của hệ thốngnhư thế nào Đó là lý do giải thích mối quan hệ chặt chẽ giữa quá trình phân tích vàthiết kế hệ thống Thiết kế phần mềm cung cấp cách biểu diễn phần mềm có thểđược xác nhận về chất lượng, là cách duy nhất mà chúng ta có thể chuyển hoá mộtcách chính xác các yêu cầu của khách hàng thành sản phẩm hay hệ thống phầnmềm cuối cùng Không có thiết kế có nguy cơ đưa ra một hệ thống không ổn định -một hệ thống sẽ thất bại Thiết kế tốt là bước quan trọng đầu tiên để đảm bảo chấtlượng phần mềm
[3]
Trang 11Thiết kế sơ bộ Dự thảo thiết kế Thiết kế chi tiết Bản thiết kế
mà phát triển thông qua nhiều phiên bản khác nhau Quá trình thiết kế là sự hoànthiện và chi tiết hoá các thiết kế trước Quá trình đó có thể được minh hoạ tronghình 2.5
Quá trình thiết kế còn là sự phát triển một số mô hình của hệ thống theo nhiềumức độ trừu tượng khác nhau Khi một hệ thống được phân tích, các lỗi và nhữngchỗ bị bỏ sót trong các giai đoạn trước sẽ được phát hiện và làm hoàn thiện dầnqua các bản thiết kế Hình 2.6 minh hoạ mô hình chung của quá trình thiết kế vàcác mô tả thiết kế được viết trong các giai đoạn khác nhau của quá trình thiết kế.[26]
Trang 12CÁC SẢN PHẨM THIẾT KẾ
Hình 2.6: Mô hình chung của quá trình thiết kế
Tài liệu đặc tả là kết quả đầu ra của các hoạt động thiết kế Những đặc tả này
có thể là những mô tả khái quát để làm rõ yêu cầu người dùng hoặc là những diễngiải cách thức thực hiện một yêu cầu nào đó Trong các giai đoạn sau của quá trìnhthiết kế, các đặc tả sẽ càng chi tiết hơn Kết quả cuối cùng của quá trình này là cácđặc tả chi tiết về thuật toán và cấu trúc dữ liệu sẽ được cài đặt Hình 2.6 mô tả cácquá trình thiết kế cho thấy các giai đoạn của quá trình thiết kế được sắp xếp có thứ
tự Những thực tế, các hoạt động thiết kế được thực hiện song song với nhau Tuyvậy, các hoạt động này cũng là những công việc cần thực hiện trong quá trình thiết
kế một phần mềm, bao gồm :
Thiết kế kiến trúc: Phân tích các chương trình con của phần mềm và xác
định các mối quan hệ giữa các phân hệ
Đặc tả khái quát : Các chương trình con sẽ được mô tả chung về yêu cầu
chức năng cũng như các ràng buộc
Thiết kế giao diện : Thiết kế giao diện giữa các chương trình con với nhau,
mô tả cần rõ ràng, giúp người đọc hiểu cách dùng các chương trình con
Thiết kế các phân hệ : Thiết kế việc phân chia dịch vụ của các chương
trình con và giao diện các dịch vụ đó
Trang 13 Thiết kế cấu trúc dữ liệu : Thiết kế và mô tả cấu trúc dữ liệu của hệ
thống
Thiết kế thuật toán : Thiết kế và mô tả các thuật toán được sử dụng trong
phần mềm
Quá trình này được lặp đi lặp lại với mỗi chương trình con đến khi các phân
hệ chương trình được thiết kế chi tiết đến từng module lập trình
Trang 14Phương pháp Top - down là cách thức tối ưu để thực hiện các bước này.Phương pháp thiết kế này giúp khắc phục hầu hết các vấn đề xảy ra trong quátrình thiết kế Các chương trình con được thiết kế theo các lớp thứ tự từ cao đếnthấp Phương pháp Top - down là phương pháp thiết kế khoa học, có hệ thống,đặc biệt phù hợp với các bài toán xây dựng từ đầu như phần mềm quản lý cổđông, cổ tức đang được đề cập Sơ đồ HIPO (Hierarchy Plus Input, Process, andOutput) là một trong những công cụ áp dụng phương pháp Top - down, được sửdụng để mô tả PHầN MềM Khởi nguồn từ những năm 1970, công cụ này đượchãng IBM phát triển dùng làm tài liệu mô tả chức năng chương trình Ngày nay,biểu đồ HIPO là một công cụ thiết kế được sử dụng phổ biến trong quá trình xâydựng các PHầN MềM Sơ đồ thường do phân tích viên lập nên thể hiện các chứcnăng của hệ thống bắt đầu từ những các biểu đồ tổng quát, dần dần được chi tiếthoá đến từng chức năng Dựa trên sơ đồ hình cây thể hiện các chức năng cơ bảncủa hệ thống, phân tích viên sẽ tiếp tục phân rã các chức năng đó thành các chứcnăng nhỏ hơn nằm trong các chức năng cơ bản [28] (Hình 2.8).
Trang 15DANH SÁCH DỮ LIỆU BÁO CÁO
THÊM THÔNG TIN CỔ ĐÔNG XOÁ THÔNG TIN CỔ ĐÔNG SỬA THÔNG TIN CỔ ĐÔNG
Thêm bản ghi trong danh sách cổ đông Hiển thị các bản ghi danh sách Tìm kiếm trong danh sách cổ đông Xoá bản ghi trong danh sách cổ đông Sửa bản ghi trong trong danh sách cổ đông
Hình 2.7: Ví dụ về sơ đồ HIPO
Để hình thành sơ đồ HIPO, phân tích viên cần thực hiện nhiều cuộcnói chuyện với người sử dụng hệ thống về những chức năng mong đợi trong hệthống mới, các yêu cầu về thông tin đầu ra, các xử lý cần có trong mỗi trường hợp,các dữ liệu được xử lý và phân phối, mối quan hệ giữa các chức năng Khi sơ đồhình cây HIPO được lập, phân tích viên sẽ soát xét hệ thống theo hướng từ trênxuống Từ chức năng cơ bản của hệ thống, phân tích viên xác định tính đúng đắnkhi phân rã các chức năng khác ở cấp dưới, cấu trúc của quá trình phân rã có đápứng yêu cầu người dùng Một điểm mạnh của sơ đồ HIPO là tính đơn giản, mộtcông cụ thông tin hiệu quả, dễ hiểu, dễ sử dụng các ký hiệu trong sơ đồ Sơ đồ mô
tả trực quan đầu vào, các chức năng trong hệ thống và đầu ra cho phép người xem
dễ dàng hình dung được cấu trúc của hệ thống Mặc dù vậy, khó có thể dùng sơ đồHIPO để mô tả một hệ thống quá phức tạp [29]
2.2.2.2.Phương pháp thiết kế có cấu trúc [2]
Phương pháp thiết kế có cấu trúc đã được sử dụng phổ biến và rộng rãi trongphân tích và thiết kế hệ thống từ những năm 1970 Mặc dù, hiện nay, phương phápthiết kế hướng đối tượng đã dần thay thế cho phương pháp thiết kế có cấu trúc,song phương pháp này vẫn có một chỗ đứng nhất định và vẫn là phương pháp được
sử dụng nhiều nhất trong thực tế Gần 40 năm phát triển phương pháp thiết kế cócấu trúc đã được rất nhiều người cải tiến và ngày càng hoàn thiện Phương phápnày là sự đúc kết kinh nghiệm phát triển và triển khai của nhiều phần mềm trênkhắp thế giới Phương pháp có cấu trúc là phương pháp dễ áp dụng, nhưng lại rấthiệu quả và có thể sử dụng trong các hệ thống quản lý cổ đông, cổ tức
Phương pháp thiết kế có cấu trúc tập trung vào phân tích các dòng dữ liệu vàquá trình xử lý Chính vì vậy, các công cụ hỗ trợ thiết kế chủ yếu là các sơ đồ dòng
dữ liệu, sơ đồ quan hệ thực thể, sơ đồ cấu trúc… Phương pháp thiết kế có cấu trúc
Trang 16bao gồm tập hợp các hoạt động, ký hiệu, mẫu biểu báo cáo, các nguyên tắc vànhững hướng dẫn thiết kế Phương pháp có cấu trúc thường hỗ trợ một vài hoặc tất
cả các công cụ sau [26]:
- Sơ đồ luồng dữ liệu thể hiện sự phân rã chức năng chương trình, tập trungvào luồng dữ liệu vào ra, trao đỗi giữa các phân hệ
- Sơ đồ quan hệ thực thể biểu diễn cấu trúc kết hợp các dữ liệu
- Sơ đồ chức năng trong hệ thống cùng các mối quan hệ tương tác giữachúng
Không thể so sánh để xác định công cụ nào là tốt nhất, việc thành công củamột công cụ là phụ thuộc vào mức độ phù hợp với lĩnh vực ứng dụng Trongnhững trường hợp tương đối phức tạp như với một hệ thống quản lý cổ đông, cổtức, chúng ta phải kết hợp sử dụng một số công cụ này với nhau để có hình dung rõnét về hệ thống
2.2.2.3.Thiết kế cấu trúc
Quá trình thiết kế để xác định các phân hệ trong một hệ thống, cấu trúc củatừng phân hệ và quan hệ giữa chúng được gọi là thiết kế cấu trúc hay còn gọi làthiết kế chức năng Kết quả của quá trình này mô tả cấu trúc của phần mềm Đây làgiai đoạn đầu của quá trình thiết kế phần mềm, nối kết giữa quá trình đặc tả yêucầu và giai đoạn thiết kế Giai đoạn thiết kế cấu trúc thường được tiến hành songsong với một số hoạt động đặc tả yêu cầu Các bước công việc không thể thiếutrong quá trình thiết kế cấu trúc bao gồm [18] :
Cấu trúc hệ thống : hệ thống sẽ được cấu trúc thành một số phân hệ chính
và thiết lập quan hệ giữa chúng
Mô hình hoá điều khiển : tạo lập mô hình chung để quản lý các mối quan
hệ giữa các phân hệ trong hệ thống
Phân chia các module : mỗi phân hệ trong chương trình lại được chia
Trang 17thành các module nhỏ.
2.2.2.4.Thiết kế giao diện
Thiết kế giao diện tương tác giữa người dùng với máy tính là một bước quantrọng trong thiết kế ứng dụng phần mềm Giao diện cần phù hợp với trình độ, kinhnghiệm và mong đợi của người dùng Người dùng hệ thống thường đánh giá một
hệ thống thông qua giao diện hơn là qua các chức năng chương trình Nhữngchương trình có giao diện không đáp ứng yêu cầu người dùng thì sẽ không đượcchấp nhận Mặc dù, giao diện văn bản (text - based) vẫn được sử dụng trong một sốchương trình, nhưng công nghệ ngày nay và cùng với phạm vi người dùng phổ cậpcủa một phần mềm quản lý cổ đông, cổ tức đang được xem xét, chúng ta sẽ tậptrung vào loại giao diện đồ hoạ (Graphical User Interfaces - GUI) Đây là loại giaodiện thân thiện người dùng với một số đặc điểm sau [26]:
Các nguyên tắc thiết kế: Khi thiết kế giao diện cần chú ý đến nhu cầu,
kinh nghiệm và khả năng của người sử dụng Kỹ sư thiết kế cần lưu ý đến nhữngyếu tố con người trong thiết kế (hạn chế ghi nhớ trong thời gian ngắn, hay mắclỗi…) Dưới đây là một số nguyên tắc khi thiết kế:
Thân thiện người dùng: Màn hình giao diện nên sử dụng các thuật ngữ và
khái niệm quen thuộc với người dùng và được thiết kế theo những giấy tờ họ đanglàm việc
Thống nhất: Giao diện nên được thống nhất trong thiết kế, cách bố trí các
thông tin trên các cửa sổ chương trình
Giảm sự bất ngờ: Người dùng không bị bất ngờ với những phản ứng của hệ
thống Khôi phục: Giao diện cho phép người dùng khôi phục lại khi có lỗi
Các đặc điểm của giao diện đồ hoạ
- Các cửa sổ: Nhiều cửa sổ chương trình cho phép các thông tin khác