1. Trang chủ
  2. » Luận Văn - Báo Cáo

tiểu luận cntt tìm hiểu quy trình phát triển phần mềm hướng đối tượng

30 642 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 30
Dung lượng 578,65 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Việc đặc tả các yêu cầu, phát triển, quản lí, bảo trì phần mềm tạo nên các nguyên tắc của công nghệ phần mềm software engineering.Trong các loại phần mềm hiện nay thì phần mềm hướng đối

Trang 2

Luận văn báo cáo

Trang 3

thiết bị điện tử hiện nay và trong tương lai đều được cài đặt các phần mềm điều khiển Việc đặc tả các yêu cầu, phát triển, quản lí, bảo trì phần mềm tạo nên các nguyên tắc của công nghệ phần mềm (software engineering).

Trong các loại phần mềm hiện nay thì phần mềm hướng đối tượng đang phát triển vô cùng

mạnh mẽ Do nó đáp ứng được hầu hết các yêu cầu người dùng, và do sự phát triển mạnh mẽ của các ngôn ngữ hướng đối tượng như C++, Java, C#

Phương pháp phát tri n ph n m m hể ầ ề ướng đ i tố ượng tuy là m t phộ ương pháp m i trongớ  

nh ng năm g n đây nh ng đã ch ng t  đữ ầ ư ứ ỏ ượ ưc  u th  khi l p trình các h  th ng ph c t p,ế ậ ệ ố ứ ạ  đem l i nh ng thành qu  to l n. Các nhà 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 mang l i m t ph n m m thạ ộ ầ ề ương m i có ch t lạ ấ ượng cao v iớ  

đ  tin c y cao, d  m  r ng và d  s  d ng l i, ch y tr n tru, phù h p v i yêu c u c aộ ậ ễ ở ộ ễ ử ụ ạ ạ ơ ợ ớ ầ ủ  

người dùng và đ c bi t là kh  năng phát tri n cao.ặ ệ ả ể

Trong bài báo cáo này chúng em sẽ trình bầy đến các vấn đề liên quan đến phát triển phần mềm hướng đối tượng như: phần mềm hướng đối tượng là gì, quy trình phát triển một phần mềm, các quy trình để phát triển một phần mềm hướng đối tượng, Trong báo cáo bày còn nhiều thiếu sót mong được thầy cô và các bạn góp ý, đánh giá giúp chúng em hoàn thành đề tài này

Chúng em cũng xin được cảm ơn sự giúp đỡ tận tình của TS: LƯƠNG MẠNH BÁ trong quá trình chúng em hoàn thành báo cáo này

Nhóm sinh viên thực hiện

Hà nội ngày 7 tháng 10 năm 2012

Trang 4

Mục lục

Chương I: Giới thiệu chung về công nghệ phần mềm và phần mềm hướng đối tượng

I.1: Phần mềm là gì ?

I.2: Công nghệ phần mềm là gì?

I.3: Vòng đời của phần mềm

I.4: Phần mềm hướng đối tượng

Chương II: Quy trình phát triển phần mềm I: Khung quy trình phát triển phần mềm chung

II: Một số mô hình phát triển phần mềm

III: Các giai đoạn trong quy trình phát triển phần mềm

Chương III: Quy trình phát triển phần mềm hướng đối tượng

III.1: Xác định yêu cầu

III.2: Phân tích yêu cầu hướng đối tượng (OOA)

III.3: Thiết kế hướng đối tượng

III.4: Cài đặt

III.5: Kiểm thử

3

3 3 3 4

5

5 5 6

7

7 9 14 16 18

Trang 5

Chương I: Giới thiệu chung về công nghệ phần mềm và phần mềm hướng đối tượng

I.1: Phần mềm là gì?

- Là các lệnh ( chương trình máy tính ) khi được thực hiện thì cung cấp những chức năng và kết quả mong muốn

- Các cấu trúc dữ liệu làm cho chương trình thao tác thông tin thích hợp

- Các tư liệu mô tả thao tác và cách sử dụng chương trình

Phần mềm bao gồm:

I.2: Công nghệ phần mềm là gì?

 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)

Trang 6

 Vòng đời phần mềm là thời kỳ tính từ khi phần mềm được sinh ra cho đến khi chết đi ( từ lúc hình thành đáp ứng yêu cầu, vận hành, bảo dưỡng cho đến khi loại bỏ không dùng nữa )

 Quy trình phầnmềm(vòng đờiphầnmềm) được phân chia thành các pha

