1. Trang chủ
  2. » Công Nghệ Thông Tin

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

18 200 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 18
Dung lượng 1,57 MB

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

Nội dung

Object Oriented Analysis & Design with UMLHiện trạng Ớ Sinh viên khi ra trường Ớ Nhìn nhận việc lập trình là một công việc chắnh Ớ đã tiếp cận một số ngôn ngữ, thư viện, công cụ lập trìn

Trang 1

Nhập môn Phân tích & Thiết kế hướng ñối tượng với UML

Mai Thúy Nga, ngamt@thanglong.edu.vn

ðại học Thăng Long

Nội dung

• Phương hướng tiếp cận

• Giới thiệu về môn học PT&TK sử dụng UML

• Lịch sử phát triển UML

• Nội dung môn học

Trang 2

Object Oriented Analysis & Design with UML

Hiện trạng

Ớ Sinh viên khi ra trường

Ớ Nhìn nhận việc lập trình là một công việc chắnh

Ớ đã tiếp cận một số ngôn ngữ, thư viện,

công cụ lập trình nhưng ở mức cơ bản

Ớ Cho rằng có thể giải quyết ựược mọi chuyện thông qua lập trình

Ớ Sự phản ánh của các công ty

Ớ Quá tập trung vào ngôn ngữ lập trình hơn là kỹ thuật lập trình

Ớ Chưa có tư duy làm việc nhóm

Ớ Chưa chú trọng tới vấn ựề giao tiếp khi làm việc với các ựối tượng khác nhau như K/H, QLDA, ựồng nghiệp hay nhóm kiểm thửẦ

Ớ Chưa có tư duy về lập kế hoạch, phân tắch hay thiết kế về một yêu cầu nào ựó khi ựược giao

Ớ Chưa có tư duy về quy trình phát triển phần mềm

Mục tiêu trang bị cho sinh viên

Ớ Có tư duy phân tắch một vấn ựề trước khi phát triển, cùng với ựề xuất thiết kế ựể giải quyết vấn ựề ựó

Ớ Nắm bắt nguyên lý phân tắch và thiết kế phần mềm theo UML

Ớ Tìm hiểu một số tư tưởng thiết kế sẵn có (design patterns)

Ớ Nâng cao khả năng làm việc nhóm

Ớ Xây dựng tài liệu, mô hình Ầ cho phù hợp với từng ựối tượng tham gia dự án

Ớ Có khả năng ựọc và hiểu ựược các tài liệu kỹ thuật của dự án

Ớ Tiếp cận tư duy làm dự án theo quy trình phát triển phần mềm (tiếp tục với môn Công nghệ phần mềm)

Ớ Các vấn ựề khi làm việc với khách hàng

Ớ Các vấn ựề về quản lý chất lượng dự án

Ớ Các vấn ựề về quản lý dự án

Trang 3

Object Oriented Analysis & Design with UML

Nội dung

• Phương hướng tiếp cận

• Giới thiệu về môn học PT&TK sử dụng UML

• Lịch sử phát triển UML

• Nội dung môn học

Vai trò của phân tích và thiết kế

• Mục tiêu dự án

• Tìm hiểu yêu cầu

• Kiến thức chuyên môn

• Trừu tượng hóa

• Mô hình hóa

• Kiến trúc hệ thống

• Cấu trúc thành phần

• Thuật toán

• Cấu trúc dữ liệu

Trang 4

Object Oriented Analysis & Design with UML

Phân tích và Thiết kế phần mềm

• Cần xây dựng một quy trình phát triển phần mềm hiệu quả

• Quản lý yêu cầu dự án

• Lập kế hoạch và kiểm soát công việc

• ðảm bảo chất lượng sản phẩm…

• Thiết lập một cơ chế ñể nắm bắt yêu cầu, xây dựng thiết kế

là ñiều rất quan trọng

• Sử dụng các mẫu, các kỹ thuật ñể có thể ñặc tả và minh họa quá trình phân tích và thiết kế

• Sử dụng các chương trình hỗ trợ phân tích và thiết kế (tools)

• Cơ chế này phải như là một “ngôn ngữ thống nhất” giúp cho quá trình hợp tác hiệu quả giữa các thành viên và khách háng trong nhóm phát triển phần mềm

