Chủ Nhật, 15 tháng 10, 2017

[Chuẩn kỹ năng CNTT]Chương 4: Công nghệ mạng

Chương 4: Công nghệ mạng

4.1.1 Kiến trúc mạng
Để  người gửi và người nhận có thể giao tiếp được với nhau thì cần phải đặt ra những nguyên tắc và quy định chung. Những quy định này bao gồm các quy ước truyền thông và điều khiển việc truyền dẫn gọi là các giao thức.

Kiến trúc mạng là hình thức tổ chức có hệ thống của các cấu trúc logic và các giao thức truyền thông được xem như chuẩn trong một hệ thống mạng.
Chú ý: Câu hỏi về OSI luôn có, thường hỏi về chức năng của các tầng.
Mô hình tham chiếu cơ bản OSI
Bao gồm 7 tầng

Tầng 7 Tầng ứng dụng Quyết định định dạng kiểu dữ liệu và nội dung giữa những người sử dụng.
Tầng 6 Tầng trình diễn Quyết định các bộ đặc tính, định dạng dữ liệu và định dạng biểu thức dữ liệu cho việc mã hóa và giải nén.
Tầng 5 Tầng phiên Quyết định các phương thức điều khiển như việc kết nối hay ngắt các đường truyền giữa những người sử dụng, bao gồm việc bắt đầu và kết thúc liên lạc.
Tầng 4 Tầng giao vận Qui định việc phát hiện lỗi và sửa lỗi trên đường truyền. Tạo được một hàm truyền thông có độ tin cậy cao và kinh tế.
Tầng 3 Tầng mạng Lựa chọn các nút trung gian và các tuyến trên mạng kết nối để cung cấp dịch vụ mạng giữa các thiết bị đầu cuối
Tầng 2 Tầng liên kết dữ liệu Qui định việc phát hiện lỗi truyền, cách đồng bộ hóa và điều khiển việc gửi lại dữ liệu để dữ liệu có thể truyền một cách chính xác.
Tầng 1 Tầng vật lý Qui định các hình dạng/kiểu của các đầu cắm cuối sao cho các thiết bị đầu cuối có thể kết nối được với đường dây truyên thông, cũng như các điều kiện về điện và các đặc tính vật lý để truyền các bit.


Mô hình TCP/IP

Telnet, FTP
SMTP
POP
Tầng ứng dụng
TCP
Tầng giao vận
IP
Tầng mạng
LAN
Enthernet,...
Tầng giao tiếp mạng



Địa chỉ IP

Một địa chỉ IP có 32 bit địa chỉ mạng được sử dụng trên Internet.
Địa chỉ IP chia làm 2 phần,  phần nửa bên trái để biểu diễn mạng, phần nửa bên phải để biểu diễn địa chỉ host. 
Lớp  A có bit đầu bằng 0. Lớp B là 10. Lớp C 110. Lớp D là 1110.


4.1.2 Điều khiển truyền dẫn

Điều khiển truyền dẫn đề cập đến việc điều khiển việc truyềndữ liệu giữa các thiết bị kết nối qua một đường truyền.  

Cụ thể: Điều khiển, đồng bộ hóa, kiểm soát lỗi và kiểm soát liên kết dữ liệu.
Các bước thực hiện:
Kết nối đường truyền --> Thiết lập kênh truyền -->Truyền tin --> Hủy bỏ kênh truyền --> Ngắt đường truyền.


Các đặc trưng bao gồm các thủ tục cơ bản (BSC) và các thủ tục HDLC.


Thủ tục cơ bản
Là thủ tục điều khiển sử dụng 10 kí tự điều khiển truyền dẫn. Về cơ bản nó truyền những kí tự và thông tin được gọi là thông điệp.

Thông điệp bao gồm các chuỗi bit đặc biệt là kí tự điều khiển dẫn trước, giữa hoặc ở sau. 

SYN _  là kí tự điều khiển dài 8 bit để đồng bộ hóa với đích truyên dữ liệu (SYN Synchronous idle ) 
STX _ Start of Text (mở đầu text)
ETX_ End of Text( Kết thúc text)

Các phương phương pháp  điều khiển truyền dẫn:

Tranh chấp:
2 máy tính kết nối điểm-tới-điểm. 1 máy muốn truyền dử liệu, máy đó gửi yêu cầu được truyền. Khi nhận được phản hồi tích cực từ bên kia thì máy đó được trao quyền truyền dữ liệu và dữ liệu bắt đầu truyền.
Thăm dò:
Dùng cho hệ thống đa điểm cuối. Client-server
Server - thăm dò xem các client theo thứ tự có yêu cầu truyền dữ liệu không. Nếu có thì server trao quyền truyền dữ liệu và dữ liệu gửi tới server.
Server- hỏi các máy đầu cuối xem có sẵn sàng nhận dữ liệu hay không nếu có thì dữ liệu được gửi.