chính:phân tích, thiết kế, chế tạo, kiểm thử, bảo trì Biểudiễn các pha có khác nhau theo từng người

 Mô hình vòng đời phần mền của Boehm

Insert pictureI.4: Phần mềm hướng đối tượng

 Là phần mềm được viết trên các ngôn ngữ hướng đối tượng như C#, Java, C++

 Ngày càng phát triển mạnh mẽ do sự phát triển của xã hội đặc biệt là sự phát triển của công nghệ thông tin

- Lớp là khái niệm mang tính chất trừu tượng hóa

- Đối tượng là một thực thể cụ thể của lớp

- Lớp là “ảo”, đối tượng là “thật”

- Đối tượng là đối tượng trong thế giới thực, thực thể cụ thể mà ta có thể sờ, nhìn thấy và cảm nhận được VD: ô tô, cái bàn,

- Đối tượng phần mềm: Dùng để biểu diễn các đối tượng trong thế giới thực

Trang 7

Chương II: Quy trình phát triển phần mềm

I: Khung quy trình phát triển phần mềm chung

• Một khung quy trình chung được thiết lập bằng cách xác định một số hoạt động khung có khả năng áp dụng cho mọi dự án phần mềm

• Tập nhiệm vụ công việc cho phép các hoạt động khung thích ứng với các đặc tính và yêu cầu của dự án

• Các hoạt động bao trùm (umbrella activities) đảm bảo chất lượng của phần mềm, và độc lập với bất cứ hoạt động khung nào diễn ra trong suốt quy trình

II: Một số mô hình phát triển phần mềm

1 Mô hình tuyến tính

• Đây là mô hình lâu đời nhất và được ứng dụng rộng rãi nhất trong công nghệ phần mềm nhưng mô hình này vẫn còn bộc lộ nhiều nhược điểm

2 Mô hình thuần thục khả năng

• Mô hình này do Soft Engineering Institute (SEI) phát triển bao gồm 5 mức: Khởi đầu, lặp lại, xác định, quản trị, tối ưu

Trang 8

4 Mô hình phát triển ứng dụng nhanh (RAD)

• Là quy trình phát triển phầm mềm gia tăng từng bước với chu chình phát triển ngắn Mô hình này xây dựng dựa trên hướng thành phần với khả năng tái sử dụng cao

5 Mô hình xoắn ốc

• Được phát triển bao gồm các tính năng tốt nhất của mô hình tuyến tính lẫn mô hình chế thử trong khi vẫn bổ sung thêm các yếu tố mới – phân tích rủi ro

6 Mô hình theo thành phần

• Gắn với những công nghệ hướng đối tượng thông qua việc tạo các lớp có chứa

dữ liệu và các giải thuật xử lí dữ liệu

9 Mô hình chữ V

Mô tả dãy các hoạt động phát triển và kiểm thử cơ bản Nó nêu bật sự tồn tại của các mức kiểm thử và mô tả cách mỗi mức kiểm thử này liên quan đến một pha phát triển khác nhau

III: Các giai đoạn trong quy trình phát triển phần mềm

1 Giai đoạn khảo sát hiện trạng

• Đây là giai đoạn đầu tiên trong quá trình phát triển phần mềm, nó cho biết hiện trạng bài toán như thế nào Ví như hiện trạng về mô hình tổ chức, hiện trạng về các nghiệp vụ, hiện trạng về quá trình tin học của khách hàng mà phần mềm chúng ta nhắm tới Trong đó hiện trạng về nghiệp vụ là quan trọng nhất mục tiêu của giai đoạn này là phải hiểu rõ được quy trình nghiệp vụ của khách hàng như là có bao nhiêu quá trình nghiệp vụ, những nghiệp vụ đó họ làm như thế nào?…

2 Giai đoạn xác định yêu cầu

• Có 2 loại yêu cầu là yêu cầu chức năng và yêu cầu phi chức năng

+ Yêu cầu chức năng: Đây là yêu cầu bất khả kháng mà khách hàng đưa

ra cho bạn

+ Yêu cầu phi chức năng là yêu cầu của hệ thống mà mình đưa ra,ví dụ như chức năng bảo mật thông tin, chức năng phân quyền người dùng, chức năng có thể đáp ứng yêu cầu của dữ liệu trong khoảng thời gian bao nhiêu…

3 Giai đoạn phân tích

Trang 9

• Trong giai đoạn này chúng ta sẽ phân tích các yêu cầu, và mô hình hóa chúng kết quả của quá trình này là cho ra một sơ đồ lớp đối tượng trong chương trình chúng ta.

