chuong1 xuanhiens weblog

56 11 0
chuong1 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

• Cung cấp một mô hình hướng đối tượng của hệ thống phần mềm để hiện thực các yêu cầu đã được xác định. Thiết kế hướng đối tượng.[r]

(1)

Chương 1

(2)

BÀI GIẢNG PHÂN TÍCH THIẾT KẾ HỆ THỐNG - GV: TỪ THỊ XUÂN HIỀN

(3)

• Hệ thống (system) tập thành phần tương tác với nhau, kết hợp với để thực mục tiêu tạo thành hệ thống

(4)

Hệ thống thông tin - Information system

• Hệ thống hệ thống nhiều thành phần liên quan đến việc truyền đạt thông tin: phần cứng, phần mềm, và hệ mạng truyền thông xây dựng sử dụng để thu thập, tạo, tái tạo, phân phối chia sẻ liệu, thông tin tri thức nhằm phục vụ mục tiêu tổ chức

(5)

Hệ thống thơng tin - Information system

• Vai trị hệ thống thơng tin

• Giáo dục điện tử (elearning)

• Thương mại điện tử (e-commerce) • Chính phủ điện tử (e-government) • Các hệ thống thơng tin địa lý (GIS) • Và nhiều lĩnh vực khác

(6)

Phân loại hệ thống thơng tin

• Hệ xử lý liệu (DPS-Data Processing System)

• Xử lý giao dịch, ghi lại liệu cho chức đặc thù • Dữ liệu đưa vào thường xuyên cập nhật

• Dữ liệu đầu định kỳ bao gồm tài liệu hoạt động báo cáo

• Hệ thơng tin quản lý (MIS- Management Information System)

• Sử dụng tổ chức kinh tế xã hội, hệ thống gồm nhiều thành phần, thành phần hệ thống hoàn chỉnh

(7)

Phân loại hệ thống thông tin

• Hệ hỗ trợ định (DSS- Decision Support System)

• Giúp cho tổ chức thơng tin cần thiết để định hợp lý đủ độ tin cậy

• Hệ chuyên gia (ES-Expert System)

• Giúp nhà quản lý giải thực vấn đề mức cao • Hệ thống liên quan đến lĩnh vực trí tuệ nhân tạo, làm cho máy tính

có khả lập luận, học tập, tự hoàn thiện người

(8)

Vai trị phân tích thiết kế hệ thống

• Thơng qua việc phân tích, người phân tích xác định yêu cầu hệ thống đưa giải pháp giải vấn đề.

• Có nhìn đầy đủ, đắn xác hệ thống thơng tin xây dựng.

• Tránh sai lầm thiết kế cài đặt • Tăng vịng đời (life cycle) hệ thống

• Dễ sửa chữa, bổ sung phát triển hệ thống

(9)

Vai trị phân tích thiết kế hệ thống

(10)

Vòng đời phát triển hệ thống

(The systems development life cycle-SDLC)

• SDLC phương pháp tiếp cận giai đoạn để phân tích thiết kế hệ thống

• Tiến trình phát triển phần mềm bao gồm khía cạnh:

• Kỹ thuật: Vòng đời phát triển phần mềm, phương pháp, cơng cụ. • Quản lý: Quản lý dự án phần mềm

(11)

Vòng đời phát triển hệ thống

(The systems development life cycle-SDLC)

• Vịng đời phát triển hệ thống thông thường gồm giai đoạn, trong giai đoạn có nhiều bước:

• Lập kế hoạch (Planning) • Phân tích (Analysis)

• Thiết kế (Design)

• Hiện thực (Implementation)

(12)

Lập kế hoạch (Planning)

• Xác định lý hệ thống cần xây dựng xây dựng thế nào? Gồm hai bước

• Xác định yêu cầu để xây dựng hệ thống hỗ trợ nhu cầu tạo giá trị kinh doanh, tiến hành phân tích tính khả thi dựa khía cạnh:

• Kỹ thuật: thực khơng? • Kinh tế: có giá trị kinh tế khơng? • Tổ chức: có sử dụng khơng?

• Khi dự án chấp nhận, người quản lý dự án lập kế hoạch dự án

(13)

Phân tích (Analysis)

• Phân tích trả lời câu hỏi:

• Ai sử dụng hệ thống (who) • Hệ thống làm (what)

• Hệ thống sử dụng ở đâu (where)

• Tìm hiểu hệ thống cải tiến hệ thống thành hệ thống mới, gồm bước:

• Xây dựng chiến lược phân tích thiết kế hệ thống

• Thu thập yêu cầu nhiều hình thức: vấn, bảng câu hỏi, …