Phương hướng tiếp cận

Phân tích và thiết kế

hướng cấu trúc

Phân tích hướng

cấu trúc

Thiết kế hướng

cấu trúc (ERD, DFD)

Lập trình cấu trúc

(C, Pascal…)

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

Phân tích hướng ñối tượng (UML)

Thiết kế hướng ñối tượng (UML)

Lập trình ñối tượng (C++, Java, NET …)

Những năm 60-90 Những năm 2000-nay

Trang 5

Object Oriented Analysis & Design with UML

Hướng tiếp cận sử dụng UML

• Về cơ bản UML chỉ là một ngôn ngữ dùng ñể mô hình hóa các thành phần cần thiết trong quá trình phát triển dự án

• Tuy nhiên nếu vận dụng hợp lý, UML có thể ñược sử dụng như là một phương pháp (quy trình) phân tích và thiết kế

dự án

• Mặc dù vậy, UML vẫn chưa làm ñược các vấn ñề khác của Công nghệ phần mềm như lập kế hoạch, quản lý chất lượng…

• UML sử dụng các biểu tượng ñể mô hình hóa các thực thể theo từng chiều khác nhau, ñể phục vụ các ñối tượng khác nhau, cho từng giai ñoạn khác nhau của dự án

• Ví dụ: mô hình hóa Use-case cho K/H, QLDA

• Mô hình hóa lớp và trình tự cho LTV

• …

Tại sao cần mô hình hóa

• Khó khăn

• Phần mềm ngày càng trở nên phức tạp

• Windows XP > 40M LoC

• Tìm hiểu mã nguồn luôn là một vấn ñề khó ñối với LTV

• Cần một cách thể hiện các bài toán phức tạp một cách ñơn giản hơn

• Mô hình hóa là một phương tiện giúp chúng ta ñơn giản hóa bài toán

• Mô hình chính là một phương tiện ñể giao tiếp giữa các thành viên tham gia phát triển dự án

Trang 6

Object Oriented Analysis & Design with UML

ðịnh nghĩa về mô hình hóa, (Modeling)

• Mô hình hóa là quá trình trừu tượng hóa các ñối tượng (thực thể) trong thế giới thực

• Trừu tượng hóa ñảm bảo ñơn giản hóa những gì phức tạp trong thế giới thực:

• Bỏ qua những thông tin không cần thiết

• Chỉ thể hiện những thông tin cần thiết mang tính ñặc thù của thực thể ñó trong một ngữ cảnh cụ thể

• Phù hợp với từng ñối tượng trong dự án

• Khái niệm thế nào là cần thiết và không cần thiết phụ thuộc vào mục ñích của mô hình ñó, người quan tâm ñến mô hình ñó và một số nhân tố khác

Ngôn ngữ trong quá trình phát triển

C++

Java

Mô hình phát triển

Kỹ sư

phát

triển

HTML CGI XML JavaScript Quản trị

nội dung

Yêu cầu và

Mô hình nghiệp vụ

Phân tích

nghiệp vụ

SQL

Mô hình quan hệ (ER) Quản trịCSDL

Nhiều ngôn ngữ = Rào cản giao tiếp

Trang 7

Object Oriented Analysis & Design with UML

Ngôn ngữ mô hình hóa thống nhất (UML)

Kiến trúc

hệ thống

Sơ ñồ trình tự

Giao diện

Mô hình

Use Case

Quản lý dự án

Kiến trúc sư

Lập trình viên

Kiểm thử

Khách hàng

UML

Một số khái niệm trong UML

• Hệ thống (System)

• Là một hệ thống thực tế cần phải mô tả hoặc xây dựng

• Mô hình (Model)

• Là kết quả của quá trình trừu tượng hóa của hệ thống thực

• Khung nhìn (View)

• Phản ánh một khía cạnh nào ñó của mô hình

• Mỗi một Model có thể có nhiều View khác nhau tùy thuộc vào mục ñích của View ñó

• Mỗi View sẽ phù hợp cho một nhóm ñối tượng nào ñó trong dự án

• Ký hiệu (Notation)

• Là một ký hiệu ñồ họa hoặc văn bản cho phép mô tả khung nhìn

Trang 8

Object Oriented Analysis & Design with UML

UML - Các sơ ñồ chuẩn (Diagram)

Deployment Diagram

Use Case DiagramsUse Case DiagramsUse Case Diagrams

Scenario

DiagramsScenario

DiagramsSequence

Diagrams

State DiagramsState DiagramsState Diagrams

Component DiagramsComponent Diagrams Component Diagrams

Model

State DiagramsState DiagramsObject Diagrams

Scenario

DiagramsScenario

Diagrams

Collaboration

Diagrams

Use Case

DiagramsUse Case

DiagramsActivity

Diagrams

State DiagramsState DiagramsClass Diagrams

Một số sơ ñồ quan trọng (View)

Sản phẩm

Mô hình của

Hệ thống

Sơ ñồ Use Case

Sơ ñồ trình tự

Sơ ñồ lớp

Kiến trúc

Sơ ñồ hành ñộng

Sơ ñồ thành phần

Sơ ñồ triển khai

Trang 9

Object Oriented Analysis & Design with UML

Khảo sát và phân tích dự án

• Xây dựng mô hình Use Case (Use case diagram)

Phân tích & Thiết kế

• Xây dựng sơ ñồ lớp và gói (Class & Package diagrams)

Trang 10

Object Oriented Analysis & Design with UML

Thiết kế

• Xây dựng sơ ñồ trình tự và các kịch bản (Sequence & Interaction diagrams)

Thiết kế

• Xây dựng sơ ñồ hành ñộng (Activity diagram)

Trang 11

Object Oriented Analysis & Design with UML

Thiết kế

• Xây dựng sơ ñồ trạng thái (State diagram)

Phát triển

• Lập trình mã nguồn

Trang 12

Object Oriented Analysis & Design with UML

Bàn giao

• Xây dựng sơ ñồ triển khai (Deployment diagram)

Nội dung

• Phương hướng tiếp cận

• Giới thiệu về môn học PT&TK sử dụng UML

• Lịch sử phát triển UML

• Nội dung môn học

Trang 13

Object Oriented Analysis & Design with UML

UML (1)

• UML ñược xây dựng bởi 3 chuyên gia phân tích hướng ñối tượng

• Grady Booch: Booch91

• Ivar Jacobson: Object-Oriented Software Enginering (OOSE)

• Jim Rumbaugh: Object Modeling Technique (OMT)

• Thiết lập một phương thức thống nhất ñể xây dựng và “mô hình hóa” các yêu cầu & thiết kế theo hướng ñối tượng trong quá trình phân tích và thiết kế phần mềm

• UML có thể ñược áp dụng trong nhiều quy trình phát triển phần mềm khác nhau

• UML có thể áp dụng ñược với phần lớn các ngôn ngữ OOP như Java, NET…

UML (2)

• Ba chuyên gia hợp nhất các

kỹ thuật của họ vào năm

1994

• UML ñược công nhận là

chuẩn chung vào năm 1997

Trang 14

Object Oriented Analysis & Design with UML

UML (3)

• UML cũng sử dụng một số kỹ thuật của các chuyên gia khác

Fusion

Operation descriptions, Message numbering

Meyer

Before and after

conditions

Harel

State charts

Wirfs-Brock

Responsibilities

Embley

Singleton classes, High-level view

Odell

Classification

Shlaer - Mellor

Object Lifecycles

Gamma, et.al

Frameworks, patterns,

notes

Booch

Jacobson Rumbaugh

Lịch sử phát triển của UML

OMT

(Rumbaugh)

Booch

OOSE

(Jacobson)

UML 0.9

1996

UML 1.1

11/1997

UML 1.4

5/2000

UML 2.0

2005

Trang 15

Object Oriented Analysis & Design with UML

Nội dung

• Phương hướng tiếp cận

• Giới thiệu về môn học PT&TK sử dụng UML

• Lịch sử phát triển UML

• Nội dung môn học

Tổng quan về môn học

• Phân tích các chức năng của bài toán theo mô hình Use-case, phát triển phần mềm theo hướng tiếp cận mới

