1. Trang chủ
  2. » Cao đẳng - Đại học

Ôn tập công nghệ phần mềm chương 8

19 1 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 2,59 MB

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

Nội dung

Implementation Các chủ đề trong bài: - Ý nghĩa của implementation - Phong cách coding và những quy chuẩn - Code với những quy tắc chuẩn - Ý nghĩa của sự tích hợp integration - Quá trình

Trang 1

Implementation

Các chủ đề trong bài:

- Ý nghĩa của implementation

- Phong cách coding và những quy chuẩn

- Code với những quy tắc chuẩn

- Ý nghĩa của sự tích hợp (integration)

- Quá trình tích hợp

Implementation:

- Ở đây, implementation được đị nh nghĩa là bao gồm “Unit implementation” và

“Integration” Ta có thể hiểu là một Implementation lớn sẽ được làm từng bước nhỏ, từng giai đoạn nhỏ một sau đó tích hợp lại tạo thành một chương trình lớn và thống nhất

Sự phân chia nhỏ này sẽ góp phần khá lớn vào việc bảo trì và phát triển về sau

- Mục tiêu của Implementation là đáp ứng được nhu cầu của khách hàng thông qua các thiết kế đặc tả chi tiết

- Yêu cầu về coding: chuẩn xác và rõ ràng

Các bước dùng cho hiện thực từng chi tiết nhỏ:

Trang 2

Các bước chuẩn bị cho Implementation:

- Xác nhận lại tài liệu thiết kế chi tiết phải hiện thực: chỉ code từ phần thiết kế

- Chuẩn bị việc phân chia thời gian dành cho từng việc, cái này được phân loại bằng cách: Residual (không biết dị ch sao) tài liệu thiết kế chi tiết, xem lại tài liệu thiết kế chi tiết, coding, coding review, biên dị ch và sửa lỗi cú pháp, kiểm tra các thành phần nhỏ

- Chuẩn bị ghi lại những khuyết điểm, sai sót

- Hiểu những yêu cầu cơ bản

- Dự đoán kích thước và thời gian dựa trên những dữ liệu cũ của bạn

- Lên kế hoạch làm việc với từng 100 dòng code

RUP Implementation Model Constituents:

Hiện thực Code:

- Lên kế hoạch các cấu trúc và thiết kế residual cho code của bạn

Ghi chú lại điều kiện trước và sau

Ghi chú lại thời gian dành cho mỗi công việc

- Tự kiểm soát thiết kế và cấu trúc của mình: ghi chú lại công việc, mã nguồn …

- Type code của mình:

Trang 3

Chưa biên dị ch

Liệt kê các danh sách

Áp dụng các tiêu chuẩn cơ bản

Dùng các cách thức code dễ nhất để chỉ nh sửa

- Tự kiểm soát code: do not compile yet

Bảo đảm rằng code của bạn đáp ứng được yêu cầu công việc

Ghi chú thời gian, các chỗ hỏng tìm được, mã nguồn, …

Xem các checklist chi tiết yêu cầu về các cách xây dựng phương thức và class để kiểm soát

- Biên dị ch code:

Sửa lỗi cú pháp

Ghi chú thơi gian, các lỗi, mã nguồn, …

- Kiểm tra code:

Áp dụng unit test methods

Ghi chú

Tổng quát về cách luyện tập Programming:

- Luôn luôn tìm cách tái sử dụng trước

- Enforce intention: nếu code của bạn có mục đích sử dụng trong những cách đặc biệt, thì hãy viết nó làm sao đó để nó không thể sử dụng bằng những cách khác được

“Think Globally, Program Locally”

- Tạo cho tất cả các member local và invisible hết mức có thể

Tính đa dạng:

- Tránh những kiểu dữ liệu điều tra: if(x instanceof MyClass) hoặc dùng hàm ảo thay thế

- Sử dụng Singleton design pattern nếu chỉ có duy nhất một instance trong class

Điều khiển các ngoại lệ:

- Chỉ bắt những ngoại lệ mà bạn biết cách điều khiển chúng

- Những lời gọi ngoại lệ phải được điều khiển một cách hợp lý

- Đừng đưa ra những ngoại lệ để thay thế cho mục đích chính của việc testing

- Cân nhắc về vấn đề có nên đưa ra các điều khiển ngoại lệ không: tùy vào từng trường hơp mà ta sẽ cân nhắc vấn đề này sao cho hợp lý nhất

- Nói chung là về phần điều khiển ngoại lệ thì các ứng dụng khác nhau sẽ yêu cầu có phải xuất ra các ngoại lệ và dừng chương trình luôn không Ví dụ như game thì đây là một ứng dụng không yêu cầu khắt khe, nên khi có một số ngoại lệ vẫn có thể tiếp tục ứng dụng