• Kết hợp phân tích hệ thống, xây dựng đề xuất hệ thống mô tả yêu cầu doanh nghiệp mà hệ thống phải đáp ứng

(14)

Thiết kế (Design)

• Xác định cách hoạt động hệ thống, giai đoạn thiết kế gồm bước:

• Phát triển kế hoạch thiết kế • Thiết kế kiến trúc hệ thống • Xây dựng sở liệu

• Thực thiết kế chương trình

(15)

• Đây giai đoạn ý tốn nhất, gồm bước:

• Xây dựng hệ thống (construction) kiểm thử để đảm bảo hệ thống hoạt động thiết kế

• Cài đặt, kế hoạch hướng dẫn sử dụng

• Lập kế hoạch hỗ trợ hệ thống, đánh giá kế hoạch thực hiện, xác định thay đổi cần thiết cho hệ thống

(16)

• Mơ hình thác nước • Mơ hình RUP

• Mơ hình Agile

(17)

Mơ hình thác nước

• Các giai đoạn nối tiếp cách liên lục.

• Có vịng lặp cho phép trở giai đoạn trước để hiệu chỉnh phát lỗi có thay đổi.

• Mỗi giai đoạn hồn tất tài liệu của giai đoạn hồn thành sản phẩm giai đoạn chấp nhận nhóm SQA

(18)

Mơ hình RUP- Rational Unified Process

• Một cách tiếp cận có kỹ luật để gán quản lý nhiệm vụ phát triển phần mềm, vận dụng thực tiển tốt phát triển phần mềm đại.

• Mơ hình chia q trình phát triển hệ thống thành giai đoạn riêng biệt

(19)

• Giai đoạn khởi động (Inception): ý tưởng mục tiêu dự án cơng bố.

• Lập quy hoạch chi tiết (Elaboration): Kiến trúc nguồn tài nguyên xác định

• Thực thi (Construction): phát triển hồn thành hệ thống

• Chuyển giao (Transition): hệ thống phát hành cho người dùng cuối cập nhật dựa phản hồi.

(20)

Mô hình RUP- Rational Unified Process

• Đặc điểm RUP

• Là tiến trình lặp lặp lại, phù hợp với hệ thống có yêu cầu thay đổi

• Sử dụng mơ hình UML

• Phát triển theo kiến trúc trung tâm (architecture-centric) giảm thiểu làm lại, tăng khả tái sử dụng

• Nhấn mạnh việc xây dựng hệ thống dựa hiểu biết thấu đáo chức hệ thống

• RUP hỗ trợ kỹ thuật hướng đối tượng

• RUP ln quan tâm đến kiểm sốt chất lượng quản lý rủi ro

(21)

• Giai đoạn (Phases) là khoảng cách mốc quan trọng tiến trình, giai đoạn phải xác định mục tiêu cần đáp ứng, sản phẩm hoàn thành, định để chuyển sang giai đoạn tiếp theo.

• RUP gồm giai đoạn:

• Inception • Elaboration • Construction • Transition

(22)(23)

Các giai đoạn RUP • Khởi động (Inception)

• Tìm hiểu nghiệp vụ

• Xác định phạm vi dự án

• Đánh giá rủi ro, ước tính nguồn nhân lực

(24)

Các giai đoạn RUP • Phác thảo (Elaboration)

• Phân tích nghiệp vụ

• Xây dựng kiến trúc phù hợp

• Phát triển kế hoạch dự án, loại bỏ yếu tố có nguy rủi ro cao

• Kiểm tra mục tiêu chi tiết phạm vi hệ thống, đưa định có tiếp tục giai đoạn hay không

(25)

Các giai đoạn RUP • Xây dựng (Construction)

• Lặp lặp lại bước phát triển sản phẩm hoàn chỉnh, sẵn sàng chuyển giao cho người dùng

• Hồn thành việc kiểm thử phần mềm

(26)

• Chuyển giao (Transition)

• Triển khai hệ thống đến người dùng

• Ghi nhận vấn đề phát sinh hạn chế để hoàn thiện cuối

(27)

Các cơng việc RUP

• Mơ hình hóa nghiệp vụ (Business modeling)

• Mơ tả cấu trúc quy tắc nghiệp vụ

• Xác định yêu cầu (Requirements)

• Mơ tả quy tắc nghiệp vụ use case – base method

• Phân tích thiết kế (Analysis&design)

• Mơ tả kiến trúc hệ thống thông qua sơ đồ

(28)

Các cơng việc RUP

• Hiện thực (Implementation)

• Phát triển phần mềm, unit test, tích hợp

