chuong6xaydungchuongtrinh xuanhiens weblog

45 2 0
chuong6xaydungchuongtrinh xuanhiens weblog

Đ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

hệ thống con thành phần hoặc module riêng biệt, và các module có thể được sử dụng lại trong các chương trình khác.  Sau khi một module đã được thử nghiệm riêng lẻ, nó sẽ đ[r]

(1)(2)

1 Tổng quan thiết kế thực phần mềm 2 Thiết kế hướng đối tượng sử dụng UML

3 Mẫu thiết kế

4 Vấn đề thực hiện

(3)

Thiết kế thực phần mềm một giai đoạn trong quy

trình công nghệ phần mềm.

Hoạt động thiết kế hiện thực phần mềm xen kẽ nhau.

Thiết kế phần mềm hoạt động sáng tạo trong kỹ sư phần

mềm phải xác định thành phần phần mềm mối quan hệ chúng, dựa yêu cầu khách hàng

Hiện thực phần mềm là trình thực thiết kế chương

trình

(4)

Thơng thường, có giai đoạn thiết kế riêng biệt thiết kế

được mơ hình hóa ghi dạng bảng vẽ thiết kế.

Ngồi ra, có thiết kế từ lập trình viên

phác họa sơ giấy cách giải vấn đề.

Tuy nhiên, cần mô tả chi tiết thiết kế hệ thống

bằng cách sử dụng UML hoặc ngôn ngữ mô tả thiết kế khác.

(5)

Một quyết định quan trọng phải đưa

giai đoạn đầu dự án phần mềm là nên mua hay xây dựng

phần mềm mới

Hiện nay, số lĩnh vực, có giải pháp đóng gói (COTS

-Commercial off-the-shelf) gồm đầy đủ dịch vụ, sau điều chỉnh để đáp ứng nhu cầu người dùng

Ví dụ, nếu muốn thực hệ thống hồ sơ y tế, người dùng mua một gói sử dụng bệnh viện Nó rẻ nhanh thay

phát triển hệ thống theo ngơn ngữ lập trình thơng thường

(6)

Quy trình thiết kế hướng đối tượng có cấu trúc liên quan đến

việc phát triển mơ hình hệ thống khác nhau.

Quy trình thiết kế hướng đối tượng đòi hỏi nhiều nỗ lực để phát triển

và bảo trì, hệ thống nhỏ, điều khơng hiệu chi phí

Tuy nhiên, hệ thống lớn phát triển nhóm khác

nhau, mơ hình thiết kế chế giao tiếp quan trọng

(7)

Các giai đoạn xử lý: Có nhiều quy trình thiết kế hướng đối tượng

khác phụ thuộc vào tổ chức sử dụng quy trình.

Các hoạt động phổ biến quy trình thiết kế hướng đối tượng:

– Xác định bối cảnh phương thức sử dụng hệ thống; – Thiết kế kiến trúc hệ thống;

– Xác định đối tượng hệ thống chính; – Xây dựng mơ hình thiết kế;

– Chỉ định giao diện đối tượng

(8)

Hiểu mối quan hệ phần mềm đang thiết kế mơi trường bên ngồi của điều cần thiết để quyết định cách cung cấp chức hệ thống cần thiết cách cấu trúc hệ thống để giao tiếp với mơi trường nó.

Hiểu biết ngữ cảnh giúp thiết lập ranh giới (boundary)

của hệ thống quyết định tính triển khai trong hệ thống và tính trong hệ thống liên kết khác.

(9)

Mơ hình ngữ cảnh hệ thống mơ hình cấu trúc thể

các hệ thống con môi trường hệ thống phát triển.

Mơ hình ngữ cảnh hệ thống như bản đồ cấp cao hệ

thống môi trường xung quanh, được sử dụng xác định phạm vi hoạt động hệ thống

Sơ đồ ngữ cảnh hệ thống gồm ba phần tử biểu đồ: Phần tử ngữ

cảnh, thực thể bên luồng liệu

(10)

Ví dụ: Mơ hình ngữ

cảnh hệ thống đặt hàng hiển thị tất hướng dẫn nội xử lý tự động

(11)

Mơ hình tương tác mơ hình động thể hiển cách mà hệ

thống tương tác với mơi trường khi sử dụng.

Hiển thị tương tác thành phần hệ thống hoặc