4 Thiết kế

• Giai đoạn này chúng ta sẽ thiết kế các thuật toán, và thiết kế mô hình dữ liệu

nó cho ra một mô hình lớp và dữ liệu ở mức chi tiết

Trang 10

Chương III: Quy trình phát triển phần mềm hướng đối tượng

Để phát triển được một phần mềm hướng đối tượng ta cần qua các bước: Xác định yêu cầu người sử dụng, mô hình hóa yêu cầu, phân tích, thiết kế dữ liệu, kiến trúc chương trình, kiểm thử đánh giá

III.1: Xác định yêu cầu

1 Yêu cầu người dùng là gì?

• Yêu cầu phần mềm là tất cả các yêu cầu về phần mềm do khách hàng, người

sử dụng phần mềm – nêu ra, bao gồm: các chứ năng của phần mềm, hiệu năng của phần mềm, các yêu cầu về thiết kế và giao diện, các yêu cầu đặc biệt khác

• Yêu cầu phần mềm được phân loại theo 4 thành phần của phần mềm:

- Các yêu cầu về phần mềm (Software)

- Các yêu cầu về phần cứng (Hardware)

- Các yêu cầu về dữ liệu (Data)

- Các yêu cầu về con người (People, Users)

2 Tại sao phải xác định yêu cầu ?

• Mục đích cơ bản của nắm bắt yêu cầu là hướng sự phát triển đến một hệ thống đúng

• Trả lời các câu hỏi sau: Cái người dùng yêu cầu mình làm là cái gì? Các yêu cầu đó ra sao? Các yêu cầu đó như thế nào? Các nghiệp vụ của người đó ra sao? Trong họ trình độ tin học hóa tới đâu?(về trình độ sử dụng máy tính và phần cứng của họ) Các thói quen nghiệp vụ của họ ra sao? …

• Một thách thức lớn là khách hàng là người không có kinh nghiệm về máy tính nhưng lại có khả năng đọc và hiểu các kết quả của nắm bắt yêu cầu Do đó ta phải sử dụng ngôn ngữ của khách hàng để nắm bắt yêu cầu này

• Kết quả của nắm bắt yêu cầu đồng thời cũng giúp người quản lí dự án lập kế hoạch các bước lặp và các xuất phẩm cho khách hàng

3 Phân loại yêu cầu

• Yêu cầu chức năng

− Lưu trữ

− Tra cứu

Trang 11

− Tính toán

− Kết xuất

• Yêu cầu phi chức năng

4 Quy trình xác định yêu cầu phần mềm

a) Phát hiện các yêu cầu phần mềm

• Xác định các phương pháp sử dụng phát hiện các yêu cầu phần mềm như phỏng vấn, làm việc nhóm,

• Tìm kiếm nhân sự (chuyên gia, người sử dụng) có hiểu biết sâu sắc nhất, chi tiết nhất về hệ thống giúp chúng ta xác định yêu cầu phần mềm

• Xác định môi trường kĩ thuật

• Xác định các ràng buộc lĩnh vực

• Thu hút sự tham gia của nhiều chuyên gia, khách hàng để có các quan điểm xem xét phần mềm từ nhiều phía khác nhau

b) Phân tích các yêu cầu phần mềm và thương lượng với khách hàng

• Phân loại yêu cầu phần mềm và sắp xếp chúng theo các nhóm liên quan

• Khảo sát tỉ mỉ từng yêu cầu phần mềm

Trang 12

• Thẩm định từng yêu cầu phần mềm theo các tính chất: phù hợp, đầy đủ

rõ ràng, không trùng lặp

• Phân tích yêu cầu dựa trên nhu cầu và đòi hỏi của khách hàng

• Thẩm định từng yêu cầu của phần mềm

• Thẩm định rủi ro có thể xảy ra với từng yêu cầu phần mềm

• Đánh giá thô về giá thành và thời gian thực hiện của từng yêu cầu phần mềm trong giá thành sản phẩm phần mềm và thời gian thực hiện phần mềm

• Giải quyết bất đồng với yêu cầu phần mềm với khách hàng trên cơ sở thảo luận và thương lượng với yêu cầu đặt ra

c) Đặc tả yêu cầu phần mềm

• Đây là công việc xây dựng các tài liệu trong đó có thể sử dụng các công cụ như: mô hình hóa, mô hình toán học hình thức, tập hợp các kịch bản sử dụng, các nguyên mẫu

• Yêu cầu của đặc tả tốt