• Kiểm thử (Test):

• Mơ tả tình huống, kịch kiểm thử, theo dõi sai sót

• Triển khai (Deployment):

• Đưa phần mềm vào sử dụng, bao gồm cấu hình hệ thống

(29)

Các công việc RUP

• Quản lý cấu hình (Configuration management ):

• Điều khiển thay đổi, trì hợp thành phần dự án

• Quản lý dự án(Project Management):

• Mơ tả chiến lược khác làm việc với tiến trình lặp lặp lại

• Mơi trường (Environment)

• Cơ sở hạ tầng cần thiết để phát triển hệ thống

(30)

Mơ hình Agile

• Đặc trưng cách tiếp cận theo mơ hình Agile tính tương tác gia tăng Có giai đoạn

• Thăm dị (exploration) • Lập kế hoạch (planning)

• Vòng lặp: thử nghiệm, thay đổi để đạt hệ thống ổn định phát triển (iterations to the first release)

• Sản xuất (productionizing) • Bảo trì (maintenance)

(31)(32)

Phân tích thiết kế hướng đối tượng

• Hệ thống xem tập đối tượng, đối tượng bao gồm liệu hành vi.

• Các đối tượng hệ thống có quan hệ tương tác lẫn nhau • Phát triển mơ hình xác với vấn đề phân tích

• Ánh xạ thực thể giới thực với đối tượng thiết kế. • Giữ nguyên mẫu cấu trúc, quan hệ hành vi đối tượng.

• Phù hợp cho hệ thống lớn, cập nhật thường xuyên

(33)

Phân tích thiết kế hướng đối tượng

• Ưu điểm

• Mơ hình khái niệm lĩnh vực rõ ràng • Giảm chi phí thực

• Giảm phức tạp hệ thống

• Tăng hiệu chất lượng hệ thống • Giảm rủi ro

• Giảm chi phí bảo trì • Hệ thống mềm dẽo

(34)

Phân tích thiết kế hướng đối tượng

Ví dụ: phân tích hệ thống cửa hàng bán xe

• Các đối tượng xác định gồm:

• Khách hàng

• Người bán hàng • Phiếu đặt hàng

• Phiếu (hố đơn) tốn • Xe hơi

(35)

Phân tích thiết kế hướng đối tượng

Ví dụ: phân tích hệ thống cửa hàng bán xe

• Tương tác quan hệ đối tượng gồm :

• Người bán hàng giới thiệu xe cho khách hàng • Khách hàng chọn xe

• Khách hàng viết phiếu đặt xe • Khách hàng trả tiền xe

• Người bán hàng giao xe cho khách hàng

(36)

Phân tích thiết kế hệ thống

(37)

Mơ hình hóa hướng đối tượng

• Mơ hình hóa hướng đối tượng cách mơ hình hố hệ thống theo ngơn ngữ tự nhiên

• Các hệ thống, mà đối tượng, phân hủy thành các thành phần, thành phần thực cơng việc hồn chỉnh

• Các thành phần cộng tác để cung cấp chức cần thiết hệ thống

(38)

Lợi ích mơ hình hóa hướng đối tượng

• Cung cấp framework mơ hình hóa khái niệm cách trực quan.

• Giảm chi phí thực bảo trì • Giảm độ phức tạp

• Tiếp cận dựa thành phần (Component) tăng khả tái sử dụng

• Tăng hiệu suất chất lượng hệ thống • Giảm rủi ro

(39)

Phân tích thiết kế hướng đối tượng

• Áp dụng mơ hình hướng đối tượng để phân tích hệ thống yêu cầu hệ thống

• Thiết kế hướng đối tượng: thực yêu cầu xác định phân tích hướng đối tượng.

• Phân tích thiết kế hướng đối tượng gồm hoạt động:

• Phân tích hướng đối tượng - Object Oriented Analysis • Thiết kế hướng đối tượng - Object Oriented Design

(40)

• Phân tích (Analysis): nhấn mạnh việc nghiên cứu yêu cầu và vấn đề tốn

• Phân tích hướng đối tượng (Object-oriented analysis): nhấn mạnh việc tìm kiếm mơ tả khái niệm đối tượng trong phạm vi tốn

• Tập trung vào việc phát triển mơ hình hướng đối tượng hệ thống

(41)

• Thiết kế (Design): nhấn mạnh việc tìm giải pháp để thực các yêu cầu giai đoạn phân tích.

• Thiết kế hướng đối tượng: xác định đối tượng phần mềm và cách tương tác chúng với để thực yêu cầu hệ thống.

• Cung cấp mơ hình hướng đối tượng hệ thống phần mềm để thực yêu cầu xác định

