Đề tài Tìm hiểu quy trình phát triển phần mềm hướng đối tượng

 Công nghệ học phần mềm là lĩnh vực khoa học về các phương pháp luận, kĩ thuật

và công cụ tích hợp trong quy trình sản xuất và vận hành phần mềm nhằm tạo ra

phần mềm với chất lượng mong muốn.

 Lịch sử phát triển của công nghệ phần mềm

1. Giai đoạn 1 (1950 – giữa 1960):

- Xử lý theo lô, xử lý tập trung, ít xử lý phân tán, ít sửa đổi phần mềm.

2. Giai đoạn 2 (từ giữa 1960 đến giữa 1970) :

- Hệ thống đa chương trình và đa nguời dùng.

- Bắt đầu cuộc “khủng hoảng” phần mềm.

3. Giai đoạn 3 (từ giữa 1970 đến giữa 1980)

- Sự phát triển và sử dụng rộng rãi máy tính cá nhân

- Sự phát triển của các công ty phần mềm

4. Giai đoạn 4 (từ giữa 1980 đến nay)

- Phần cứng ngày càng phát triển

- Hệ thống phần mềm ngày càng đa dạng, phong phú, xử lý ngày càng phức

tạp, công nghệ ngày càng phát triển

pdf30 trang | Chia sẻ: tieuaka001 | Lượt xem: 558 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Đề tài Tìm hiểu quy trình phát triển phần mềm hướng đối tượng, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ương pháp Coad and Yourdon • Phương pháp Jacobson: Quy trình phát triển so Jacobson đề nghị: − Xem xét sự thích nghi để mô hình phân tích lí tưởng phù hợp với môi trường thế giới thực. − Tạo ra các khối như các đối tượng thiết kế cơ bản. − Tạo ra một biểu đồ tương tác cho biết cách các kích thích được chuyển đổi giữa các khối. − Tổ chức các khối trong hệ thống con. − Xem xét lại công việc thiết kế. • Phương pháp Rambaugh: Quy trình phát triển so Jacobson đề nghị: − Thực hiện thiết kế hệ thống. − Thiết kế đối tượng quản lí. − Thực hiện các kĩ thuật điều khiển đã xác định trong thiết kế hệ thống. − Điều chỉnh các cấu trúc lớp để tăng sức mạnh kế thừa. − Thiết kế thông điệp để thực hiện các mối quan hệ đối tượng. − Đóng gói các lớp và các liên kết trong một module. 20 • Phương pháp Wirfs – Brock: Quy trình phát triển do Wirfs – Brock đề xuất: − Xây dựng giao thức cho mỗi lớp. − Tạo ra đặc tả thiết kế cho mỗi hệ thống con. − Mô tả mỗi hệ thống con theo cách mà nó thực hiện. − Thiết kế đối tượng. − Thiết kế thông điệp. 3. Quy trình thiết kế hướng đối tượng • Thiết kế hệ thống + Đặt tên cho các hệ thống con và các thành phần cơ bản + Định danh các hệ thống con cho bộ xử lí. + Lựa chọn chiến lược quản trị cơ sử dữ liệu. + Xác định chuẩn cho phát triển. + Xác định các yêu cầu cài đặt. • Xác định đối tượng − Một mô tả của đối tượng có thể là một trong 2 dạng sau: + Mô tả giao thức: Thiết lập giao diện của đối tượng bằng cách xác định mỗi thông điệp mà đối tượng có thể nhận và các phương thức liên quan đối tượng thực hiện khi nhận được thông điệp. + Mô tả thực hiện: Chỉ ra chi tiết thực hiện cho mỗi phương thức bằng cách chuyển thông điệp giữa các đối tượng. Chi tiết thực hiện bao gồm thông tin về các phần riêng của đối tượng. − Giao thức mô tả là một tập các thông điệp và các chú thích tương ứng với mỗi thông điệp. − Một mô tả thực hiện của một đối tượng cung cấp các chi tiết bên trong được yêu cầu để thực hiện nhưng không cần thiết cho viện dẫn. Người thiết kế đối tượng phải cung cấp mô tả thực hiện và do đó phải tạo ra chi tiết bên trong của đối tượng. • Thiết kế thuật toán và cấu trúc dữ liệu Một thuật toán được tạo ra để thực hiện một đặc tả cho mỗi phương thức. Trong nhiều trường hợp, thuật toán chỉ là tính toán đơn giản hoặc dãy các thủ tục được thực hiện như một module phần mềm tự chứa. − Cấu trúc dữ liệu được thiết kế đồng thời với thuật toán. Do các phương thức thao tác các thuộc tính của lớp, thiết kế cấu trúc dữ liệu phản ánh tốt nhất thuộc tính sinh ra trong thiết kế thuật toán của các phương thức tương ứng. 21 − Các kiểu phương thức chia làm 3 loại chính: + Phương thức thao tác dữ liệu. + Phương thức thực hiện tính toán. + Phương thức điều khiển đối tượng cho sự kiện điều khiển. − Để tối ưu hóa thiết kế hướng đối tượng. Rambaugh đã đưa ra các gợi ý sau: + Xem lại mô hình đối tượng – quan hệ để đảm bảo rằng các thiết kế được thực hiện sử dụng tài nguyên hiệu quả và nới lỏng các ràng buộc thực hiện thêm vào các dư thừa nếu thấy cần thiết. + Xem lại thuộc tính cấu trúc dữ liệu và các thuật toán tương ứng để tăng cường hiệu quả xử lí. + Tạo ra thuộc tính mới để giữ thông tin thừa kế, do đó tránh được việc tính toán lại. • Thiết kế lớp đối tượng + Quá trình thiết kế lớp bao gồm các công đoạn sau: Xác định tên lớp đối tượng, xác định các quan hệ, xác định các thuộc tính, xác định các phương thức, xác định lớp cha của nó ( nếu có ). + Tên lớp tuân theo một số quy tắc: - Tên lớp phải là danh từ. - Tên lớp phải có chu trình sống của mình, phải có thời điểm sinh ra, chết đi của đối tượng đó. - Nó độc lập tương đối với các đối tượng khác (tức là nó sẽ độc lập hơn đối tượng khác một cách tương đối, về các mặt khác nó có thể phụ thuộc lẫn nhau giữa các đối tượng, nhưng nó là một thể thức ngoài đời có.). + Phần xác định các quan hệ . Việc xác định các quan hệ giữa các lớp là việc phải lập ra một từ điển quan hệ giữa các lớp ví như: lớp A là con lớp B chẳng hạn. Nó cũng có một số qui tắc sau để qui ước là: tên quan hệ phải là động từ,... Nó nói lên sự phụ thuộc lẫn nhau của các đối tượng. + Việc xác định các thuộc tính nó có một số qui định như sau: tên thuộc tính phải là danh từ, nó phải có sự lệ thuộc duy nhất vào đối tựng đang xét. Trong khi xác định thuộc tính cần chú ý: nếu thuộc tính đó phụ thuộc một đối tượng thì thuộc tính đó là thuộc tính của đối tượng, thuộc tính phụ thuộc vào nhiều đối tượng thì thuộc tính đó là thuộc tính quan hệ. + Việc xác định phương thức thực chất đó là các hành động, công việc, của các phương thức đó, nên tên phương thức có nhiều loại phương thức trong xây dựng một lớp đối tượng: - Các phương thức thuộc nhóm khởi tạo: gồm phương thức khởi tạo mặc định, phương thức khởi tạo khi biêt một số thuộc tính của nó, phương thức phá hủy. - Phương thức thuộc nhóm cung cấp (phương thức get) - Các phương thức thuộc nhóm thiết lập (phương thức set) 22 - Các phương thức xử lý tính toán: các phương thức này sẽ đóng vai trò là nơi thực thi các tính toán của từng class tương ứng trước khi thêm, hay làm gì đó với hệ thống dữ liệu. - Các phương thức thuôc nhóm kiểm tra. Đây là nơi kiểm tra các ràng buộc về dữ liệu cho class tương ứng của bạn. • Một số quy ước để thiết kế một class. + Để thiết kế một class trước tiên bạn phải đưa ra tên của nó là gì. + Xác định các phương thức, thuộc tính cho class đó như đã nói ở trên + Nếu các thuộc tính có cấu trúc phức tạp hoặc có các thuộc tính liên hệ với nhau và nó có ngữ nghĩa cụ thể (ngoài đời có nó) thì nên tách nó ra thành một lớp độc lập với nhau. + Khi 2 hay nhiều lớp có các thuộc tính chung thì nên tách thành một lớp cha của các lớp đó và các lớp đó được kế thừa từ lớp cha của nó. + Khi gặp các thuộc tính có khả năng phân loại trong một số trường hợp thì ta tách các thuôc tính con của nó thành thuộc tính con tương ứng. • Thiết kế một mô hình class. + B1: Thiết kế các class như các cách ở trên đã nêu. + B2: Xác định quan hệ giữa các class. + B3: Xác định các quan hệ và bảng số của nó. Bảng số của 2 lớp là phần mô tả dữ liệu giữa 2 lớp đó. Có các quan hệ giữa các bảng số như sau: I- Một nhiều 1 A thì tương ứng với nhiều B 1B tương ứng với 1A II- Một - Một 1A thì tương ứng với 1B 1B tưng ứng với 1A. 1A tương ứng với 1B III - nhiều nhiều. 1 A tương ứng với nhiều B. 1B tương ứng với nhiều A • Thiết kế thành phần chương trình và giao diện − Đây là khía cạnh quan trọng của chất lượng thiết kế phần mềm. 23 − Cách tiếp cận hướng đối tượng xác định đối tượng như một thành phần chương trình, bản thân nó liên kết với các thành phần khác. Chúng ta phải xác định được giao diện tồn tại giữa các đối tượng và toàn bộ cấu trúc của đối tượng. − Giao diện yêu cầu phải dễ sử dụng. III.4: Cài đặt Thực hiện các việc xây dựng chương trình bằng ngôn ngữ lập trình. Mục đích của luồng công việc này là: - Xác định cách thức viết mã cài đặt - Cài đặt các lớp và đối tượng như là các thành phần - Tích hợp vào trong một hệ thống có thể thực thi được 24 a) Vai trò của cài đặt trong vòng đời phần mềm Cài đặt là trọng tâm của các bước lặp trong giai đoạn Xây dựng. Nó cũng được tiến hành trong giai đoạn Chi tiết để tạo ra khung kiến trúc khả thi. Cài đặt cũng được tiến hành trong giai đoạn chuyển giao để xử lí các lỗi được tìm thấy khi phát hành phiên bản beta. b) Quy trình cài đặt • Cài đặt kiến trúc. − Xác định các thành phần quan trọng về mặt kiến trúc, chẳng hạn như các thành phần có thể thi hành được. − Kiến trúc sư bảo trì, tinh chế và cập nhật mô tả kiến trúc và các khung nhìn kiến trúc của mô hình cài đặt và triển khai. • Xác định các thành phần quan trọng về mặt kiến trúc. • Xác định các thành phần chạy được và ánh xạ chúng lên các nút. • Tích hợp hệ thống. Mục tiêu: 25 − Tạo ra một kế hoạch tích hợp sản phẩm mô tả các sản phẩm được yêu cầu trong một bước lặp và các yêu cầu đối với mỗi sản phẩm. − Tính hợp mỗi sản phẩm trước khi kiểm thử tích hợp. • Lên kế hoạch sản phẩm tiếp theo. • Tích hợp một sản phẩm − Thu thập các phiên bản đúng của các hệ thống con cài đặt, biên dịch chúng và kết nối chúng vào trong một sản phẩm. • Cài đặt một hệ thống con − Cài đặt một hệ thống con để đảm bảo rằng một hệ thống con hoàn thành vai trò của nó trong mỗi sản phẩm. • Bảo trì nội dung hệ thống con. III.5: Kiểm thử • Sau khi một phần mềm được hoàn tất. Công việc cuối cùng là kiểm thử nhằm phát hiện lỗi bằng việc xem xét lại đặc tả, thiết kế và mã hoá. • Là khâu mấu chốt đảm bảo chất lượng phần mềm. • Nguyên tắc kiểm thử: − Mọi hoạt động kiểm thử phải tuân theo yêu cầu của khách hàng. − Kiểm thử phải được lập kế hoạch trước khi được tiến hành. − Kiểm thử ban đầu ít, sau đó quá trình lớn dần. − Không thể kiểm thử mọi khía cạnh. − Để kiểm thử đạt kết quả cao nhất, quá trình kiểm thử phải có sự tham gia của bên thứ 3. • Mục đích của kiểm thử là để đảm bảo chất lượng. Luồng công việc này liên quan đến: − Xét duyệt sự tương tác giữa các thành phần trong hệ thống − Xét duyệt sự tích hợp đúng đắn các thành phần − Xét duyệt tất cả các yêu cầu đã được cài đặt − Đảm bảo rằng phát hiện các lỗi trước khi triển khai hệ thống • Các bước kiểm thử: 26 − Kiểm thử đơn vị − Kiểm thử tích hợp − Kiểm thử hệ thống − Kiểm thử sự chấp nhận 27 28 Kết luận Ngày nay các công ty đang phải đương đầu với việc co hẹp ngân sách. Điều này có nghĩa là quy mô đầu tư vào các dự án phần mềm bị cắt giảm rất lớn. Nó làm phát sinh nhu cầu về thời gian phát triển ngắn hơn và chi phí nhân lực thấp hơn. Với việc tăng khuynh hướng nghiêng về các hệ phân bố, một tập hợp các công cụ trực quan mới hiện đã có sẵn trên thị trường. Những công cụ này đem cùng chúng cách tiếp cận mới tới việc phát triển hệ thống. Các phương pháp luận truyền thống gây cản trở rất nhiều cho việc đáp ứng những thánh thức nói trên. Do đó có việc nổi lên của phương pháp luận hướng đối tượng. Phát triển các phần mềm theo hướng đối tượng đang là sự chọn lựa hàng đầu của các công ty hiện nay khi họ muốn phát triển một sản phẩm nào đó. 29 Tài liệu tham khảo. 1. Thạc Đình Cường. Nhập môn công nghệ phần mềm, NXB Giáo dục,10/2008. 2. TS.Lương Mạnh Bá (chủ biên) – Lương Thanh Bình – Cao Tuấn Dũng – Nguyễn Thị Thu trang – Lê đức Trung, NXB Giáo dục, 2010. 3. Lê Đức Trung. Công nghệ phần mềm, NXB Khoa học và Kĩ thuật, 4/2002. 4. Ngô Trung Việt – Nguyễn Kim Ánh, Nhập môn kĩ nghệ phần mềm, NXB Khoa Học và Kĩ thuật, 2/2003. 5. Roger S.Pressman (Ngô Trung Việt dịch), Kĩ nghệ phần mềm, NXB Giáo dục, 1997. 6. Slide của trường Đại Học Bách Khoa Hà Nội và một số slide của một số trường Đại học khác. 7. Nguyễn Tuấn Huy ( biên dịch ), Quá trình phát triển phần mềm, NXB Thống kê,2003 30

Các file đính kèm theo tài liệu này:

  • pdftieu_luan_cntt_tim_hieu_quy_trinh_phat_trien_phan_mem_huong_doi_tuong_9683.pdf
Tài liệu liên quan