− Dễ hiểu với người dùng, ít rắc rối

− Có ít quy ước khi mô tả

− Theo phong cách từ trên xuống

− Phỏng vấn có định hướng

Trang 13

+ Người được hỏi có thể cảm thấy không thoải mái, ít có khả năng ghi nhận được nhận xét, ý kiến, suy nghĩ riêng của người được phỏng vấn, ít cảm nhận được thái độ của họ đối với hiện trạng.

+ Có thể định hướng nội dung cần tìm hiểu, có thể hệ thống hóa các vấn đề ghi nhận được

• Làm việc với cấp lãnh đạo để nắm mục tiêu của hệ thống phần mềm cần xây dựng, những đối tượng cần phỏng vấn

• Yêu cầu cấp lãnh đạo thông báo xuống các phòng ban, đơn vị để hợp tác

• Phân tích để xác định đúng và đủ những đối tượng cần phỏng vấn

• Hẹn lịch làm việc

• Xác định trước vị trí, trách nhiệm của người sắp phỏng vấn

III.2: Phân tích yêu cầu hướng đối tượng (OOA)

Phân tích được xem như là cây cầu giữa kĩ nghệ hệ thống với thiết kế phần mềm

2 Các phương pháp phân tích hướng đối tượng

1: Phương pháp Booch: Gồm 2 quy trình phát triển vi mô và vĩ mô Quy trình phân tích vi mô bằng phương pháp Booch được mô tả như sau:

• Xác định các lớp đối tượng

• Xác định ngữ nghĩa của các lớp và đối tượng

• Xác định mối quan hệ giữa các lớp và đối tượng

• Quản lí các hoạt động điểu chỉnh thích hợp

• Thực thi các lớp và đối tượng (hoàn thành mô hình phân tích)

2: Phương pháp Coad và Yourdon: Phác thảo của quy trình phân tích do Coad và Yourdon đề nghị như sau:

Trang 14

• Xác định đối tượng sử dụng tiêu chuẩn “tìm kiếm cái gì”.

• Xác định người sử dụng hệ thống và toàn bộ nhiệm vụ của họ

• Xây dựng mô hình yêu cầu

• Xây dựng mô hình phân tích

4: Phương pháp Rambaugh: Các hoạt động phân tích tạo ra 3 mô hình: mô hình đối tượng, mô hình động, mô hình chức năng Phác thảo của quy trình phân tích:

• Phát triển một bản kê phạm vi vấn đề

• Xây dựng một mô hình hướng đối tượng

• Phát triển mô hình động

• Xây dựng một mô hình chức năng cho hệ thống

5: Phương pháp Wirfs – Brock: Không tạo sự khác biệt rõ ràng giữa phân tích và thiết

kế Thay vào đó một quá trình bắt đầu khi xác định đặc tả khách hàng và kết thúc khi thiết kế được đề xuất Phác thảo của quy trình phân tích do Wirfs – Brock phát triển như sau:

• Ước lượng đặc tả khách hàng

• Sử dụng phân tích ngữ pháp để rút ra các lớp ứng viên từ đặc tả

• Nhóm các lớp để xác định các lớp Cha

• Định nghĩa trách nhiệm cho mỗi lớp

• Phân công trách nhiệm cho mỗi lớp

• Xác định cộng tác giữa các lớp dựa trên trách nhiệm

• Xây dựng mô tả cây của lớp để chỉ ra mối quan hệ kế thừa

• Xây dựng biểu đồ cộng tác cho hệ thống

Trang 15

• Thu nhận các yêu cầu của khách hàng cho hệ thống hướng đối tượng (Object Oriented – OO ).

• Chọn các lớp các đối tượng sử dụng các yêu cầu cơ bản như là hướng dẫn

• Xác định các thuộc tính và các phương thức cho mỗi đối tượng hệ thống

• Xác định cấu trúc và cây cho mỗi lớp tổ chức

• Xây dựng mô hình quan hệ đối tượng

• Xây dựng mô hình hành vi đối tượng

• Xem lại phân tích OO

2 Mô hình class – responsibility – collaborator (CRC)

Mô hình CRC (mô hình cộng tác ) cung cấp một phương tiện đơn giản để xác định và

tổ chức các lớp thích hợp với yêu cầu hệ thống hay sản phẩm

b) Responsibility

Trang 16

• Bao gồm thuộc tính và phương thức Thuộc tính mô tả đặc tính của lớp, thông tin mà lớp cần phải có để hoàn thành mục tiêu của phần mềm mà khách hàng yêu cầu Phương thức được rút ra từ việc thực hiện các phân tích ngữ pháp dựa trên các xử lí của hệ thống.

