Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 34 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
34
Dung lượng
64,17 KB
Nội dung
PHƯƠNGPHÁPLUẬNVỀQUYTRÌNHXÂYDUNGPHẦNMỀMQUẢNLÝCỔĐÔNGCỔTỨC Sau khi phân tích hiện trạng quảnlý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ápxâydựng một phầnmề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ươngphápluận để xâydự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ầnmềm - Quytrìnhxâydựngphầnmềm 2.1.Đặc trưng và chu kỳ sống của một phầnmềmquảnlýcổ đông, cổtức 2.1.1. Đặc trưng của một phầnmềmquảnlýcổ đông, cổtứcPhầnmềmquảnlýcổ đông, cổtức ngoài những đặc tính của phầnmềm thô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ảnlý trong công ty cổ phần. Phầnmề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ổng hợ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ấp lã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ệu tổ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. Yêu cầu về chức năng: quảnlý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ư in phiếu bầu, nhập phiếu bầu, báo cáo kết quả bầu. Các đặc tính của ứng dụng • Dữ liệu đầu vào được nhập bằng bàn phím, công việc này thường được giao cho một số cán bộ chuyên trách đảm nhận. •Dữ liệu đầu ra chủ yếu dưới dạng báo cáo, màn hình hiển thị khi truy vấn thông tin. •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 tin chí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ảnlýcổ đông, cổ tức. 2.1.2. Chu kỳ sống của phầnmềmquảnlýcổ đông, cổtức Chu kỳ sống của phầnmềm là cấu trúc các hoạt động trong quá trình phát triển của hệ thống phầnmềm và đưa phầnmề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ình thiế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ình tươ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 áp dụng cho các dự án phầnmềm tương đối phức tạp, có nhiều rủi ro trong qúa trình thực hiện. Nhưng với các phầnmềmquảnlýcổ đông, cổtức số các nghiệp vụ cần xử lý không nhiều, quytrì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 ra củ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 Xác định và phân tích yêu cầu Thiết kế phầnmề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ầnmềm đổ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 này chỉ phù hợp khi yêu cầu của phầnmề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ầnmề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ầnmềm là cách thể hiện các chức năng của phầnmề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ầnmề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 và 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ó được thoả mãn hay không. Sau quá trình kiểm thử, hệ thống phầnmềm sẽ được bàn giao cho 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à đưa và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. Quytrìnhxâydựng một phầnmềmquảnlý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ầnmềm nói chung, phầnmềmquảnlý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ằm xác định các yêu cầu của phầnmềm hỗ trợ bầu cử và quảnlý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ầnmề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ùngphầnmề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âydựngphầnmềm mới. Các yêu cầu của phầnmềmcó 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ống phầnmềm cần cung cấp. Nghiê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ình phát triển hệ thống (về chất lượng, về môi trường, chuẩn sử dụng, quytrình phát triể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ầnmề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 định nghĩa yêu cầu và đặc tả các yêu cầu đó, kết luậnvề 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.2 bao 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âydựngphầnmềm hay không ? ". Đánh giá xem phầnmềmxâydựngcó thoả mãn các yêu cầu của người dùng không và có đem lại hiệu quả kinh tế cho đơn vị cũng như nằm trong 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ầnmề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ới ngườ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ác yêu cầu của phầnmềmquảnlýcổ đông, cổ tức, phân tích viên cần tìm hiểu thông tin 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ầnmềm mới thông qua các phươngpháp phỏng vấn, quan sát, điều tra bằng bảng câu hỏ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 Xá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ảnlýcổ đông, cổtức 2. Thu thập yêucầ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: Quytrìnhphân tích các yêu cầu 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ả 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ầu phả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 ? Hồ 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ìnhphâ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ùngcó 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ìnhphâ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ìnhphâ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ác phâ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 đối tượ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 Cá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àng buộc trong hoạt động của nó. Như ta đã biết, sơ đồ luồng dữ liệu là mô hình khá đơn giả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ác quá trình xử lý dữ liệu trong phầnmềmquảnlý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ới trong công ty cổ phần. Hình vẽ cho thấy dữ liệu cổđông được hoàn thiện dần qua cá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ách thứ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 độngphâ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 dùng. • Đặ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ầnmềm sau nà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ầnmềm cũng còn chưa chắc chắ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ều nà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ầnmềm tạo ra một mô hình cho phầnmềm cần phải xây dựng. Bản mẫu này sẽ là cơ sở để kỹ sư phầnmềm cùng khách hàng đánh giá để tiếp tục phát triển đi đến sả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ông thể 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ầnmềm đòi hỏi cán bộ phân tích thiết kế hệ thống hiểu rõ quy trình, cách thức truyền dữ liệu trong tổ chức, mối quan hệ giữa quytrình đó với công tác ra quyết định và quytrình đó giúp thực hiện các mục tiêu của hệ thống như thế nào. Đó là lý do giải thích mối quan hệ chặt chẽ giữa quá trìnhphân tích và thiết kế hệ thống. Thiết kế phầnmềm cung cấp cách biểu diễn phầnmềmcó 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ột cá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ất [...]... trình thiết kế mà còn hỗ trợ lập trình, sinh mã và nhiều công đoạn của quá trình sản xuất phần mềm Tóm lại, như chúng ta đã biết đặc thù của phần mềmquảnlý cổ đông, cổtức là kiểu ứng dụng thời gian thực và tập trung vào luồng dữ liệu vào ra Do vậy những yêu cầu quan trọng của một ngôn ngữ trong chương trìnhquảnlýcổ đông, cổtức là phải hỗ trợ đa người dùng, quảnlý được các kiểu dữ liệu như dữ... là phươngpháp được sử dụng nhiều nhất trong thực tế Gần 40 năm phát triển phươngphá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ươngpháp này là sự đúc kết kinh nghiệm phát triển và triển khai của nhiều phầnmềm trên khắp thế giới Phươngphápcó cấu trúc là phươngpháp dễ áp dụng, nhưng lại rất hiệu quả và có thể sử dụng trong các hệ thống quảnlýcổ đông, cổ tức. .. trúc ngữ nghĩa bên trong” Một điều rõ ràng là: phầnmềm phải chứa tài liệu bên trong Lời chú thích cung cấp cho người phát triển một ý nghĩa truyền thông với các độc giả khác về chương trình gốc Lời chú thích có thể cung cấp một hướng dẫn rõ rệt để hiểu trong bước cuối cùng của kỹ nghệ phầnmềm - bảo trì, nhất là những phần mềmquảnlý như quảnlýcổ đông, cổtức cần được nâng cấp bảo trì thường xuyên... các lớp thứ tự từ cao đến thấp Phươngpháp Top - down là phươngphá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âydựng từ đầu như phần mềmquảnlý cổ đông, cổtức đang được đề cập Sơ đồ HIPO (Hierarchy Plus Input, Process, and Output) là một trong những công cụ áp dụngphươngpháp Top - down, được sử dụng để mô tả PHầNMềM Khởi nguồn từ những năm 1970, công cụ này được hãng... thức vận hành của phầnmềm Đối với công tác tin học hoá các nghiệp vụ quảnlýcổ đông, cổ tức, đây không chỉ là chuyển đổi phần mềmquảnlý trong các phòng ban liên quan từ các tài liệu thiếu hệ thống, phân tán sang một hệ CSDL trong máy tính mà còn là sự thay đổi tư duy của người sử dụng Những người sử dụng cần được đào tạo về những cách thức cụ thể trong công việc, giải thích các quytrình nghiệp vụ... phát bộ nhớ lúc cần thiết 2.2.3.4 .Quản lý lỗi: Quảnlý lỗi là mức chương trình được cài đặt để phát hiện và quảnlý lỗi mà không phải dừng chương trình Khả năng này sẽ làm tăng độ phức tạp và mở rộng phạm vi hữu ích của ngôn ngữ 2.2.3.5.Hỗ trợ đa người dùng Phạm vi cấu trúc ngôn ngữ trong quảnlý bộ nhớ, biến cục bộ/ tổng thể, quảnlý chương trình con là sẵn dùng, nó quy t định tính hỗ trợ đa người dùng... trong phầnmề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 Phương pháp Top - down là cách thức tối ưu để thực hiện các bước này Phươngphá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 đến thấp Phươngpháp Top... trong chu kỳ sống của một phầnmềm bao gồm: • Quảnlý thay đổi ứng dụng: ứng dụng thường xuyên phải thiết kế lại vì các lý do sau dự án vượt quá ngân sách, ứng dụng chậm hoặc có nhiều lỗi • Quảnlý cấu hình: là sự định danh, sự tổ chức và kiểm soát các sự thay đổi phầnmềm bằng nhóm lập trình viên do có nhiều phiên bản chương trình • Quảnlý tài liệu: do sự thay đổi chương trình nên các tài liệu đi... đồ dễ dàng hình dung được cấu trúcvề sơ đồ HIPO 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ươngpháp thiết kế có cấu trúc đã được sử dụng phổ biến và rộng rãi trong phân tích và thiết kế hệ thống từ những năm 1970 Mặc dù, hiện nay, phươngpháp thiết kế hướng đối tượng đã dần thay thế cho phươngpháp thiết kế có cấu trúc, song phươngpháp này vẫn có một... trúc dữ liệu nên được chú giải đầy đủ về cấu trúc và chức năng, và các đặc thù về sử dụng 2.2.4.3 .Xây dựng câu lệnh Việc xâydựng luồng logic phầnmềm được thiết lập trong khi thiết kế Việc xâydựng từng câu lệnh tuy nhiên lại là một phần của bước lập trình Việc xâydựng câu lệnh nên tuân theo một quy tắc quan trọng hơn cả: mỗi câu lệnh nên đơn giản và trực tiếp Cách xâydựng câu lệnh đơn và việc lùi trong . 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. PHƯƠ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