Công cụ và môi trường phát triển phần mềm
Trang 1Công cụ và môi trường phát triển
phần mềm
GV Nguyễn Trung Phú
Trang 2Công cụ và môi trường phát triển phần mềm
Trang 3Công cụ và môi trường phát triển phần mềm
Trang 4– Công cụ phát triển phần mềm có thể kể đến đó là ngôn ngữ lập trình, công cụ hỗ trợ thiết kế, công
cụ kiểm thử, công cụ cài đặt, hệ quản trị cơ sở dữ liệu
Trang 7Chương 1: Tổng quan
Phân loại mô hình theo chức năng
– Mô hình mẫu
– Mô hình lặp và tăng dần
Phân loại mô hình theo phương pháp hỗ trợ
– Mô hình phát triển nhanh
Trang 9Chương 1: Tổng quan
Các thế hệ ngôn ngữ lập trình
– Thế hệ thứ nhất:
Xuất hiện vào thập niên 60
Tập lệnh gần giống như tập lệnh máy (machine code)
Đại diện tiêu biểu: Fortran
Trang 10Chương 1: Tổng quan
Các thế hệ ngôn ngữ lập trình
– Thế hệ thứ hai
Phát triển các cấu trúc dữ liệu từ thế hệ thứ nhất
Xuất hiện cấu trúc khối (block structure), các cấu trúc điều khiển (control structures) và các dạng
cú pháp linh hoạt hơn
Chương trình đã có thể được thiết kế (design)
Đại diện tiêu biểu: Algol-60
Trang 11Ngôn ngữ độc lập hơn với kiến trúc máy tính
Đại diện tiêu biểu: Pascal
Trang 12Chương 1: Tổng quan
– Thế hệ thứ tư: (Fourth Generation Languages – 4GL)
Dễ sử dụng hơn, đặc biệt dành cho những người không phải là chuyên gia
Cho phép đưa ra những giải pháp nhanh để xử lý dữ liệu
Xúc tích hơn
Gần với ngôn ngữ tự nhiên
Gần gũi với người sử dụng
Không có dạng thủ tục (non-procedural)
Đại diện tiêu biểu: Structured Query Language (SQL)
Trang 13Hỗ trợ nhiều cấu trúc điều khiển và có các dạng
cú pháp tương đối dễ đọc
Trang 15Chương 2: Công cụ và môi trường phát triển phần mềm trong phân tích và thiết kế.
Phân tích
– Nghiên cứu yêu cầu của khách hàng/người dùng
để định nghĩa một phạm vi bài toán, nhận dạng
nhu cầu của một tổ chức, xác định xem nhân lực,
phương pháp và công nghệ máy tính có thể làm
sao để cải thiện một cách tốt nhất công tác của tổ
chức này
Trang 16Phân tích
Thiết lập một cách nhìn tổng quan về hệ
thống và các mục đích chính của hệ thống
Liệt kê nhiệm vụ mà hệ thống cần thực hiện
Phát triển một bộ từ vựng để mô tả bài toán cũng như các vấn đề liên quan
Đưa ra hướng giải quyết bài toán
Trang 17Phân tích
Các bước phân tích hướng đối tượng
– Mô hình Use Case: xây dựng mô hình chức năng của sản phẩm phần mềm
– Mô hình lớp: biểu diễn các lớp, các thuộc tính và mối quan hệ giữa các lớp
– Mô hình động: biểu diễn hoạt động liên quan đến một lớp hay lớp con, hay còn được biểu diễn dưới dạng sơ đồ trạng thái
Trang 18Phân tích – Mô hình Use Case
Cách tạo một mô hình Use Case
– Xác định các tác nhân và các Use Case
– Xác định mối quan hệ và phân rã biểu đồ Use Case
– Biểu diễn các Use Case thông qua các kịch bản
– Kiểm tra và hiệu chỉnh mô hình
Trang 19Phân tích – Mô hình Use Case
Tìm các tác nhân và các Use Case
– Ai sử dụng hệ thống? (tác nhân chính)
– Ai cần bảo trì, quản trị, đảm bảo hệ thống hoạt động? (tác nhân phụ)
– Các thiết bị nào được sử dụng?
– Hệ thống có liên kết với hệ thống khác hay ko?
– Ai quan tâm đến kết quả mà hệ thống đưa ra?
Trang 20Phân tích – Mô hình Use Case
Đưa ra câu hỏi cho các tác nhân tìm được
– Tác nhân cần chức năng nào của hệ thống?
– Có cần đưa ra cảnh báo cho tác nhân hay ko?
– Chức năng gì giúp đơn giản hóa công việc của tác nhân
– Các chức năng hệ thống có thể sinh ra bởi sự kiện nào khác hay ko?
– Thông tin đầu vào và đầu ra gồm những gì?
Trang 21Phân tích – Mô hình Use Case
Xác định mối quan hệ biểu đồ Use Case
– Quan hệ bao gồm <<include>>
– Quan hệ mở rộng <<extend>>
– Quan hệ tổng quát <<generalization>>
– Quan hệ kết hợp <<aggregation>>
Trang 22Phân tích – Mô hình Use Case
Xác định phân rã biểu đồ Use Case
– Xác định sơ đồ Use Case mức tổng quát
– Phân rã các Use Case mức cao
– Tiếp tục phân rã Use Case cho đến khi gặp Use Case ở nút lá
– Hoàn thiện sơ đồ Use Case
Trang 23Phân tích – Mô hình Use Case
Biểu diễn các Use Case bởi kịch bản
Ý nghĩa
Tên USE CASE Tên Use case
Tác nhân chính Tác nhân chính của Use Case
Mức Mức Use Case trong sơ đồ phân rã
Người chịu trách nhiệm: Người chịu trách nhiệm chính
Tiền điều kiện: Điều kiện mà Use Case được kích hoạt Đảm bảo tối thiểu Trường hợp Use Case thất bại
Đảm bảo thành công Trường hợp Use Case thành công
Kích hoạt Sự kiện tác động kích hoạt 1 Use Case Chuỗi sự kiện chính Kịch bản chuẩn trong trường hợp t/công Ngoại lệ: Ngoại lệ tương ứng với kịch bản chuẩn
Trang 24Phân tích – Mô hình Use Case
Trang 26Xây dựng biểu đồ Use Case trong
Rational Rose
Các bước xây dựng sơ đồ Use Case
– Biểu diễn các tác nhân
– Biểu diễn và đặc tả các Use Case mức tổng quát
– Biểu diễn các mối quan hệ
– Phân rã biểu đồ Use Case và đặc tả các Use
Case mức thấp
Trang 27Xây dựng biểu đồ Use Case trong
Rational Rose
Biểu diễn các tác nhân
– Chọn công cụ Actor trên hộp công cụ
– Đưa con trỏ vào vị trí màn hình Diagram thích hợp và đặt vào vị trí đó
– Mở cửa sổ đặc tả của Actor và viết tên của các tác nhân
Trang 28Xây dựng biểu đồ Use Case trong Rational Rose
Biểu diễn các tác nhân
Trang 29Xây dựng biểu đồ Use Case trong
Rational Rose
Biểu diễn các Use Case mức cao
– Chọn công cụ Use Case trên thanh công cụ
– Đưa con trỏ vào màn hình Diagram và đặt Use Case vào vị trí thích hợp
– Mở cửa sổ đặc tả Use Case, đặt tên và mô tả các thông tin khác
Trang 30Xây dựng biểu đồ Use Case trong Rational Rose
Biểu diễn các Use Case mức cao
Trang 31Xây dựng biểu đồ Use Case trong
Rational Rose
Biểu diễn các đặc tả các quan hệ
– Chọn kiểu quan hệ tương ứng trong hộp công cụ
– Đặt con trỏ vào đối tượng khởi đầu quan hệ vào kéo đến đối tượng cuối
– Mở một số các đặc tả quan hệ để chọn kiểu quan
hệ và đặt tên quan hệ cùng các thông tin liên quan
Trang 32Xây dựng biểu đồ Use Case trong Rational Rose
Biểu diễn các đặc tả các quan hệ
Trang 33Xây dựng biểu đồ Use Case trong Rational Rose
Biểu diễn các đặc tả các quan hệ
Trang 34Xây dựng biểu đồ Use Case trong
Rational Rose
Phân rã biểu đồ Use Case
– Nhấn chuột phải vào Use Case tương ứng cần phân rã trong cửa sổ Browser và chọn chức năng Use Case Diagram mới
– Vẽ biểu đồ mức thấp tương tự như biểu đồ Use Case mức cao
Trang 35Xây dựng biểu đồ Use Case trong Rational Rose
Trang 36Xây dựng biểu đồ Use Case trong Rational Rose
Trang 37Phân tích – Mô hình lớp
Khái niệm: Lớp là một nhóm các đối tượng
có chung thuộc tính và phương thức.
Xác định lớp thông qua 3 phương pháp:
– Phương pháp trích danh từ
– Phương pháp dùng thẻ CRC
– Phương pháp xác định từ Use Case và kịch bản
Trang 38Phương pháp trích danh từ
Cần định nghĩa sản phẩm bằng một câu, sau
đó kết hợp các ràng buộc để phát triển thành một đoạn
Thu thập danh từ trong đoạn đó chia thành các nhóm và đề cử ra các lớp cũng như các thuộc tính và phương thức của lớp đó
Trang 39Phương pháp thẻ ghi CRC
Thẻ ghi CRC - Class Responsibility Collaboration – Thực hiện dựa trên một số
lớp biểu diễn các thông tin liên quan đến
trách nhiệm của lớp đó và các lớp phối hợp
với nó
Từ thẻ ghi này người phát triển tìm ra các lớp khác cần thiết và quan trọng hơn là xác định đầy đủ các thuộc tính, phương thức và mối quan hệ của các lớp.
Trang 40 Các động từ xuất hiện trong mối quan hệ giữa các thành phần có thể xác định được phương thức của lớp
Trang 41Xây dựng biểu đồ lớp từ Use Case và kịch bản
Biểu đồ lớp chưa hoàn chỉnh có các nhiệm
vụ chính:
– Xác định lớp
– Xác định thuộc tính và phương thức cơ bản
– Bước đầu chỉ ra mối quan hệ trong sơ đồ lớp
Trang 42Xác định lớp
Nguyên tắc
– Nghiên cứu kỹ tìm ra danh từ có vai trò nào đó trong Scenario Các danh từ này sẽ trở thành các lớp ứng viên
– Loại bỏ các lớp ứng viên không thích hợp, hay các danh từ không thích hợp gồm có một trong số trường hợp sau:
Lớp dư thừa
Danh từ ko thích hợp
Danh từ mô tả lớp không rõ ràng
Danh từ chỉ một vai trò trong mối quan hệ với lớp khác
Danh từ chỉ các công cụ xây dựng phần mềm
Trang 43Xác định phương thức và thuộc tính
cơ bản
Nghiên cứu các Use Case, Scenario và trả lời các câu hỏi bao gồm:
– Với mỗi lớp, danh từ nào mô tả thông tin lớp đó, trả lời
được sẽ tìm được thuộc tính
– Thông tin nào thực sự liên quan đến lĩnh vực quan tâm của
hệ thống, trả lời được sẽ loại bỏ được thuộc tính dư thừa
– Thông tin nào là thông tin riêng (Private), thông tin nào chia
sẻ với lớp khác (Protected, Public)
Xem xét các động từ đi kèm với danh từ biểu diễn lớp trong Scenario và xem xét các động từ đó có trở thành các phương thức được hay không
Trang 44Biểu diễn biểu đồ lớp trong Rational Rose
Các bước biểu diễn biểu đồ bao gồm:
Trang 45Biểu diễn biểu đồ lớp trong Rational Rose
Trang 46Biểu diễn biểu đồ lớp trong Rational Rose
Bước 1: Biểu diễn các lớp
– Chọn công cụ trong hộp công cụ
– Đưa con trỏ vào màn hình Diagram
Trang 47Biểu diễn biểu đồ lớp trong Rational
Trang 48Biểu diễn biểu đồ lớp trong Rational Rose
Trang 49Biểu diễn biểu đồ lớp trong Rational
Rose
Bước 3: Đặc tả chi tiết một lớp
– Thực hiện trên các tab để mô tả
– General: cung cấp thông tin chung
– Operations và Attributes: cho biết thuộc tính và phương thức
– Relations: Mối quan hệ với các lớp khác
– Component: thành phần của lớp nếu có
– File: Các tệp tin đi kèm
Trang 50Biểu diễn biểu đồ lớp trong Rational Rose
Trang 51Biểu diễn biểu đồ lớp trong Rational Rose
Bước 4: Biểu diễn quan hệ giữa các lớp
– Chọn quan hệ phù hợp
– Kéo thả giữa hai lớp cần xác định
– Đặc tả quan hệ
Trang 52Biểu diễn biểu đồ lớp trong Rational Rose
Trang 53Phân tích - Mô hình động
Mô hình động được chia ra làm 3 dạng
– Tương tác giữa các đối tượng trong thời gian chạy
– Hành động tổng quát biểu diễn các tiến trình hoặc tương tác với người dùng
– Các chuyển đổi trạng thái theo thời gian thông qua biểu đồ trạng thái
Trang 54Phân tích - Mô hình động
Biểu đồ tuần tự
– Mục đích: biểu diễn tương tác giữa người dùng
và đối tượng bên trong hệ thống Biểu đồ cho biết các thông điệp được truyền tuần tự như thế nào theo thời gian
– Biểu diễn: Biểu diễn bởi các đối tượng và các message truyền đi giữa các đối tượng đó
Trang 55Phân tích - Mô hình động
Biểu đồ cộng tác:
– Mục đích: Biểu diễn tương tác giữa người dùng
và đối tượng bên trong hệ thống đồng thời giữa các đối tượng với nhau Biểu đồ này nhấn mạnh mối quan hệ về mặt không gian giữa các đối tượng
– Các message trong biểu đồ cộng tác được đánh theo thứ tự thời gian và mối quan hệ về mặt không gian giữa các đối tượng
Trang 56Phân tích - Mô hình động
Biểu đồ hoạt động
– Mục đích: Biểu đồ này biểu diễn các hoạt động như các luồng công việc hoặc tiến trình khác nhau trong hệ thống được xây dựng
– Biểu diễn: qua các hoạt động, các đồng bộ hay rẽ nhánh và chuyển tiếp các hoạt động đó
Trang 57Phân tích - Mô hình động
Biểu đồ trạng thái
– Biểu diễn các trạng thái và sự chuyển tiếp giữa các trạng thái của đối tượng trong 1 lớp xác định Lớp trừu tượng ko có biểu đồ trạng thái
– Biểu diễn: dưới máy trạng thái hữu hạn với các trạng thái và sự chuyển tiếp của các trạng thái đó Không có quá trình đồng bộ và rẽ nhánh
Trang 58Mô hình động sử dụng biểu đồ trạng thái
Có hai dạng cho biểu đồ trạng thái
– Biểu đồ trạng thái cho một Use Case mô tả trạng thái và chuyển tiếp trạng thái của một đối tượng thuộc một lớp nào đó trong hoạt động của 1 lớp Use Case cụ thể.s
– Biểu đồ trạng thái hệ thống mô tả các trạng thái của một đối tượng trong toàn bộ hoạt động của
cả hệ thống
Trang 59Xây dựng biểu đồ trạng thái
Biểu đồ trạng thái được xây dựng theo các bước sau:
– Bước 1: Nhận biết các trạng thái và sự kiện
– Bước 2: Xây dựng biểu đồ
– Bước 3: Hiệu chỉnh biểu đồ
Trang 60Xây dựng biểu đồ trạng thái
Bước 1: Nhận biết trạng thái và sự kiện thông qua các câu hỏi sau:
– Một đối tượng có những trạng thái nào?
– Những sự kiện có thể xảy ra?
– Cái gì khiến cho một đối tượng được tạo ra?
– Cái gì khiến một đối tượng bị hủy?
Trang 61Xây dựng biểu đồ trạng thái
Bước 2: Xây dựng biểu đồ
– Xuất phát trạng thái khởi đầu và xác định trạng thái kế tiếp và biểu diễn các chuyển tiếp giữa các trạng thái đó là các sự kiện theo cấu trúc:
Sự kiến [điều kiện] hoạt động
– Dựa vào quá trình chuyển tiếp trạng thái xác định chuyển tiếp nào dẫn đến trạng thái kết thúc trong vòng đời của một đối tượng
Trang 62Xây dựng biểu đồ trạng thái
Bước 3: Hiệu chỉnh biểu đồ trạng thái
– Xem xét lại toàn bộ các biểu đồ trạng thái cho từng lớp và sửa lại biểu đồ trạng thái nếu cần thiết
– Các biểu đồ trạng thái được sử dụng để xác định đầy đủ các thuộc tính của biểu đồ lớp nên có thể thực hiện tiếp trong phần thiết kế
Trang 63Xây dựng biểu đồ trạng thái bằng
Rational Rose
Bước 1: Trong Browser Windows, từ một lớp tương ứng nhấn chuột phải chọn New – chọn Statechart Diagram.
Bước 2: Chọn công cụ State để thêm trạng thái vào biểu đồ
Bước 3: Đặc tả trạng thái bằng cửa sổ đặc tả
Bước 4: Biểu diễn quan hệ trong biểu đồ trạng thái
Trang 64Xây dựng biểu đồ trạng thái bằng Rational Rose
Trang 65Xây dựng biểu đồ trạng thái bằng Rational Rose
Trang 66Phân tích
Công cụ soạn thảo đồ hình
– Relation Rose
– Microsoft Visio 2003
Trang 68Chương 2: Công cụ và môi trường phát
triển phần mềm trong phân tích và thiết kế.
và các tiến trình
– Các phương thức được thiết kế trong mối quan
hệ với các đối tượng xác định hoặc một lớp đối tượng nào đó
Trang 69Chương 2: Công cụ và môi trường phát
triển phần mềm trong phân tích và thiết kế.
Các bước thiết kế hướng đối tượng
– Xây dựng biểu đồ tương tác gồm biểu đồ tuần tự, biểu đồ cộng tác
– Xây dựng biểu đồ lớp chi tiết: thực hiện hoàn chỉnh
sơ đồ lớp, xác định và biểu diễn đầy đủ các phương thức, mối quan hệ của từng lớp
– Thiết kế chi tiết: xây dựng biểu đồ động cho các phương thức phức tạp, lên kế hoạch cài đặt tích hợp
– Xây dựng biểu đồ thành phần và biểu đồ triển khai
– Phát sinh mã, chuẩn bị cài đặt hệ thống
Trang 70Thiết kế - Các biểu đồ tương tác
Trong thiết kế có 2 dạng biểu đồ tương tác bao gồm:
– Biểu đồ tuần tự (Sequence diagram) nhấn mạnh thực hiện tương tác
– Biểu đồ cộng tác (Collaboration diagram) nhấn mạnh đến mối quan hệ và sự bố trí giữa các đối tượng trong tương tác đó
Trang 71Xây dựng biểu đồ tuần tự
Các biểu đồ tuần tự gắn liền với các Use Case Các message trong biểu đồ tuần tự mô tả lại thứ tự các
sự kiện trong Scenario của các Use Case đó (cả chuẩn và ngoại lệ)
Chú ý khi vẽ biểu đồ:
– Sự kiện được biểu diễn kèm theo các message nằm ngang
– Đối tượng luôn gắn với các đường thẳng (life line) dọc theo biểu đồ
– Trục thời gian qui định từ trên xuống
– Có thể xuất hiện các message từ một đối tượng đến chính bản thân nó
Trang 72Xây dựng biểu đồ tuần tự
Biểu diễn các message lặp
Trang 73Xây dựng biểu đồ tuần tự
Sử dụng các message tạo và hủy
Trang 74Xây dựng biểu đồ tuần tự
Sử dụng phân nhánh đối tượng
Trang 75Xây dựng biểu đồ cộng tác
Biểu đồ cộng tác cũng có các message với nội dung tương tự như trong biểu đồ tuần tự nhưng các đối tượng được đặt một cách tự
do trong không gian của biểu đồ và không có đường life line cho mỗi đối tượng
Các message được đánh số thứ tự theo thứ
tự thời gian.
Trang 76Xây dựng biểu đồ cộng tác
Chú ý khi xây dựng biểu đồ cộng tác
– Giữa hai đối tượng có thể có nhiều message Các message này được biểu diễn trong không gian giữa hai đối tượng kèm theo số thứ tự của nó
– Trong biểu đồ cộng tác cũng có thể có các message từ một đối tượng đến bản thân nó Message này biểu diễn bởi một đường vô hướng xuất phát và kết thúc tại đối tượng đó