(42)

Phân tích thiết kế hướng đối tượng với UML

• UML (Unified Modeling Language): ngơn ngữ dùng để mơ hình hóa q trình phát triển hệ thống phần mềm hướng đối tượng

• Các sơ đồ UML chia thành nhóm:

• Sơ đồ cấu trúc (Structure Diagrams): class, object, package, deployment, component

• Sơ đồ hành vi (Behavioral Diagrams): use case diagrams, activity, sequence, communication, interaction

(43)

Các khái niệm hướng đối tượng

• Abstraction:

• Tập trung vào khía cạnh quan trọng nhất, bỏ qua chi tiết quan trọng

• Abstraction giúp việc quản lý hệ thống phức tạp cách tập trung vào khía cạnh hệ thống mà người dùng quan tâm

(44)

Các khái niệm hướng đối tượng

• Encapsulation

• Cơ chế sử dụng để ẩn cấu trúc chi tiết thực bên hệ thống

• Tất giao tiếp với đối tượng thông qua interface

(45)

Các khái niệm hướng đối tượng

• Modularity

• Chia hệ thống phức tạp thành hệ thống nhỏ hơn, tự chứa phần hoạt động cách độc lập

(46)

Các khái niệm hướng đối tượng

• Hierarchy

• Thứ tự trừu tượng có cấu trúc dạng • Các loại hierachy:

• Aggregation hierarchy, • Class hierarchy,

• Containment hierarchy, • Inheritance hierarchy, • Partition hierarchy,

• Specialization hierarchy

(47)

Các khái niệm hướng đối tượng

• Đối tượng – Object

• Sự thể thực thể xác định giới thực Ví dụ:

• Tivi, sinh viên, cơng việc …

(48)

Các khái niệm hướng đối tượng

• Đối tượng – Object

• Mỗi đối tượng bao gồm thành phần thơng tin hành vi • Thơng tin - Information:

• Xác định đối tượng • Mơ tả cấu trúc đối tượng

• Trạng thái đối tượng

• Hành vi - Behaviour:

• Đối tượng làm gì?

• Có thể làm với đối tượng?

(49)

Các khái niệm hướng đối tượng

• Lớp – Class

• Lớp nhóm đối tượng có cùng thuộc tính, hành vi mối

quan hệ Đối tượng thể lớp

• Một lớp xác định thuộc tính hành vi của tất đối tượng lớp

• Mỗi lớp có tên riêng biệt

• Một lớp trừu tượng • Ký hiệu Lớp UML

(50)

Các khái niệm hướng đối tượng

• Lớp – Class

• Ví dụ:

(51)

Các khái niệm hướng đối tượng

• Phương thức (Methods): thực hành vi đối tượng, một phương thức ứng với hành vi đối tượng.

• Thơng báo (Messages): thơng tin gửi cho đối tượng kích hoạt phương thức Một thông báo hàm thủ tục gọi từ đối tượng đến đối tượng khác

(52)

Các khái niệm hướng đối tượng

• Thuộc tính (attribute)

• Mơ tả đặc điểm đối tượng

• Một thuộc tính phải có kiểu xác định

• Chỉ có đối tượng thay đổi giá trị thuộc tính

• Tập giá trị thuộc tính xác định trạng thái đối tượng

(53)

Các khái niệm hướng đối tượng

• Quan hệ giữ lớp đối tượng

• Lớp mơ tả tập đối tượng thuộc tính, hành vi, mối quan hệ ngữ cảnh

• Một đối tượng định nghĩa bởi lớp Một lớp xác định mẫu cấu trúc hành vi tất đối tượng

• Lớp định nghĩa trừu tượng đối tượng.

(54)

Các khái niệm hướng đối tượng

• Khái niệm Relation Link

• Relations: Quan hệ lớp • Links: quan hệ đối tượng

• Ký hiệu UML

(55)

Các khái niệm hướng đối tượng

• Class diagrams

• Mơ tả lớp hệ thống loại mối quan hệ chúng, bao gồm:

• Association

• Generalization (Inheritance) • Aggregation or composition • Dependency

(56)

1 Câu sau đúng? Nếu sai giải thích.

a) Học viên lớp?

b) Nguyễn văn A lớp?

c) Tạo cơng việc object d) Xóa tập tin hành vi?

e) Tên thuộc tính?

2 Giả sử cần xây dựng hệ thống đăng ký học phần, xác định :

a) lớp cho mơ hình

b) Xác định thuộc tính cho lớp

Ngày đăng: 20/04/2021, 01:25

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

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

Tài liệu liên quan