Giao thức HDLC

HDLC(High-Level Data Link Control: Điều khiển liên kết dữ liệu mức cao: là truyền dữ liệu ở mức tin cậy và hiệu quả cao).


F
01111110
A
8 bit
C
8 bit
I
Bất kỳ
FCS
16 bit
F
01111110



F Chuỗi cờ: một chuỗi bit báo hiệu bắt đầu và kết thúc của một khung
A Trường địa chỉ: Địa chỉ của đích
C Trường điều khiển: Chứa nhiều thông tin điều khiển
I Trường thông tin: dữ liệu cần truyền
FSC Chuỗi kiểm tra khung: kiểm tra bit bằng phương pháp CRC sử dụng nội dung từ A đến I

HDLC có những đặc tính sau:
  • Định hướng bit (Có thể truyền một phần bit tùy ý)
  • Truyền liên tục (Có thể truyền mà không cần nhận phản hồi trong giới hạn số lượng các khung nhất định).
  • Kiểm tra lỗi chính xác (Sử dụng CRC)
  • Truyền thông song công có thể thực hiện ngay cả trong hệ thống đa điểm cuối.



4.2 Công nghệ truyền


4.2.1 Kiểm soát lỗi

 Kiểm soát lỗi có vai trò cải thiện chất lượng của quá trình truyền dữ liệu thông qua việc phát hiện các lỗi trong quá trình truyền dữ liệu và trong một số trường hợp có thể sửa lỗi.

Có 2 phương pháp:
Phương pháp kiểm tra chẵn lẻ:
 Là phương thức phát hiện lỗi bằng cách kiểm tra tổng số bit  1 là chẵn hay lẻ bằng cách thêm 1 dãy bit dọc và ngang. Các giá trị trong dãy dọc thể hiện tổng các bit 1 trong hàng đó là chẵn hay lẻ.
Tương tự cột ngang thể hiện tổng các bit 1 trong cột đó là chẵn hay lẻ.
Từ đó phát hiện ra lỗi nếu không khớp giá trị bit chẵn lẻ.
Phương pháp CRC:  























[Chuẩn kỹ năng CNTT] Chương 3: Phát triển hệ thống


Chương 3: Phát triển hệ thống

3.1 Các phương pháp phát triển hệ thống
3.1.1 Các ngôn ngữ lập trình
- Phân loại:
  • Thủ tục(Procedural): Các thủ tục được biểu diễn bởi các thuật toán cụ thể và được thực thi bởi máy tính . C , COBOL, Fortran, Pascal.
  • Chức năng (Funtional): các bước tiến trình được biểu diễn bằng cách kết hợp của các chức năng cơ bản. Lisp
  • Logic (Logic): Các mối quan hệ được định nghĩa bởi các hàm logic cơ bản: Prolog
  • Hướng đối tượng (Object-Oriented): Thao tác được kiểm soát bởi các đối tượng. (Java, C++,Smalltalk,..)
3.1.2 Cấu trúc chương trình và chương trình con
Chú ý: Có nhiều câu hỏi liên quan đến đệ qui và đồng sử dụng.
- Cấu trúc chương trình bao gồm các loại: đồng sử dụng, tái sử dụng và đệ qui.
- Các chương trình con có thể mở hoặc đóng.
Đệ qui: Cấu trúc gọi lại chính nó
Tái sử dụng: Sử dụng lặp đi lặp lại mà không cần nạp lại
Đồng sử dụng: Nhiều tác vụ có thể sử dụng chương trình ở cùng một thời điểm.


Chương trình con mở: là chương trình con được nhúng vào bất kì nơi nào chương trình cần với số lần tùy thích.
Chương trình con đóng: Được tạo ra độc lập với chương trình cần tới nó. Một chương trình cần chương trình con này, nó thực hiện một lời gọi chương trình con để chuyển điều khiển tới chương trình con.

3.1.3 Các bộ xử lí ngôn ngữ

Các bộ xử lí ngôn ngữ
  • Assembler: Trình dịch hợp ngữ, dịch chương trình hợp ngữ thành ngôn ngữ máy
  • Compiler: Trình biên dịch dịch ngôn ngữ biên dịch (ngôn ngữ tạo ra các chương trình đích từ các chương trình nguồn) thành ngôn ngữ máy.
  • Generator: Trình sinh mã, tạo các chương trình bằng cách cho các tham số.
  • Interpreter: Trình thông dịch: thực thi khi dịch các câu lệnh.
Các thủ tục của trình biên dịch:
  • Phân tích từ vựng
  • Phân tích cú pháp
  • Phân tích ngữ nghĩa
  • Sinh mã
  • Tối ưu hóa