giữa hệ thống với hệ thống khác

(12)

Vai trị mơ hình tương tác

Mơ hình hóa tương tác người dùng giúp xác định yêu cầu người

dùng

Mơ hình hóa hệ thống làm bật vấn đề giao tiếp phát sinh.

Mơ hình hóa tương tác thành phần giúp hiểu cấu trúc hệ thống

đề xuất có khả cung cấp yêu cầu phi chức cần thiết

(13)

Sơ đồ use case: mơ hình hóa tương tác hệ thống

tác nhân bên (người dùng hệ thống khác).

Xác định actor: Các đối tượng tương tác với hệ thống, người

hoặc hệ thống khác bên hệ thống xây dựng

Xác định use case: Một use case đại diện cho hành vi hoàn

chỉnh, thực qua nhiều bước, có hoạt động bắt đầu kết thúc

Cách xác định use case:

– dựa vào đặc tả yêu cầu người dùng, yêu cầu chức năng, chọn tập động từ – Từ tập động từ, chọn động từ đại diện cho chức hồn chỉnh

(14)

Ví dụ:

2.3 Các sơ đồ mơ hình tương tác

(15)

Sơ đồ use caseĐặc tả use case

– Truyền đạt yêu cầu kỹ thuật yêu cầu phần mềm cho người kỹ thuật,

– Là cách để nhà phát triển phần mềm đảm bảo người dùng đạt yêu cầu từ hệ thống phần mềm

Cách đặc tả use case

– Đặc tả dạng văn – Đặc tả dạng bảng

(16)

Các nội dung đặc tả use case

Luồng kiện (main flow): các bước thực use case,

tương tác actor hệ thống, từ lúc bắt đầu đến kết thúc

– Mỗi bước đánh số thứ tự – Actor thực bước bắt đầu – Hệ thống đáp trả

– Actor thực bước …

Luồng kiện thay (alternate flow): tại bước luồng kiện

chính, buộc actor phải chọn nhánh khác để thực bước cuối quay lại bước luồng kiện

– Luồng kiện thay đánh số thứ tự theo bước mà có luồng rẻ nhánh

(17)

Ví dụ: Viết đặc tả

use case Đặt mua sách khách hàng hệ thống

BookstoreOnline

Tên use case: Đặt mua sách

Mô tả sơ lược: Khách hàng thực yêu cầu đặt mua sách hệ thống BooksotreOnline

Actor chính: khách hàng

Actor phụ: không

Tiền điều kiện: khách hàng phải đăng nhập thành công Hậu điều kiện: Một đơn hàng lưu hệ thống

Số lượng sách kho cập nhật Luồng kiện

Actor System

1 Khách hàng click nút Đặt hàng

3 Khách hàng điền thông tin đặt hàng click nút Gửi

6 Khách hàng xác nhận kết thúc hoạt động đặt mua sách

2 Hệ thống hiển thị Form đặt hàng Hệ thống kiểm tra (rẽ nhánh)

5 Hệ thống hiển thị thông báo đặt hàng thành công Hệ thống cập nhật số lượng sách

Luồng kiện thay

4.1.a Khách hàng chọn kết thúc 4.1.b Khách hàng chọn tiếp tục

(18)

Sơ đồ sequence: mô hình tương tác đối tượng

các thành phần hệ thống.

Sơ đồ biểu diễn tương tác đối tượng

trong hệ thống thông điệp (messages), từ thông điệp tương tác đối tượng, xác định hành vi đối tượng.

2.3 Các sơ đồ mơ hình tương tác

(19)(20)

Hệ thống (subsystem)

Một hệ thống thường chia thành hệ thống con, hệ thống

thực cơng việc hồn chỉnh

Hệ thống con chia nhỏ cách đệ quy thành hệ thống con đơn giản

(21)

Sơ đồ Package

Để dễ dàng phần thiết kế hướng đối tượng, domain model

được tổ chức thành package.

Tổ chức domain model thành package thủ tục phức

tạp, dựa hai nguyên tắc bản: sự gắn kết độc lập.

(22)

Sơ đồ Package

Nhóm lớp vào Package: nhóm lớp vào package phải thỏa tiêu

chí gắn kết (coherence) sau:

Mục tiêu: lớp phải trả dịch vụ đáp ứng yêu cầu người dùng