• Sử dụng UML ñể biểu diễn các mô hình phân tích và thiết kế

• Áp dụng các khái niệm hướng ñối tượng: trừu tượng hoá, ñóng gói, phân cấp, module hoá, ña hình ñể phát triển mô hình thiết kế

• ðặc tả tài liệu khi phân tích và thiết kế các module

• Song song với việc học lý thuyết,

sinh viên sẽ chia nhóm thực hành

theo bài tập lớn

Trang 16

Object Oriented Analysis & Design with UML

Phạm vi môn học (1)

• Tập trung vào giai ñoạn phân tích & thiết kế bài toán

• Không ñặt nặng vấn ñề làm việc với khách hàng, thay vào ñó tập trung vào vấn ñề làm việc nhóm (nhóm kỹ thuật) ñể phân tích và thiết kế các yêu cầu của dự án

• Không bao gồm toàn bộ quy trình phát triển phần mềm ở mức cao, giai ñoạn lập kế hoạch hoặc kiểm thử phần mềm

• Không bao gồm các vấn ñề quản lý dự án như quản lý rủi ro, ước lượng ñộ lớn phần mềm hay quản lý thay ñổi yêu cầu

• Các vấn ñề trên ñược giải quyết ở các môn học: Công nghệ phần mềm, Quản lý dự án, Quản lý chất lượng phần mềm

Phạm vi môn học (2)

Trang 17

Object Oriented Analysis & Design with UML

Nội dung môn học

Giới thiệu về PTTK

hướng ñối tượng với

UML

Khái niệm về Hướng ñối tượng trong UML

ðặc tả Yêu cầu với

mô hình Use Case I

ðặc tả Yêu cầu với

mô hình Use Case II

Tổng quan về Phân tích và Thiết kế

Phân tích Use

Case II

Thiet ke CSDL

Mô hình hóa Thiết kế

Phân tích Use Case I

1

5 4

2

6 3

Nội dung thực hành

Tìm hiểu mục ñích

của bài tập lớn

Thực hành UML với Rational Rose

Phân tích yêu cầu bài tập lớn

Xây dựng ðặc tả

Yêu cầu I

Báo cáo bài tập lớn

Xây dựng các sơ

ñồ phân tích Use Case I

Xây dựng ðặc tả Yêu cầu II

Xây dựng sơ ñồ Kiến trúc và Triển khai

Xây dựng các sơ

ñồ nhân tích Use

Case I

1

5 4

2

6 3

Trang 18

Object Oriented Analysis & Design with UML

đánh giá môn học

Ớ Bài tập lớn

Ớ Mỗi nhóm khoảng 4-6 sv cho 1 bài tập lớn

Ớ Tài liệu (Tuần 1-9)

Ớ Tài liệu yêu cầu, thiết kế (theo mẫu cung cấp)

Ớ Báo cáo công việc thực hiện hàng tuần

Ớ Bảo vệ dự án (sử dụng PowerPoint) vào Tuần 9

Ớ Thi cuối môn

Ớ Thi viết trong 2 tiết

Ớ được sử dụng tài liệu

Ớ điểm môn học

Ớ (Dự án * 2 + Bảo vệ + Thi) / 4

Ớ Dự án = (điểm giữa kỳ + Tài liệu)/2

Ớ Nếu 1 trong các ựiểm dưới 5 thì ựiểm cuối cùng là 4 ựiểm

Tài liệu tham khảo

Ớ DEV485 Ờ Object Oriented Analysis and Design with UML

Ớ IBM

Ớ Master UML with Rational Rose

Ớ Wendy Boggs, Michael Boggs

Ớ The Unified Modeling Language User Guide

Ớ Grady Booch, Ivar Jacobson, James Rumbaugh

Ớ UML Distilled

Ớ Martin Fowler

Ớ Writing Effective Use Cases

Ớ Alistair Cockburn

Ớ Design Patterns

Ớ Nhà xuất bản Minh Khai

Ớ Elements of Reusable Object Oriented Software

Ớ GoF

Ớ Rational Web Site

Ớ http://www.rational.com

Ngày đăng: 19/03/2018, 12:46

TỪ KHÓA LIÊN QUAN