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

Câu hỏi ôn tập phân tích thiết kế hệ thống

19 4 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 19
Dung lượng 1,31 MB

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

Nội dung

- Nguyên lí cơ bản của lập trình hướng đối tượng : OOP có 3 nguyên lí cơ bản sau : Tính đóng gói : -Đóng gói quy tụ đặc trưng của 1 thực thể vào 1 hộp đen , cất giấu sự cài đặt các đặc

Trang 1

Câu hỏi ôn tập Môn : phân tích thiết kế hệ thống

Tên : Vũ Xuân An

Lớp : Tin2.k19

Trang 2

chương 1

câu 1 : Hướng đối tượng là gì ? trình bày nguyên lí cơ bản trong hướng đối

tượng ?

- hướng đối tượng (object oriented ) : trong thế giới thực , một đối tượng có hành vi

và đặc tính thì trong ngôn ngữ lập trình cũng tuân thủ theo nguyên tắc này Đối tượng trong ngôn ngữ lập trình chứa đựng các dữ liệu, trên các trường, thường được gọi là các thuộc tính; và mã nguồn, được tổ chức thành các phương

thức Phương thức giúp cho đối tượng có thể truy xuất và hiệu chỉnh các trường dữ liệu của đối tượng khác, mà đối tượng hiện tại có tương tác OOP chia đối tượng thành các lớp(class) và các đối tượng(object)

hiểu đơn giản như sau :

Trang 3

- Nguyên lí cơ bản của lập trình hướng đối tượng :

OOP có 3 nguyên lí cơ bản sau :

Tính đóng gói :

-Đóng gói quy tụ đặc trưng của 1 thực thể vào 1 hộp đen , cất giấu sự cài đặt các đặc trưng này trong 1 giao diện

Thường biết đến với khái niệm cất giấu thông tin cho phép người sử dụng dùng đối tượng mà không cần biết đến sự cài đặt của giao diện

- Hay nói cách khách , đóng gói là ẩn dấu những thông tin không liên quan và hiển thị những thông tin liên quan

VD trong ngôn ngữ lập trình java có 4 hình thức đóng gói là default , protected , private , public

Ta có thể tham khảo bảng sau về mức độ truy cập của các hình thức đóng gói trong JAVA

Tính kế thừa

Khi bắt đầu xây dựng ứng dụng chúng ta sẽ bắt đầu việc thiết kế các lớp, thông thường chúng ta sẽ thấy có trường hợp một số lớp dường như có quan hệ với những lớp khác, chúng có những đặc tính khá giống nhau VD: 3 lớp trái cây , rau

củ …

Trang 4

Ta thấy 2 lớp trái cây và rau củ đều có những thuộc tính và hành vi tương đồng , vì vậy thay vì sao chép những thuộc tính này, sẽ hay hơn nếu ta đặt chúng ở một nơi có thể dùng bởi những lớp khác Điều này được thực hiện bởi tính kế thừa trong OOP: chúng ta có thể định nghĩa lớp cha – base class (trong trường hợp này là Smartphone ) và có những lớp con kế thừa từ nó (derived class), ta có thể xem minh hoa ở hình bên dưới

Trang 5

Tính đa hình

Tính đa hình (Polymorphism) trong Java được hiểu là trong từng trường hợp, hoàn cảnh khác nhau thì đối tượng có hình thái khác nhau tùy thuộc vào từng ngữ cảnh Đối tượng

có tính đa hình được xem như một đối tượng đặc biệt vì có lúc đối tượng này trở thành một đối tượng khác và cũng có lúc đối tượng này trở thành một đối tượng khác nữa (tùy vào từng hoàn cảnh) Sự "nhập vai" vào các đối tượng khác nhau này giúp cho đối tượng

đa hình ban đầu có thể thực hiện những hành động khác nhau của từng đối tượng cụ thể

Câu 2 :trình bày một số khái niệm cơ bản trong lập trình hướng đối tượng