Ổn định: cô lập lớp package phải thực ổn định trình phát triển dự án, sau

Thời gian sống đối tượng: tiêu chí giúp phân biệt lớp mà đối tượng có thời gian sống khác

(23)

Ví dụ: Package Dịch vụ theo dõi

đặt hàng cửa hàng mua sắm trực tuyến Dịch vụ theo dõi đặt hàng có trách nhiệm cung cấp thơng tin theo dõi cho sản phẩm đặt hàng khách hàng Các loại khách hàng số sê-ri theo dõi,

Dịch vụ theo dõi đặt hàng đề cập đến hệ thống cập nhật trạng thái giao hàng cho khách hàng.

(24)

Sơ đồ thành phần (Component diagrams): được sử dụng để

trực quan hóa tổ chức mối quan hệ Component một hệ thống

Các sơ đồ sử dụng để tạo hệ thống thực

thi.

Các thành phần Component diagrams Component

Interface Port

(25)

Component là khối đơn vị logic hệ thống, sử dụng

để mơ hình hóa khía cạnh vật lý hệ thống, yếu tố tệp thực thi, thư viện, tệp, tài liệu, v.v

Thông thường Component tạo thành từ nhiều class,

package class Component khác

Ký hiệu UML

(26)

Interface: Đây điểm nhập cung cấp dịch vụ

nhìn thấy mà Component cung cấp cho

Component lớp phần mềm khác

Ký hiệu UML

(27)

Loại Interface

Required interfaces: xác định tập thuộc tính hoạt động

chung (Public) yêu cầu lớp thực interface cho

Provided interfaces xác định tập thuộc tính hoạt động

chung (Public) cần cung cấp lớp thực interface cho

(28)

Port: chỉ component khơng cung cấp interfaces,

component ủy quyền interfaces cho lớp bên Port sử dụng để giúp hiển thị interfaces của component.

Ký hiệu UML

(29)

Sơ đồ triển khai (Deployment diagrams): được sử dụng để mơ

hình hóa khía cạnh vật lý của hệ thống hướng đối tượng Nó thể cách mà hệ thống triển khai.

Các thiết bị phần cứng, xử lý môi trường thực thi phần mềm

được phản ánh dạng Nút cấu trúc bên mơ tả cách nhúng Nút lồng

(30)

Các thành phần Deployment diagrams: Nodes

Artifacts

Communication Association Devices

(31)

Nodes: là thực thể vật lý thực thi nhiều thành phần

(components, subsystems) tệp thực thi

Một nút yếu tố phần cứng phần mềm. Ký hiệu UML

(32)

Devices:

Ví dụ: Sơ đồ triển khai hệ thống gồm: Một máy chủ web

Một máy chủ sở liệu

Máy mà người dùng xem trang web

(33)

Các phương pháp lập trình Tài liệu phần mềm

Thách thức triển khai phần mềm

(34)

Lập trình hướng cấu trúc: là phương pháp lập trình logic, tiền

thân lập trình hướng đối tượng (OOP) Lập trình có cấu trúc giúp chương trình rõ ràng, dễ hiểu dễ sửa đổi.

Cách tiếp cận thiết kế từ xuống: hệ thống chia thành

hệ thống thành phần module riêng biệt, module sử dụng lại chương trình khác

Sau module thử nghiệm riêng lẻ, tích hợp với

các module khác vào cấu trúc chương trình tổng thể

(35)

Lập trình hướng chức năng: Đây phương pháp cận truyền

thống ngành công nghiệp phần mềm đó, phần mềm được xem tập hợp chương trình chức

năng và liệu giả lập.

Chương trình = thuật giải + cấu trúc liệu

Ngôn ngữ lập trình chức được dùng để xử lý ứng

dụng tính tốn xử lý danh sách Lập trình chức dựa các hàm tốn học

Các ngơn ngữ lập trình chức phổ biến: Lisp, Python, vv

(36)

Lập trình hướng đối tượng: là phương pháp lập trình mà

theo giải pháp cho vấn đề lập trình mơ hình hóa một tập hợp đối tượng hợp tác

Các đối tượng bao gồm thuộc tính hành vi, tương tác với

nhau cách gửi thơng điệp

Phương pháp lập trình hướng đối tượng tập trung vào đối tượng hơn logic cần thiết để thao tác chúng.