• 5 nguyên tắc để phân phối responsibility cho các lớp

+ Sự thông minh của hệ thống được phân phối công bằng+ Mỗi responsibility phải bắt đầu từ tổng quan

+ Thông tin và hành vi liên quan đến responsibility phải được đặt trong cùng một lớp

+ Mỗi thông tin cụ thể phải nằm trong một lớp đơn, không phân bố nhiều lớp

+ Chia sẻ các responsibility giữa các lớp liên quan khi thích hợpc) Cộng tác (collaborator)

Là hoàn thành responsibility theo 2 cách:

+ Một lớp có thể sử dụng các phương pháp của lớp để thao tác trên các thuộc tính của nó, do đó hoàn thành responsibility cụ thể

• Một chương chình sẽ bao gồm nhiều các hệ thống con

4 Mô hình hóa phân tích hướng đối tượng

1 Mô hình hóa là gì?

• Giúp đơn giản hóa thế giới thực bằng các mô hình

• Giúp hiểu rõ hơn về hệ thống dưới một góc nhìn nào đó

2 Tại sao phải mô hình hóa đối tượng

• Các mô tả về yêu cầu trong giai đoạn xác định yêu cầu:

Trang 17

+ Chỉ mô tả chủ yếu các thông tin liên quan đến việc thực hiện các nghiệp vụ trong thế giới thực, chưa thể hiện rõ nét việc thực hiện các nghiệp vụ trên máy tính.

+ Mô tả thông quá các văn bản dễ gây ra nhầm lẫn và không trực quan

 Cần phải mô hình hóa yêu cầu

3 Mô hình đối tượng – quan hệ

Mô tả các thành phần tĩnh của một mô hình phân tích yêu cầu khách hàng

+ Thực hiện qua 3 bước:

+ Một mạng đối tượng cộng tác được mô tả mà không có các đường có nhãn miêu tả mối quan hệ giữa các đối tượng

+ Đặt tên cho các nhãn, để tránh mơ hồ dùng một mũi tên chỉ ra hướng của quan hệ

+ Khi các mối quan hệ được thiết lập, nó được ước lượng để quyết định kiểu liên kết: 0:1, 1:1

4 Mô hình đối tượng - hành vi

+ Mô hình đối tượng - hành vi chỉ ra cách thức một hệ thống phân tích yêu cầu khách hàng đáp ứng các sự kiện bên ngoài Tạo ra mô hình này cần thực hiện qua 5 bước:

+ Định giá các trường hợp sử dụng để hiểu đầy đủ về dãy các tương tác trong hệ thống

+ Xác định các sự kiện dẫn đến dãy tương tác và hiểu cách thức các sự kiện liên quan đến các đối tượng

+ Tạo ra event trace cho mỗi trường hợp sử dụng

+ Xây dựng một biểu đồ chuyển trạng thái cho hệ thống

+ Xem lại mô hình đối tượng – hành vi để kiểm tra tính chính xác nhất quán

5 UML

a) Định nghĩa

+ UML là ngôn ngữ thống nhất trực quan giúp công việc được xử lý nhất quán, giảm thiểu lỗi xảy ra

+ UML xây dựng các mô hình chính xác, rõ ràng và đầy đủ

+ Các mô hình UML có thể kết nối trực tiếp với rất nhiều ngôn ngữ lập trình

+ UML giúp tài liệu hóa về kiến trúc, yêu cầu, kiểm thử, lập kế hoạch dự

án, và quản lý việc bàn giao phần mềm

Ngày đăng: 26/09/2014, 20:42

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
5. Roger S.Pressman (Ngô Trung Việt dịch), Kĩ nghệ phần mềm, NXB Giáo dục, 1997 Sách, tạp chí
Tiêu đề: Kĩ nghệ phần mềm
Tác giả: Roger S. Pressman, Ngô Trung Việt
Nhà XB: NXB Giáo dục
Năm: 1997
1. Thạc Đình Cường. Nhập môn công nghệ phần mềm, NXB Giáo dục,10/2008 Khác
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 Khác
3. Lê Đức Trung. Công nghệ phần mềm, NXB Khoa học và Kĩ thuật, 4/2002 Khác
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 Khác
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 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 Khác

HÌNH ẢNH LIÊN QUAN

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: - tiểu luận cntt tìm hiểu quy trình phát triển phần mềm hướng đối tượng
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: (Trang 23)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w