1 Lập trình hướng đối tượng là gì:

 Lập trình hướng đối tượng là chia bài toán thành các đối tượng, mỗi đối tượng gồm thuộc tính và phương thức để xử lý bài toán ta đi xây dựng mối quan hệ giữa các đối tượng và cho các đối tượng thực thi phương thức của chính nó

2 Các mối quan hệ của lập trình hướng đối tượng là gì?

 Kế thừa: kế thừa là đối tượng con thừa hưởng phương thức và thuộc tính của đối tượng cha

 phụ thuộc: 1 đối tượng được khai báo là 1 thuộc tính của đối tượng khác thì mối quan hệ đó là phụ thuộc

 song song: 2 đối tượng k liên quan gì tới nhau

3 Cách xác định đối tượng, thuộc tính, phương thức trong bài toán.

 Đối tượng là danh từ không có miền giá trị

 Thuộc tính là danh từ có miền xác định

 Phương thức là động từ mô tả hành động của đối tượng

4 Các tính chất của lập trình hướng đối tượng là gì Giải thích từng tính chất:

Có 4 tính chất:

 Đóng gói: Tạo ra các gói để chứa các class có tính chất giống nhau

 Kế thừa: Class con kế thừa thuộc tính và phương thức của class cha

Trang 6

 Đa hình: 1 class có nhiều phương thức cùng tên nhưng khác số lượng tham số hoặc kiểu tham số hoặc class con có thể có phương thức giống với phương thức ở class cha Thể hiện bằng overload và overide

 vd đa hình: 1 đối tượng có thể được khởi tạo bằng nhiều thể hiện khác

 Tugiac tg=new TuGiac();

 TuGiac tg2=new Hinhvuong();

 TuGiac tg3=new HinhChuNhat();

 Trừu tượng: Trừu tượng hóa đối tượng, khi phân tích 1 bài toán có rất nhiều thông tin, ta sẽ sử dụng tính trừu tượng và chỉ quan tâm đến những thứ liên quan đến bài toán

 Tính trừu tượng giúp bạn tập trung vào những cốt lõi cần thiết của đối tượng thay

vì quan tâm đến cách nó thực hiện

 Tính trừu tượng được thể hiện qua abtract và interface

5 Overloading and overiding là gì

 Overloading (Nạp chồng) là việc 1 class có nhiều phương thức cùng tên nhưng khác tham số hoặc khác kiểu dữ liệu của tham số, nó thể hiện tính đa hình lúc biên dịch

 Overriding (Ghi đè) là việc cài đặt lại các phương thức đã có ở lớp cha, các

phương thức override ở lớp con phải giống hệt lớp cha, nó thể hiện tính đa hình lúc runtime

6 Abstract class là gì?

 Abstract class là 1 lớp trừu tượng, nó có thể chứa phương thức trừu tượng hoặc không trừu tượng

 Abtract class dùng để miêu tả đối tượng có chung thuộc tính và phương thức nhưng có 1 vài phương thức có cụ thể hóa khác nhau nên ta cần có abstract

method

 Có 2 loại method là abstract method và method thường:

 abstract method là method trống không có thực thi

 method thường là method có thực thi

 Lưu ý: Các lớp chỉ có thể kế thừa một Abstract class

Trang 7

 Hướng đến tính năng và những tính năng có thực thi được sử dụng làm hàm chung

cho các class extend nó

7 Interface là gì?

 Interface là 1 bộ hành vi chung của các đối tượng, Nó bao gồm các method trừu

tượng

 Không phải là class

 Chỉ chứa những method/properties trống không có thực thi

 Nó giống như một khuôn mẫu, một khung để để các lớp implement và follow

 Các lớp có thể kế thừa nhiều interface

 Là một contract, các class implement phải triển khai các method theo như

interface đã định nghĩa

8 So sánh abstract và interface.

Abstract class có phương thức abstract (không có thân

hàm) và phương thức non-abstract (có thân hàm),

constructor

Interface có phương thức abstract Nó có thêm các phương thức default và static

Abstract class không hỗ trợ đa kế thừa.( Dùng từ khóa

extend và chỉ đc extend 1 class.)