Tạo mo-đun nạp: Các mô đun nạp là các chương trình có thể thực thi. các chương trình đích (Được dihcj bởi một bộ xử lí ngôn ngữ) không thể thực thi được. Qua một chương trình biên tập liên kết, những gì cần cho việc thực thi sẽ được bổ sung vào chương trình đích.
3.1.4 Các môi trường phát triển và các gói
Công cụ CASE (Computer Aided Software Engineering): Phần mềm hỗ trợ thiết kế trên máy tính là một nhóm các phần mềm hỗ trợ việc phát triển hệ thống và tự động hóa các công việc bảo trì.
Chú ý: Các câu hỏi về công cụ hỗ trợ kiểm thử có trong các kì thi. Nhớ chính xác kết xuất snaphot và lần vết.
Các công cụ hỗ trợ kiểm thử
  • Kết xuất bộ nhớ: Đưa ra nội dung của bộ nhớ ngay sau khi chương trình bị ngắt thất thường.
  • Kết xuất snaphot: Đưa ra nội dung của bộ nhớ trong khi chương trình đang thực thi.
  • Lần vết: Đưa ra các lệnh đã thực thi và nội dung của các thanh ghi ở từng thời điểm.
  • Tạo dữ liệu kiểm thử: Tự động tạo nhiều loại dữ liệu để kiểm thử.
  • Công cụ khác: Các công cụ điều khiển, công cụ chuyển đổi phương tiện, giám định.
Các gói phần mềm:
là phần mềm thông dụng mà nhừng người dùng sử dụng một cách phổ biến.
ERP (Enterprise Resource Planning - Lập kế hoạch tài nguyên doanh nghiệp): là khái niệm về việc lập kế hoạch cho sự tối ưu hóa trong quản lí tài nguyên nhờ việc hiểu thông tin kinh doanh của toàn công ty. ERP là gói phần mềm tích hợp tất cả các tác vụ chung trong 1 CSDL.
Ngoài ra còn có CRM (Customer Relationship Management - Quản lí quan hệ khách hàng). SFA( Sales Force Automation- Tự động hóa lực lượng bán hàng)
CTI (Computer Telephony Integration_ tích hợp điện thoại máy tính).

3.1.5 Các phương pháp phát triển
Mô hình qui trình là mô hình trừu tượng hóa tiến trình phát triển hệ thống.
Các loại qui trình:
  • Mô hình thác đổ(Hình ảnh).
  • Mô hình bản mẫu (Hình ảnh).
  • Mô hình xoắn ốc (Hình ảnh).
3.1.6 Biểu đồ luồng dữ liệu
Chú ý: Các câu hỏi liên quan đến DFD thường xuất hiện trong các đề. thi Câu hỏi về ý nghĩa của các biểu tương.

