« Home « Kết quả tìm kiếm

Nghiên cứu và ứng dụng mẫu thiết kế trong phương pháp hướng đối tượng


Tóm tắt Xem thử

- GIỚI THIỆU QUY TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ NGÔN NGỮ MÔ HÌNH HÓA.
- 3 1.1.2 Phương pháp phát triển phần mềm hướng đối tượng.
- 4 1.1.3 Chu trình phát triển phần mềm xoắn ốc.
- 4 1.1.4 Tiến trình phát triển phần mềm RUP.
- 6 1.2 NGÔN NGỮ MÔ HÌNH HÓA THỐNG NHẤT - UML.
- 10 1.2.2 Mô hình khái niệm của UML.
- 11 1.2.3 Kiến trúc hệ thống.
- 67 3.1.2 Các thành phần của hệ thống.
- 67 3.1.3 Kiến trúc môi trường hệ thống.
- 68 3.2 THU THẬP VÀ PHÂN TÍCH YÊU CẦU - MÔ HÌNH USE CASE.
- 69 3.2.1 Mục tiêu của hệ thống.
- 69 3.2.2 Đặc tả các chức năng hệ thống.
- 77 3.2.5 Mô hình hóa nghiệp vụ.
- 77 3.3 THU THẬP VÀ PHÂN TÍCH YÊU CẦU - MÔ HÌNH KHÁI NIỆM 82 3.3.1 Nhận biết các khái niệm (đối tượng.
- 85 3.4 HÀNH VI HỆ THỐNG - CÁC BIỂU ĐỒ TRÌNH TỰ.
- 87 3.4.1 Biểu đồ trình tự hệ thống.
- 87 3.4.2 Giao kèo thao tác của hệ thống.
- 88 3.5 THIẾT KẾ HỆ THỐNG.
- 106 3.5.5 Mô hình hóa dữ liệu.
- 119 1MỞ ĐẦU Phát triển phần mềm ngày càng trở lên phức tạp.
- Việc thay đổi giao diện chương trình từ các xâu ký tự sang giao diện đồ họa xu thế sự kiện, từ kiến trúc hệ thống đơn tầng, cơ sở dữ liệu tập trung sang kiến trúc hệ thống đa tầng khách/chủ, cơ sở dữ liệu phân tán, môi trường Internet làm tăng độ phức tạp của hệ thống phần mềm.
- Thách thức trong 20 năm tới của việc xây dựng hệ thống phần mềm không phải là tốc độ thực hiện chương trình, kinh phí hay sức mạnh của nó mà vấn đề là độ phức tạp.
- Tiếp cận hướng đối tượng đã tỏ ra lợi thế khi lập trình các hệ thống phức tạp.
- Thực tế cho thấy rằng phát triển phần mềm hướng đối tượng đã và sẽ đem lại phần mềm thương mại chất lượng cao, tin cậy, dễ mở rộng, dễ sử dụng lại, phù hợp với yêu cầu người dùng đang mong đợi.
- Chúng còn cho khả năng hoàn thành phần mềm đúng thời hạn và với kinh phí thường phù hợp với dự kiến ban đầu.
- Với mong muốn tìm hiểu và ứng dụng phương pháp phát triển phần mềm hướng đối tượng để có thể xây dựng các ứng dụng hiệu quả hơn cho ngành bưu điện, học viên đã lựa chọn và tập trung nghiên cứu phương pháp phân tích và thiết kế hướng đối tượng.
- Mục đích của luận văn là: nghiên cứu, nắm vững được phương pháp phân tích thiết kế hướng đối tượng, mẫu thiết kế, sử dụng ngôn ngữ mô hình hóa thống nhất UML (Unified Modeling Language) và công cụ phần mềm hỗ trợ xây dựng mô hình hệ thống Rational Rose.
- Đồng thời sử dụng được một số mẫu thiết kế vào công đoạn xây dựng mô hình lớp của quá trình phân tích, thiết kế hệ thống phần mềm theo hướng đối tượng.
- Chương 1: Giới thiệu các phương pháp và các quy trình phát triển phần mềm hiện có, tiến trình phát triển phần mềm RUP (Rational Unified Process) và ngôn ngữ mô hình hóa thống nhất UML.
- Các kết quả của luận án đã bước đầu triển khai ứng dụng thử nghiệm trong hệ thống kinh doanh Thẻ trả trước tại Bưu điện thành phố Hà Nội.
- GIỚI THIỆU QUY TRÌNH PHÁT TRIỂN PHẦN MỀM VÀ NGÔN NGỮ MÔ HÌNH HÓA 1.1 QUY TRÌNH PHÁT TRIỂN PHẦN MỀM 1.1.1 ĐỊNH NGHĨA Quy trình là phương pháp thực hiện hoặc sản xuất ra sản phẩm.
- Quy trình phát triển phần mềm (Software development/Engineering Process-SEP) là phương pháp phát triển hay sản xuất ra sản phẩm phần mềm.
- Có thể nói quy trình phát triển phần mềm có tính chất quyết định để tạo ra sản phẩm chất luợng tốt với chi phí thấp và năng suất cao.
- Phát triển phần mềm: Tạo ra phần mềm thỏa mãn các yêu cầu được chỉ ra trong “Đặc tả yêu cầu.
- Kiểm thử phần mềm: Để bảo đảm phần mềm sản xuất ra đáp ứng những “đòi hỏi” được chỉ ra trong “Đặc tả yêu cầu.
- Thay đổi phần mềm: Đáp ứng nhu cầu thay đổi của khách hàng.
- Tùy theo mô hình phát triển phần mềm, các nhóm công việc được triển khai theo những cách khác nhau.
- Để sản xuất cùng một sản phẩm phần mềm 4người ta có thể dùng các mô hình khác nhau.
- Tuy nhiên không phải tất cả các mô hình đều thích hợp cho mọi ứng dụng.
- 1.1.2 PHƯƠNG PHÁP PHÁT TRIỂN PHẦN MỀM HƯỚNG ĐỐI TƯỢNG Quan điểm hướng đối tượng hình thành trên cơ sở tiếp cận hướng hệ thống, nó coi hệ thống như thực thể được tổ chức từ các thành phần mà chỉ được xác định khi nó thừa nhận và có quan hệ với các thành phần khác.
- Phương pháp tách vấn đề đang giải quyết để hiểu chúng ở đây không chỉ dựa trên cở sở hệ thống làm mà còn dựa trên việc tích hợp hệ thống là cái gì và hệ thống làm gì.
- Theo cách tiếp cận hướng đối tượng các chức năng hệ thống được biểu diễn thông qua cộng tác của các đối tượng, việc thay đổi, tiến hoá chức năng sẽ không ảnh hưởng đến cấu trúc tĩnh của phần mềm.
- Những người phát triển phần mềm nhận thấy rằng phát triển phần mềm hướng đối tượng sẽ đem lại phần mềm thương mại chất lượng cao, tin cậy dễ mở rộng và dẽ sử dụng lại, phù hợp với yêu cầu người dùng đang mong đợi.
- Chúng còn cho khả năng hoàn thành phần mềm đúng thời hạn và không vượt quá kinh phí dự kiến ban đầu.
- Phương pháp hướng đối tượng ra đời từ những năm 1990 và đến năm 1997 đã được quy chuẩn qua ngôn ngữ mô hình hóa thống nhất UML.
- 1.1.3 CHU TRÌNH PHÁT TRIỂN PHẦN MỀM XOẮN ỐC Mọi hệ thống đều phải trải qua sự khởi đầu, triển khai, xây dựng, khai thác, bảo dưỡng và kết thúc, đó chính là vòng đời.
- Khi quan tâm đến sự triển khai và xây dựng tức là quan tâm đến sự phát triển hệ thống, trong đó khía cạnh 5quy trình phát triển phần mềm (còn gọi là chu trình) là sự tiếp nối các thời kỳ trong phát triển hệ thống.
- Có nhiều loại chu trình phát triển phần mềm khác nhau như chu trình thác nước, chu trình chữ V, chu trình tăng trưởng, chu trình xoắn ốc.
- Đặc biệt, chu trình xoắn ốc được ứng dụng không chỉ trong phát triển phần mềm mà còn trong phát triển phần cứng.
- Quy trình xoắn ốc cung cấp một phần hệ thống để khách hàng có thể đưa vào sử dụng trong môi trường hoạt động sản xuất thực sự mà không cần chờ cho Xác định các mục tiêu, các phương án và các ràng buộc Đánh giá các phương án Thử nghiệm nguyên mẫu Thiết kế và tạo lập 1 nguyên mẫuHình 1.1 Chu trình xoắn ốc 6đến khi toàn bộ hệ thống được hoàn thành.
- Các chu trình con có thể sử dụng các mô hình khác nhau (thông thường là mô hình thác nước).
- Mục tiêu của phiên bản đầu tiên là phát triển phần lõi và nhóm các chức năng quan trọng.
- Quy trình phát triển RUP mà luận văn giới thiệu ở phần tiếp theo chính là một ví dụ điển hình của quy trình này.
- 1.1.4 TIẾN TRÌNH PHÁT TRIỂN PHẦN MỀM RUP 1.1.4.1 Tổng quan về quy trình phát triển RUP Một quy trình chuẩn được công nhận trong quá trình phân tích thiết kế, phát triển, thử nghiệm, triển khai chương trình sẽ quyết định chất lượng của chương trình tại thời điểm tiến hành triển khai thử nghiệm.
- 7RUP là một tiến trình phát triển phần mềm do hãng Rational xây dựng, nó cung cấp một nguyên tắc tiếp cận để gán nhiệm vụ và trách nhiệm trong một tổ chức phát triển.
- Mục tiêu là đảm bảo sản phẩm phần mềm chất lượng cao mà thoả mãn các nhu cầu của người sử dụng, đúng kế hoạch và kinh phí [8].
- RUP bắt kịp nhiều phương pháp tốt nhất trong việc phát triển phần mềm hiện đại với mẫu phù hợp với nhiều dự án và tổ chức.
- Nó mô tả các cách tiếp cận đã được thử nghiệm về phương diện thương mại để triển khai có hiệu quả tới việc phát triển phần mềm cho các nhóm phát triển phần mềm.
- RUP cung cấp cho mọi thành viên trong nhóm các hướng dẫn, khuôn mẫu, công cụ hướng dẫn cần thiết cho cả nhóm để tận dụng các bài thực hành tối ưu sau : i) Phát triển lặp: RUP chia quá trình phát triển thành các chu kỳ khác nhau, ở những chu kỳ đầu sẽ lựa chọn phát triển trước những chức năng mấu chốt, quyết định toàn bộ sự thành công hay thất bại của dự án, mỗi chu kỳ như vậy sẽ sinh ra một phiên bản thi hành được của ứng dụng đang phát triển.
- ii) Quản lý các yêu cầu: Đảm bảo giải quyết đúng vấn đề gặp phải và xây dựng đúng hệ thống cần xây dựng.
- quản trị yêu cầu cho phép theo vết được các vấn đề đặt ra từ nhu cầu của người sử dụng hệ thống đến các đặc tính của hệ thống, các chức năng, các vấn đề về phân tích, thiết kế và kịch bản thử nghiệm.
- iii) Sử dụng kiến thức thành phần: Chia nhỏ hệ thống phần mềm ra các thành phần nhỏ tương đối độc lập nhưng lại có quan hệ với nhau theo những nguyên tắc nhất định.
- iv) Mô hình trực quan phần mềm: RUP Sử dụng ngôn ngữ chuẩn UML để mô hình hóa toàn bộ hệ thống phần mềm cần phát triển.
- v) Kiểm tra chất lượng phần mềm: RUP cho phép việc kiểm tra thử nghiệm được thực hiện ở tất cả các chu kỳ phát triển ứng dụng và kiểm tra trên cả 3 mặt chính: kiểm tra về mặt chức năng ứng dụng (thử nghiệm tất cả các kịch 8bản tình huống sử dụng), kiểm tra tốc độ (hiệu năng) và kiểm tra độ tin cậy của ứng dụng.
- vi) Điều khiển các thay đổi tới phần mềm : Khả năng quản lý sự thay đổi, duy trì được sự ổn định khi có biến động hay phát hiện sự biến động là rất cần thiết.
- RUP cũng hướng dẫn cách thành lập vùng làm việc an toàn cho mỗi lĩnh vực bằng việc tách rời các biến động từ các bộ phận khác nhau, kiểm soát sự biến động của các chế tác phần mềm.
- 1.1.4.2 Quy trình phát triển phần mềm theo RUP Tiến trình RUP được mô tả theo hai chiều (hai trục) (hình 1.2): Trục hoành thể hiện thời gian và chỉ ra khía cạnh động của tiến trình.
- Hình 1.2 Tiến trình RUP 9Quy trình phát triển phần mềm theo RUP gồm 4 pha (pha khởi đầu, pha chi tiết, pha xây dựng và pha chuyển giao) và các giai đoạn công việc mà đội thực hiện dự án cần tuân theo.
- Pha khởi đầu (Inception): Trong pha này, nhà phát triển hình thành các ca nghiệp vụ cho hệ thống và phân định phạm vi dự án.
- Để thực hiện điều này nhà phát triển phải nhận ra được các thực thể ngoài tương tác với hệ thống (tác nhân) và xác định bản chất của tương tác này.
- Kết quả pha này là chúng ta xác định được mục đích của dự án và đưa ra các bước cần thiết để tiếp tục phát triển dự án.
- Pha chi tiết (Elaboration): Pha chi tiết bắt đầu bằng phân tích yêu cầu và mô hình hóa lĩnh vực.
- Mục tiêu của pha này là phân tích vấn đề, lựa chọn và hình thành lên nền tảng kiến trúc, hạn chế nguyên nhân rủi ro của dự án, xác định kế hoạch đầy đủ cho các nhiệm vụ phát triển hệ thống phần mềm.
- Để đạt được mục đích này các quyết định kiến trúc phải được thực hiện để hiểu toàn bộ hệ thống bao gồm: phạm vi, các chức năng chính, các yêu cầu phi chức năng.
- Các hoạt động pha chi tiết đảm bảo rằng kiến trúc, yêu cầu và kế hoạch là đủ ổn định, các rủi do bị hạn chế, do vậy có thể dự báo giá cả, thời gian để hoàn thành việc phát triển.
- Pha xây dựng (Construction): Trong pha này, mọi thành phần còn lại và các đặc trưng ứng dụng được phát triển và tích hợp vào ứng dụng, mọi đặc trưng phải được kiểm thử.
- Đây là lý do tại sao sự phát triển thăng bằng của kiến trúc và kế hoạch được nhấn mạnh trong pha chi tiết.
- Nó có thể bao gồm: Sản phẩm phần mềm tích hợp, Tài liệu hướng dẫn sử dụng, Mô tả phiên bản hiện hành.
- Một khi sản phẩm đã đến tay người dùng thì nhiệm vụ đòi hỏi ta phải phát triển phiên bản mới, sửa lỗi nếu có hay kết thúc các đặc trưng còn chưa hoàn thành.
- Những yêu cầu chính thức mà một số sản phẩm thử nghiệm của hệ thống được hoàn thiện và đạt yêu cầu chất lượng mà chuyển giao cho người sử dụng sẽ tạo ra những kết quả tích cực cho tất cả các bên.
- 1.2 NGÔN NGỮ MÔ HÌNH HÓA THỐNG NHẤT - UML UML là một ngôn ngữ mô hình hóa thống nhất.
- Nó là ngôn ngữ mô hình hóa chuẩn để thiết kế phần mềm hướng đối tượng, được dùng để đặc tả, trực quan hóa, xây dựng và làm tài liệu cho các hệ thống phần mềm [10].
- Những điều suy nghĩ và hình dung về một hệ thống cần xây dựng từ các khía cạnh khác nhau được biểu diễn bằng ký hiệu đồ hoạ và các biểu diễn bằng sơ đồ với các giải thích bằng văn bản đi kèm.
- UML cho phép mô tả mô hình chính xác, không nhập nhằng và hoàn thiện.
- UML hướng tới đặc tả thiết kế, phân tích và quyết định cài đặt trong quá trình phát triển và triển khai hệ thống phần mềm.
- UML hướng tới làm tài liệu kiến trúc hệ thống và các chi tiết của nó.
- Các khối để hình thành mô hình UML bao gồm: Phần tử, Quan hệ và Biểu đồ.
- 1.2.3 KIẾN TRÚC HỆ THỐNG Kiến trúc phần mềm cho phép nhìn khái quát nhất về hệ thống phần mềm ở các góc độ khác nhau.
- Kiến trúc của hệ thống phần mềm được mô tả bằng năm loại khung nhìn tương tác với nhau (hình 1.3).
- Mỗi khung nhìn phản ánh về một khía cạnh của tổ chức và cấu trúc của hệ thống và tập trung vào từng mặt cụ thể giúp cho việc hiểu và sử dụng hệ thống được tốt nhất.
- Khung nhìn này mô tả các hành vi hệ thống theo cách nhìn của khách hàng, của nhà phân tích và người kiểm thử.
- Khung nhìn Use Case chứa các tác nhân: UC, biểu đồ UC, một vài biểu đồ trình tự, biểu đồ Khung nhìn thiết kế Khung nhìn triển khai Khung nhìn tiến trình Khung nhìn cài đặt Khung nhìnUse Case Hình 1.3 Mô hình hoá kiến trúc hệ thống 13cộng tác và gói.
- Khung nhìn này tập trung vào mức cao của cái hệ thống sẽ làm, không quan tâm đến hệ thống làm như thế nào.
- ii) Khung nhìn thiết kế tập trung vào việc hệ thống cài đặt các hành vi trong Use Case như thế nào.
- Thông thường đội ngũ phát triển phần mềm tiếp cận khung nhìn thiết kế theo hai bước.
- Khung nhìn thiết kế tập trung vào cấu trúc logic của hệ thống.
- iii) Khung nhìn cài đặt hay khung nhìn thành phần gồm các thành phần là mô-đun vật lý hay tệp mã trình để lắp ráp thành hệ thống vật lý.
- iv) Khung nhìn tiến trình của hệ thống chứa đựng các luồng và tiến trình công việc tạo nên cơ chế hoạt động tương tranh và đồng bộ của hệ thống.
- Tuy nhiên không phải tất cả các hệ thống đều đòi hỏi đầy đủ các khung nhìn như mô tả trên.
- Ví dụ: hệ thống trên máy tính riêng lẻ có thể bỏ khung nhìn triển khai, nếu hệ đơn xử lý thì bỏ khung nhìn tiến trình, nếu chương trình nhỏ thì bỏ khung nhìn cài đặt.

Xem thử không khả dụng, vui lòng xem tại trang nguồn
hoặc xem Tóm tắt