Trang 4

được Còn như một số các chương trình như giao dị ch ngân hàng thì yêu cầu rất khắt khe

về vấn đề này do đó cần phải ngắt chương trình ngay nếu có ngoại lệ

Hiện thực điều khiển lỗi:

- Dõi theo và kiểm soát một quá trình phát triển

- Cân nhắc việc sử dụng class trong bao đóng với các giá trị parameter hợp lệ

Xây dựng riêng, dùng các nhà máy hàm để tạo các đối tượng

Bắt nhiều lỗi tại thời gian biên dị ch

- Hiện thực như yêu cầu và điều khiển các lỗi tại những nơi theo điều kiện

- Với những chương trình không bao giờ được phép bị sự cố thì phải tiên đoán được tất cả những lỗi có thể xảy ra trong quá trình hiện thực

- Cách khác, có thể dựa theo những chính sách chắc chắc để kiểm tra parameters

Những quy chuẩn đặt tên:

Cái này như kiểu mấy cái syntax trong ngôn ngữ lập trình thôi, đọc tiếng anh cũng ko quá khó khăn đâu:

Trang 5

Bản ghi phương thức: trong bản ghi này sẽ ghi chi tiết về các method

- Method này là gì

- Tại sao nó làm việc đó

- Những parameter nào phải được truyền vào

- Những ngoại lệ mà nó ném ra

- Lý do chọn tầm vực

- Các lỗi

- Các miêu tả trong việc kiểm tra

- Lị ch sử thay đổi

- Ví dụ về cách làm việc của method

- Điều kiện đầu và cuối

- Các tài liệu đặc biệt

Ví dụ:

Trang 6

Tài liệu về các thuộc tính:

- Ghi lại về các thuộc tính, được sử dụng để làm gì

Hằng số:

- Dùng từ khóa final để đị nh nghĩa những biến hằng Khi đã có từ khóa này đứng trước thì giá trị của nó sẽ không thay đổi

Ex:

• instead of

• protected static final MAX_CHARS_IN_NAME;

• consider using

• protected final static int getMaxCharsInName()

• { return 20;

• }

Khởi tạo thuộc tính:

- Thuộc tính luôn luôn phải được khởi tạo: private float _balance = 0;

Trang 7

- Thuộc tính có thể là đối tượng của một class khác: private Customer _customer;

- Cách truyền thống để xây dựng đối tượng: private Customer _customer = new

Customer(“Edward”, “Jones”)

- Vấn đề về bảo trì Khi những thuộc tính mới được thêm vào thì phải update lại toàn bộ

Kiểm soát code:

- C1: Tên của class có tương thích không

- C2: Nó có thể là trừu tượng không?

- C3: header của nó có miêu tả đầy đủ mục đích không

- C4: Header của nó có tham khảo yêu cầu hoặc phần tử thiết kế tương ứng hay không?

- C5: Trạng thái package thuộc về cái gì?

- C6: nó có thể là private ko?

- C7: nó có nên là final không?

- C8: tài liệu chuẩn có được áp dụng vào không?

Attributes:

Trang 8

Constructor:

Trang 9

Method Header:

Trang 10

Method Bodies:

Trang 11

Đo đạc chuẩn cho mã nguồn:

- Đếm số dòng: Line of code (LoC)

- Đo theo chuẩn IEEE:

- Cyclomatic Complexity

Trang 12

Sự tích hợp: (Integration)

- 1 ứng dụng thì phức tạp -> chúng ta cần xây dựng từng phần một -> kết hợp chúng lại

- Waterfall process: quá trình tích hợp gần ở giai đoạn cuối

Unified Process for Integration & test:

Trang 13

Tổng quát về quá trình phát triển:

Trang 14

Quá trình xây dựng:

Trang 15

Sự tích hợp trong quá trình phát triển Spiral:

Trang 16

Relating build and Iteration in the Unified process:

Trang 17

Build Sequence: Ideal vs Typical

Trang 18

Kế hoạch cho việc kết hợp lại và xây dựng:

- Hiểu kiến trúc phân giải: cố gắng làm kiến trúc trở nên đơn giản

- Xác đị nh phần kiến trúc lặp lại sẽ được hiện thực:

Xây dựng framework

Nếu được thì tiếp tục tích hợp

Xây dụng UI đủ để testing

Tài liệu yêu cầu cho mỗi việc lặp lại

- Phân giải mỗi sự lặp lại để build nếu cần thiết

- Lên kế hoạch testing, review và quản lý quá trình

- Sàng lọc thời gian biểu để phản ánh kết quả

Roadmap for Integration and System Test

Ngày đăng: 11/12/2021, 23:28

TỪ KHÓA LIÊN QUAN

w