DFD (Data Flow Diagram - Biểu đồ luồng dữ liệu
Thực thể ngoài


Tiến trình


Luồng dữ liệu


Kho dữ liệu

Biểu đồ ER (Entity - Relationship Diagram) là biểu đồ mô tả mối quan hệ giữa các thực thể.

Hướng đối tượng: là mô hình hóa dữ liệu và các tiến trình cùng nhau. Các thuộc tính được chia sẻ dữ liệu sẽ được trích xuất.

3.1.7 Quản lý chất lượng phần mềm
Chú ý: Ý nghĩa của thuật ngữ duyệt lại và sự khác giữa duyệt qua và giám định thường được hỏi trong bài thi.

Quản lí chất lượng phần mềm là đề cập đến quá trình đánh gái và quản lí chất lượng phần mềm nhằm thỏa mãn các yêu cầu của người dùng. Các phương pháp cho việc quản lí này bao gồm duyệt lại, dự báo độ tin cậy…

Các phương pháp duyệt lại:
Duyệt lại là việc họp thảo luận tiến hành ở cuối mỗi tiến trình để tránh mang những vấn đề đang tồn tại vào tiến trình tiếp theo trong quá trình phát triển hệ thống.

Sự khác biệt giữa duyệt qua và giám định:
  • Duyệt lại thiết kế: Áp dụng cho mỗi tiến trình thiết kế (thiết kế ngoài, thiết kế trong, thiết kế chương trình) của phát triển hệ thống. Được dùng cho việc đánh giá các văn bản thiết kế và xác nhận các giao diện,…
  • Duyệt qua: Dùng cho tất cả các tiến trình của phát triển hệ thống. Trong các pha đầu tiên, không chỉ đội phát triển mà cả người dùng cũng tham gia vào đó.
  • Giám định: Dùng cho tất cả các tiến trình của phát triển hệ thống. Nó được thực hiện một cách có hệ thống dưới sự hướng dẫn của người điều tiết.
Chú ý: Thường có những câu hỏi chọn đường cong tăng trưởng đúng.
Đường cong tăng trưởng:
Giai đoạn đầu tăng từ từ, Đến một thời điểm tăng đột biến ở một thời điểm cụ thể. Cuối cùng nó đạt đến trạng thái bão hòa.


3.2 Các nhiệm vụ của qui trình phát triển hệ thống
Phân tích mô hình thác đổ
3.2.1 Thiết kế ngoài
Thiết kế ngoài bao gồm thiết kế màn hình, thiết kế biểu mẫu, thiết kế mã.
Thủ tục của thiết kế ngoài: là các hoạt động thu thập và phân tích các yêu của hệ thống được đưa ra bởi người dùng và thiết lập các chức năng hệ thống dựa trên những kết quả trước đó.

Thiết kế màn hình cần phù hợp với người dùng nên cần quan tâm tới việc đơn giản hóa đầu vào và có một màn hình dễ thao tác cụ thể:
  • Quan tâm đến nguồn dữ liệu, lượng dữ liệu, số phần tử và các con số, thuộc tính,…
  • Đặt các phần tử đầu vào sao cho chúng được đặt từ trên xuống dưới, từ trái qua phải.
  • Cố gắng chuẩn hóa bố cục và thao tác màn hình.
  • Giữ được tính nhất quan trong việc biểu diễn thông điệp.
  • Quan tâm đến khả năng bỏ dở thao tác giữa chừng hoặc khởi động lại từ màn hình trước.
Thiết kế mã:
3.2.2 Thiết kế trong

3.2.3 Các phương pháp thiết kế phần mềm

3.2.4  Tiêu chuẩn phân rã mo-dun

3.2.5 Lập trình

3.2.6 Các kiểu và thủ tục kiểm thử

3.2.7 Các kỹ thuật kiểm thử

Chú ý: Các câu hỏi trong phần này luôn có về việc chuẩn bị dữ liệu kiểm thử cho tiêu chí phân chia tương đương và phân tích giá trị biên. 

Kiểm thử hộp đen:
Kiểm thử hộp đen là phương pháp mà nhờ đó các trường hợp kiểm thử được thiết kế dựa trên các đặc tả bên ngoài của chương trình. Không quan tâm đến logic của chương trình, dữ liệu kiểm thử được chuẩn bị chỉ dựa trên các đặc tả bên ngoài.

Có 2 tiêu chí kiểm thử :
  • Phân chia tương đương: Khoảng của các giá trị đầu vào được phân chia thành nhiều lớp, một giá trị kiểm thửu sẽ được chọn ra từ mỗi lớp coi như 1 giá trị đại diện
  • Phân chia giá trị biên: Khoảng của các giá trị đầu vào được phân chia thành nhiều lớp, và các giá trị biên của mỗi lớp được chọn ra và trở thành giá trị kiểm thử.
  • Ví du: 
Kiểm thử hộp trắng:
Kiểm thử hộp trắng là phương pháp mà nhờ đó các trường hợp kiểm thử được thiết kế dựa trên các đặc tả bên trong của chương trình. 
Có 5 tiêu chí kiểm thử hộp trắng như sau:
  • Bao phủ lệnh: Các trường hợp kiểm thử được thiết kế sao cho mỗi câu lệnh được thực hiện ít nhất một lần.
  • Bao phủ điều kiện quyết định(Bao phủ nhánh): Các trưao trường hợp iểm thử được thiết kế sao cho các trường hợp đúng sai và trong quyết định đều được thực hiện ít nhất một lần.
  • Bao phủ điều kiện (Bao phủ điều kiện nhánh): Các trường hợp kiểm thử được thiết kế sao cho khi có điều kiện, mọi tổ hợp cho các trường hợp đúng sai được thỏa mãn.
  • Bao phủ quyết định/điều kiện: Là kết hợp của bao phủ nhánh và bao phủ điều kiện
  • Bao phủ đa điều kiện: Các trường hợp kiểm thử được thiết kế sao cho mọi tổ hợp của các trường hợp đúng sai trong mọi điều kiện được kiểm thử.
  • Ví du:  http://www.cse.hcmut.edu.vn/~hiep/KiemthuPhanmem/LyThuyetViet/Chuong03.pdf (Các ví dụ về phủ cấp 1 - phủ cấp 4).

Câu hỏi nhanh

Các chức năng  các kiểu công việc được thực hiện trong thiết kế ngoài:
  • Kiểm chứng và phân tích yêu cầu
  • Xác định và phát triển các hệ thống con
  • Thiết kế màn hình, thiết kế bản mẫu
  • Thiết kế mã
  • Thiết kế dữ liệu logic
  • Chuẩn bị các đặc tả thiết kế ngoài
Các chức năng và các kiểu công việc được thực hiện thiết kế trong:
  • Phân rã , cấu trúc hóa chức năng
  • Thiết kế tệp
  • Thiết kế chi tiết vào/ra
  • Chuẩn bị đặc tả thiết kế trong