Interface có hỗ trợ đa kế thừa (Dùng từ khóa implement để thực thi, có thể implememnt nhiều interface.)

Abstract class có các biến final, non-final, static and

non-static Interface chỉ có các biến static và final.

Access modifier có thể là private, default, protected,

public Access modifier Chỉ có thể là public.

Abstract class có thể cung cấp nội dung cài đặt cho

phương thức của interface

Interface không thể cung cấp nội dung cài đặt cho phương thức của abstract class

Sử dụng từ khóa abstract để khai báo Sử dụng từ khóa implement

9 Kiểu dữ liệu là gì ?

 Kiểu dữ liệu là một sự quy định về cấu trúc và miền giá trị dữ liệu và tập hợp các

phép toán tác động lên miền giá trị đó

Trang 8

 Có 2 loại kiểu dữ liệu cơ bản: Kiểu dữ liệu nguyên thủy và kiểu dữ liệu có cấu trúc

 Kiểu dữ liệu cơ bản có 8 loại: boolean, byte, short, int, long, float, double, char

10 Class, variable, method, contructor là gì?

 Class là nhóm đối tượng có chung bản chất

 Variable,Thuộc tính của đối tượng

 Method là hành động của 1 đối tượng,

 Contructor là phương thức để khởi tạo 1 đối tượng

11 Có mấy loại ép kiểu và tính chất của từng loại.

Có 2 loại ép kiểu:

 Nới rộng(không mất dữ liệu)

 thu hẹp(mất dữ liệu)

12 Access modify là gì Có những loại nào và tính chất của từng loại.

 Các access modifiers xác định độ truy cập (Phạm vi) vào dữ liệu của của các trường, phương thức, class

 Có 4 accessmodifier: Xem bảng minh họa để hiểu rõ cách dùng Access modify

13 Có những loại toán tử cơ bản nào

 Toán tử số học: +, -,*,

/,%,++,  Toán tử quan hệ: ==, !=, >, <, >=, <=

 Toán tử logic: &&, || , !

 Toán tử gán: = , +=, -= , *= , /=, %=

Trang 9

14 Có những loại cấu trúc rẽ nhánh nào Và khi nào thì nên dùng loại nào?

 Có 2 loại là If/else và switch/case

 If else dùng khi có nhỏ hơn 4 nhánh, còn lại dùng switchcase

15 Có những loại vòng lặp nào Khi nào dùng loại nào?

 For, While, Do/while

 For dùng khi biết trước số lần lặp

 While dùng khi chưa biết số lần lặp

 Do/while dùng khi chưa biết số lần lặp và cần chạy ít nhất 1 lần

16 Break và continue dùng như thế nào?

 Break dùng để dừng vòng lặp

 Continue dùng để bỏ qua lần lặp hiện tại và sang lần lặp tiếp theo

17 Supper là gì, This là gì Dùng this và supper trong trường hợp nào, Khác nhau giữa this và supper?

 Super là toán tử đại diện cho class cha,

 This là toán tử đại diện cho class gần nhất chứa nó

18 Khái niệm và mục đích mảng 1 chiều.

 Quản lý tập hợp các phần tử có cùng bản chất hoặc cùng mộ hành vi

 Có kích thước cố định

 Quản lý đối tượng hoặc kiểu nguyên thủy

 Dùng để giải quyết các bài toán liên quan đến quản lý các đối tượng có chung bản chất hoặc có chung bộ hành vi mà số lượng các phần tử là cố đinh

19 Cách khai báo, khởi tạo, cách dùng mảng 1 chiều.

 Khai báo: <KieuDuLieu>[] <ten>; <KieuDuLieu> <ten>[];

 Khởi tạo: <ten> = new <KieuDuLieu>[<SoLuong>]; Int[] arrInt = new int[3]; arrInt[0] = 1;

20 Khi khai báo 1 mảng 10 phần tử mà k có đủ 10 ô liền nhau thì sẽ ntn?

Trang 10

 Nếu không tìm đc vùng nhớ thích hợp nó sẽ reallowcate bộ nhớ để tìm vùng nhớ phù hợp

Câu 3 : trình bày các pha cơ bản của lập trình hướng đối tượng

 Bước 1: Xác định các yêu cầu người sử dụng cho hệ thống hướng đối tượng

 Bước 2: Chọn các lớp và đối tượng sử dụng hướng dẫn của mô hình yêu cầu

 Bước 3: Xác định các thuộc tính và phương thức của mỗi lớp

 Bước 4: Định nghĩa cấu trúc và phân cấp tổ chức các lớp

 Bước 5: Xây dựng mô hình quan hệ đối tượng

 Bước 6: Xây dựng mô hình hành vi đối tượng

 Bước 7: Xem xét lại mô hình phân tích hướng đối tượng với các yêu cầu và các chuẩn

Chương 2

Câu 1 : Trình bày các phần tử mô hình của mô hình UML, các quan hệ trong UML, các loại biểu đồ trong UML và các luật ràng buộc , Với mỗi khái niệm hãy cho ví

dụ minh họa trong thực tế?

1.1 các phần tử của mô hình UML

 Các phần tử của mô hình UML

I Phần tử cấu trúc: Tương ứng với các danh từ,là phần tử tĩnh của mô hình,tái hiện các thực thể hay các khái niệm vật lý,có 7 loại phần tử cấu trúc trong UML

1 Lớp (class): Lớp là sự mô tả một tập các đối tượng có cùng thuộc tính, thao tác, quan hệ và ngữ nghĩa.Lớp được biểu diễn bởi một hình chữ nhật cùng với các đặc tả tên lớp,các thuộc tính và thao tác

VD : ví dụ về class khi khởi tạo 1 đối tượng là 1 con chó

Trang 11

Tên class

Thuộc tính

Hành vi

Khai báo class

public class Dog {

String breed;

String size;

int age;

String color;

public String getInfo() {

return ("Breed is: "+breed+" Size is:"+size+" Age is:"+age+" color is: "+color); }

}

2 Giao diện (interface): Giao diện là một tập các thao tác, đặc tả dịch vụ của một lớp hay thành phần( mô tả các hành vi có thể quan sát bên ngoài của một thực

thể).Giao diện được biểu diễn bởi một hình tròn cùng tên của nó

VD :

interface printable {

void print();

}

class A6 implements printable {

public void print() {

System.out.println("Hello");

}

Trang 12

public static void main(String args[]){

A6 obj = new A6();

obj.print();

}

}

3 Cộng tác: Cộng tác xác định sự tương tác giữa các đối tượng.Cộng tác được biểu diễn bằng hình elip với đường nét đứt, kèm tên cộng tác

VD:

4 Ca sử dụng (use case): Ca sử dụng mô tả chuỗi các hành động mà hệ thống thực hiện để tạo ra một kết quả có thể quan sát được cho một tác nhân cụ thể.Ca sử dụng được biểu diễn bằng hình elip nét liền

5 Lớp tích cực (active class): Lớp tích cực là lớp mà các đối tượng của nó quản lý một hay nhiều tiến trình hay luồng xử lý (các đối tượng biểu diễn các phần tử có hành

vi tương tranh.Lớp tích cực biểu diễn bằng hình chữ nhật có các đường viền được tô đậm

6 Thành phần (component): Thành phần biểu diễn một phần vật lý có thể thay thế của hệ thống Nó cài đặt cho một tập các giao diện

7 Nút (node): Nút biểu diễn các thành phần vật lý của hệ thống

VD : 1 node database server

Trang 13

II Phần tử hành vi: Là các phần tử mô hình UML mang khía cạnh Nó biểu diễn các hoạt động của mô hình, các hành vi động theo thời gian và không gian

1 Phần tử hành vi tương tác: Tương tác biểu diễn hành vi bằng các mô tả quá trình trao đổi thông điệp giữa các đối tượng trong một ngữ cảnh cụ thể, để hoàn thành một mục đích nào đó

2 Phần tử hành vi máy trạng thái: Tương tác máy trạng thái là loại hành vi đặc tả chuỗi các trạng thái của một đối tượng hay một tương tác diễn ra trong vòng đời của chúng để đáp lại các sự kiện

III Phần tử nhóm: Là phần tử đóng vai trò tổ chức trong mô hình UML

IV Phần tử chú thích: Là bộ phận chú giải trong mô hình UML

1.2 các quan hệ trong UML

có 4 loại quan hệ trong UML

- quan hệ phụ thuộc

Ví dụ :

 Association: thường được dùng để mô tả mối quan hệ giữa Actor và Use Case và giữa các Use Case với nhau

Ví dụ quan hệ association:

Trang 14

- quan hệ kết hợp

 Ví dụ : Include là quan hệ giữa các Use Case với nhau, nó mô tả việc một Use Case lớn được chia ra thành các Use Case nhỏ để dễ cài đặt (module hóa) hoặc thể hiện sự dùng lại

Ví dụ quan hệ include:

- quan hệ khái quát hóa Extent: Extend dùng để mô tả quan hệ giữa 2 Use Case Quan hệ Extend được sử dụng khi có một Use Case được tạo ra để bổ sung chức năng cho một Use Case có sẵn và được sử dụng trong một điều kiện nhất định nào đó

Ví dụ quan hệ extent:

Trang 15

- quan hệ hiện thực hóa

 Generalization: được sử dụng để thể hiện quan hệ thừa kế giữa các Actor hoặc giữa các Use Case với nhau

Ví dụ quan hệ Generalization:

1.3 : Các loại biểu đồ trong UML

Có 9 loại biểu đồ trong UML

1.Ca sử dụng

2.Lớp

3.Trạng thái

4.Hoạt động

5.Cài đặt

6.Đối tượng

7.Tuần tự

8.Tương tác

9.Thành phần

Trang 16

1.5 : Các luật ràng buộc

I Các luật và ràng buộc trong UML: một số luật về cách thức xây dựng mô hình

 Mô hình hợp lệ là mô hình nhất quán về mặt ngữ nghĩa với bản thân nó cũng như với các mô hình liên quan đến nó

 Luạt ngữ nghĩa

1 Quy cách về tên gọi

2 Quy cách về phạm vi

3 Quy cách về khả năng truy cập

4 Quy cách về tính toàn vẹn

5 Quy cách về sự thực thi

Chương 3

Câu 1 : phân biệt mô hình ca sử dụng và biểu đồ ca sử dụng

 Mô hình ca sử dụng được định nghĩa bởi:

1 Các biểu đồ ca sử dụng

2 Phần mô tả bằng lời các kịch bản sử dụng thường dùng:

o Biểu đồ tuần tự: được sử dụng để xác định và chỉ rõ vai trò của các đối tượng tham gia vào luồng sự kiện của use case.Biểu đồ tuần tự cũng nêu bật sự tương tác sẽ xảy ra tại một thời điểm nào đó trong quá trình thực thi của hệ thống

o Biểu đồ tương tác: Mô hình hóa phương diện động của hệ thống, mô tả tương tác giữa các đối tượng.Thường được dùng để mô tả kịch bản của use case

 Biểu đồ ca sử dụng được định nghĩa:

1 Các tác nhân:Một tác nhân là một người hoặc một vật nào đó tương tác với hệ thống, sử dụng hệ thống Tác nhân giữ vai trò người dùng hệ thống, phần cứng hoặc các

hệ thống khác bên ngoài

2 Các ca sử dụng: là đơn vị công việc riêng lẻ Nó cung cấp một cái nhìn cấp cao của người ngoài hệ thống về một hành vi có thể nhận thấy được của hệ thống

3 Quan hệ giữa các tác nhân và các ca sử dụng:quan hệ kế hợp(Association), quan

hệ gộp(Includes),quan hệ mở rộng(Extends), quan hệ tổng quát hóa(Generalization)

Bài tập 2: Vẽ biểu đồ use cases cho các hệ thống phần mềm

Ngày đăng: 12/09/2022, 10:31

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

w