Phù hợp cho hệ thống lớn, phức tạp, có khả sử

dụng lại mã, khả mở rộng hiệu quả.

(37)

Phong cách lập trình: thiết lập quy tắc mã hóa để lập

trình viên tuân thủ viết mã

Khi nhiều lập trình viên làm việc dự án phần mềm,

họ cần phải làm việc với mã chương trình viết nhà phát triển khác, đó, nhà phát triển phải tuân theo số phong cách lập trình tiêu chuẩn để mã hóa chương trình.

(38)

Phong cách lập trình:

Sử dụng hàm tên biến có liên quan đến tác vụ thực Sử dụng thụt lề đặt vị trí.

Chú thích cho code để thuận tiện cho người đọc

Cách trình bày code tổng thể cho mã chương trình đọc dễ

hiểu tất thành viên, giúp việc gỡ lỗi giải lỗi dễ dàng

Ngoài ra, phong cách lập trình phù hợp giúp dễ dàng viết cập nhật tài

liệu phần mềm

(39)

Tài liệu phần mềm phần quan trọng quy trình phần

mềm Một tài liệu viết tốt cung cấp công cụ hữu ích,

phương tiện lưu trữ thơng tin cần thiết để biết quy trình phát triển phần mềm

Tài liệu phần mềm cung cấp thông tin về cách sử dụng sản

phẩm.

(40)

Nội dung tài liệu phần mềm:

Tài liệu yêu cầu (Requirement documentation):

– Cơng cụ cho nhà thiết kế phần mềm, nhà phát triển nhóm thử

nghiệm để thực nhiệm vụ tương ứng họ

– Tài liệu chứa tất mô tả chức năng, phi chức hành vi

của phần mềm dự định

Là tảng cho phần mềm được phát triển sử dụng

giai đoạn xác minh xác nhận Hầu hết trường hợp thử nghiệm xây dựng trực tiếp từ tài liệu yêu cầu

(41)

Nội dung tài liệu phần mềm:

Tài liệu thiết kế phần mềm (Software Design documentation): cung cấp

tất thông tin cần thiết để mã hóa triển khai, bao gồm nội dung: – Kiến trúc phần mềm cấp cao,

– Chi tiết thiết kế phần mềm, – Sơ đồ luồng liệu,

– Thiết kế sở liệu

(42)

Nội dung tài liệu phần mềm:

Tài liệu kỹ thuật (Technical documentation): được tạo trì

nhà phát triển lập trình viên thực tế

– Các tài liệu chứa thông tin mã chương trình Trong viết mã, lập trình viên đưa mục tiêu mã, viết nó, yêu cầu đâu, làm làm nào, tài nguyên khác mà mã sử dụng, v.v

– Làm tăng hiểu biết lập trình viên khác làm việc mã

– Nó tăng cường khả tái sử dụng và giúp việc gỡ lỗi dễ dàng

(43)

Nội dung tài liệu phần mềm:

Tài liệu người dùng (User documentation):

– Giải thích cách sản phẩm phần mềm nên hoạt động cách sử dụng để có kết mong muốn

– Các tài liệu bao gồm, quy trình cài đặt phần mềm, hướng dẫn cách làm, hướng dẫn sử dụng, phương pháp gỡ cài đặt tài liệu tham khảo đặc biệt để có thêm thông tin cập nhật giấy phép,

(44)

Các thách thức mà nhóm phát triển phải đối mặt

thực phần mềm:

Tái sử dụng mã: các ngôn ngữ ngày trang bị thư viện khổng

lồ Tuy nhiên, để giảm chi phí cho sản phẩm cuối cùng, ban quản lý tổ chức thích sử dụng lại mã tạo trước cho số phần mềm khác Do đó, lập trình viên phải đối mặt để kiểm tra tính tương thích định sử dụng lại mã

(45)

Quản lý phiên - Mỗi phần mềm phát hành cho

khách hàng, nhà phát triển phải trì tài liệu liên quan đến phiên cấu hình Tài liệu cần phải có độ xác cao có sẵn thời điểm

Target-Host - Chương trình phần mềm, phát triển tổ chức,

cần thiết kế cho máy chủ khách hàng Nhưng đôi khi, thiết kế phần mềm hoạt động máy mục tiêu

Ngày đăng: 27/04/2021, 18:39

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan