Tải bản đầy đủ (.pdf) (46 trang)

BÀI TẬP LỚN MÔN HỌC NHẬP MÔN CÔNG NGHỆ PHẦN MỀM ĐỀ TÀI TÌM HIỂU PHẦN MỀM NHÚNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.59 MB, 46 trang )


BỘ CÔNG THƯƠNG
TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA CNTT






BÀI TẬP LỚN
MÔN HỌC: NHẬP MÔN CÔNG NGHỆ PHẦN MỀM
ĐỀ TÀI : TÌM HIỂU PHẦN MỀM NHÚNG
Giáo viên hướng dẫn : Th.s Hoàng Quang Huy
Nhóm thực hiên:
1.Nguyễn Văn Hậu
2.Nguyễn Bách Phong



Hà Nội 1- 2013
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 2



LỜI NÓI ĐẦU
Trong thế giới hiện đại ngày nay, khi mà Công nghệ thông tin quan trọng hơn bao
giờ hết, sự phát minh các máy móc ngày càng phức tạp để phục vụ sản xuất và đời sống,
vấn đề áp dụng phần mềm nhúng vào máy móc để điều khiển theo ý muốn con người
càngđược đặt lên hàng đầu. Con người ngày càng nâng cao yêu cầu về tính năng của máy


móc lẫn phần mềm chạy trên nó để phục vụ cho những mục đích, yêu cầu khác nhau. Do
đó cần thiết phải có một quy trình phát triển hệ nhúng nói chung và phần mềm nhúng nói
riêng trở nên cần thiết để tạo ra những phần mềm nhanh hơn, tiết kiệm hơn và ít hỏng hóc
hơn Tài liệu là Bài Tập Lớn của nhóm Sinh Viên lớp KHMT2-K5, trường Đại Học
Công Nghiệp Hà Nội với đề tài Trình bày về Quy trình phát triển phần mềm nhúng , sẽ
đưa đến kiến thức sơ lược về hệ nhúng, phần mềm nhúng,ứng dụng, cơ sở lý thuyết cũng
như quy trình phát triển của nó nó. Mặc dù đã hết sức cố gắng nhưng vẫn không tránh
khỏi một số thiếu sót, hy vọng được người đọc góp ý chân thành.
Nhóm Sinh Viên xin được gửi lời cảm ơn chân thành tới Giảng Viên – Thạc sỹ
Hoàng Quang Huy đã tận lòng giúp đỡ, hướng dẫn trong quá trình học tập môn học.
Hà Nội, ngày 4 tháng 1 năm 2013
Nhóm Sinh Viên.
Nguyễn Văn Hậu
Nguyễn Bách Phong
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 3


MỤC LỤC
LỜI NÓI ĐẦU 1
MỤC LỤC 3
MỤC LỤC BẢNG, HÌNH VẼ. 5
CHƯƠNG 1 : MỞ ĐẦU 6
1.1 Đặt vấn đề 6
1.2. Phạm vi nghiên cứu. 6
1.3 Cấu trúc Bài tập lớn 7
CHƯƠNG 2 : PHẦN MỀM NHÚNG VÀ HỆ THỐNG NHÚNG 8
2.1. Hệ thống nhúng 8
2.2 Phần Mềm Nhúng 9
2.3.1. Khái niệm 9

2.3.2. Đặc điểm 11
2.3.3. So sánh phần mềm nhúng với phần mềm thông thường. 11
2.3 Lĩnh vực ứng dụng của Hệ Nhúng 12
2.4 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng 13
2.4.1 Đặc điểm công nghệ 13
2.4.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng, phần mềm nhúng. 14
CHƯƠNG 3: QUY TRÌNH PHÁT TRIỂN PHẦN MỀM NHÚNG 17
3.1 Ngôn ngữ phát triển phần mềm nhúng. 17
3.2 Quy trình phát triển. 19
3.2.1. Các bước phát triển phần mềm nhúng 20
3.2.2. Một số mô hình phát triển. 20
3.2.2.1 Mô hình thác nước 20
3.2.3 Chi tiết phát triển phần mềm nhúng 22
3.2.3.1 Phân tích 22
3.2.3.2. Thiết kế 24
3.2.3.3 Mã hóa và kiểm thử. 25
3.2.3.4. Kiểm thử, gỡ lỗi. 26
CHƯƠNG 4: TRIỂN KHAI VÀ CÀI ĐẶT PHẦN MỀM NHÚNG 27
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 4

4.1 Ví dụ Thiết kế mạch quang báo giao tiếp bàn phím máy tính. 27
4.1.1. Cơ sở lý thuyết. 27
4.1.1.1 Giới thiệu vi điều khiển ATmega16L 27
4.1.1.2 Led ma trận 34
4.1.1.3 Bàn phím PS/2 36
4.1.2 Sơ đồ khối. 38
4.1.2.1 Sơ đồ khối 38
4.1.2.2 Chức năng các khối 38
4.1.3 Thiết kế 39

4.1.3.1 Thiết kế các khối 39
4.1.3.2 Sơ đồ nguyên lý 39
4.1.3.3 Linh kiện sử dụng trong mạch 42
4.1.4 Cài đặt 43
4.1.4.1 Sơ đồ mạch in 43
4.1.4.2 Hàn và lắp linh kiện 44
4.1.4.3 Kết quả thi công 45
4.2. Kết luận từ Ví dụ thực tế. 45
TÀI LIỆU THAM KHẢO 46
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 5


MỤC LỤC BẢNG.
Bảng 3.1: Ba bước trong quy trình phát triển một phần mềm nhúng 20
Bảng 4.2 Thanh ghi UCSRA 31
Bảng 4.3 Thanh ghi UCSRB 31
Bảng 4.5 Độ dài dữ liệu truyền 33

MỤC LỤC HÌNH VẼ
Hình 2.1 Minh họa một số thiết bị có phần mềm nhúng 9
Hình 2.2Phần mềm nhúng chạy trên mạch đèn LED 11
Hình 2.3 IC của một vi mạch điện tử. 11
Hình 3.1 Lưu đồ quá trình phát triển hệ thống nhúng 19
Hình 3.2 Sơ đồ khối mô hình thác nước. 21
Hình 3.3 Sơ đồ phân tích yêu cầu phần mềm nhúng. 23
Hình 3.4 Sơ đồ quan hệ (call graph) phân mềm trong hệ thống điều khiển động cơ 25
Hình 4.1 Sơ đồ chân của ATmega16L 28
Hình 4.2 Bộ nhớ chương trình 29
Hình 4.3 Bộ nhớ dữ liệu 29

Hình 4.4 Thanh ghi UCSRC 32
Hình 4.5 Thanh ghi UBRRH và UBRRL 33
Hình 4.6 Led ma trận 8x8 34
Hình 4.7 Sáng chữ A 35
Hình 4.8 Cổng PS/2 36
Hình 4.9 Mã scancode của bàn phím 37
Hình 4.10 Giản đồ thời gian truyền 1 byte từ bàn phím đến thiết bị chủ 38
Hình 4.11 Sơ đồ khối 38
Hình 4.12 Mạch nguyên lý mạch vi điều khiển 40
Hình 4.13 Mạch nguyên lý mạch led ma trận 41
Hình 4.14 Mạch in mạch vi điều khiển 43
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 6

Hình 4.15 Mạch in mạch led ma trận 44
Hình 4.16 Mạch thực tế 45

CHƯƠNG 1 : MỞ ĐẦU
1.1 Đặt vấn đề
Hệ thống nhúng rất đa dạng và phong phú, tuy nhiên có rất ít người biết được tầm
quan trọng và sự hiện hữu của chúng trong thế giới quanh ta. Từ những hệ thống phức
tạp như hàng không vũ trụ, phòng thủ quân sự, máy móc tự động trong công nghiệp, đến
những phương tiện di chuyển thông thường như máy bay, xe điện, xe hơi, các trang thiết
bị y tế trong bệnh viện, cho tới những thiết bị truyền hình và điện thoại di động chúng ta
sử dụng hằng ngày, đâu đâu cũng có sự hiện diện của hệ thống nhúng.
Cùng với sự đa dạng của các hệ thống nhúng, lĩnh vực lập trình phần mềm nhúng
cũng như phần cứng góp phần tạo ra hệ thống nhúng hiện nay rất phát triển. Nó càng
ngày càng thể hiện những đóng góp to lớn vào đời sống kinh tế xã hội của cả nhân loại.
Mỗi người khi bắt đầu bước vào lĩnh vực này, cần tìm hiểu rõ thông tin về nó, về quy
trình phát triển của phần mềm nhúng cũng như việc triển khai và bảo trì, hay tình hình

thực tế hiện nay về nhu cầu cũng như các bước phát triển như thế nào.
Tuy nhiên hiện nay, hệ thống nhúng ở Việt Nam phát triển khá khiêm tốn so với thế
giới. Có rất ít các tài liệu, các bài báo nói về phần mềm nhúng bằng Tiếng Việt cũng như
không có nhiều các công cụ hỗ trợ. Việc nghiên cứu và tìm hiểu các phương pháp, các kĩ
thuật phát triển cho phần mềm nhúng là một vấn đề cần thiết hiện nay, nó sẽ góp phần
thúc đẩy sự phát triển của lĩnh vực hệ thống nhúng, một lĩnh vực giàu tiềm năng nhưng
mới chỉ bước đầu phát triển tại Việt Nam.
1.2. Phạm vi nghiên cứu.
Trong phạm vi nghiên cứu của Bài tập lớn này, chúng tôi nghiên cứu và trình bày
tổng quan về hệ thống nhúng trong đó bao gồm cả phần mềm nhúng cũng như tổng quan
về các thiết bị phần cứng được nhúng phần mềm.
Tôi tập trung nghiên cứu vào khái niệm phần mềm nhúng, ứng dụng của nó vào các
mặt của kinh tế, đời sống xã hội. Cũng như quy trình phát triển phần mềm nhúng, ngôn
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 7

ngữ để lập trình phần mềm nhúng. Và sau cùng tôi đi sâu vào giới thiệu việc triển khai và
bảo trì phần mềm nhúng để đảm bảo tính ổn định của nó
1.3 Cấu trúc Bài tập lớn
Phần còn lại của Bài tập lớn có cấu trúc như sau :
Chương 2 : Phần mềm nhúng và Hệ thống nhúng. Giới thiệu về phần mềm nhúng và
hệ thống nhúng.
Chương 3 : Trình bày về quy trình, các bước để phát triển một phần mềm nhúng
thông thường.
Chương 4 : Giới thiệu phương pháp triển khai và quy trình bảo trì phần mềm nhúng
trong thực tế.
Chương 5 : Kết luận từ những vấn đề nghiên cứu.
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 8



CHƯƠNG 2 : PHẦN MỀM NHÚNG VÀ HỆ THỐNG NHÚNG
Kỷ nguyên công nghệ mới đã và đang tiếp tục phát triển không ngừng nhằm
thông minh hoá hiện đại hoá thông suốt các hệ thống. Có thể nói đánh dấu sự ra đời
và phát triển của hệ nhúng trước tiên phải kể đến sự ra đời của các bộ vi xử lý, vi
điều khiển. Nó được đánh dấu bởi sự ra đời của Chip vi xử lý đầu tiên 4004 vào năm
1971 cho mục đích tính toán thương mại bởi một công ty Nhật bản Busicom và sau
đó đã được chắp cánh và phát triển vượt bậc bởi Intel để trở thành các bộ siêu xử lý
như các Chip được ứng dụng cho PC như ngày nay. Thập kỷ 80 có thể được coi là khởi
điểm bắt đầu kỷ nguyên của sự bùng nổ về phát triển các hệ nhúng. Từ đó khởi nguồn
cho làn sóng ra đời của hàng loạt các chủng loại vi xử lý và gắn liền là các hệ nhúng để
thâm nhập rộng khắp trong các ứng dụng hàng ngày của cuộc sống chúng ta ví dụ như,
các thiết bị điện tử sử dụng cho sinh hoạt hàng ngày (lò vi sóng, TV, tủ lạnh, máy
giặt, điều hoà ) và văn phòng làm việc (máy fax, máy in, máy điện thoại ) Các bộ
vi xử lý và phần mềm cũng ngày càng được sử dụng rộng rãi trong rất nhiều các hệ
thống nhỏ. Các loại vi xử lý được sử dụng trong các hệ thống nhúng hiện nay đã vượt
xa so với PC về số lượng chủng loại (chiếm đến 79% số các vi xử lý đang tồn tại) và
vẫn còn tiếp tục phát triển để nhằm đáp ứng và thoả mãn rất nhiều ứng dụng đa dạng.
Trong số đó vẫn còn ứng dụng cả các Chip vi xử lý 8 bit, 16 bit và hiện nay chủ
yếu vẫn là 32 bit (chiếm khoảng 75%). Gắn liền với sự phát triển phần cứng, phần
mềm nhúng cũng đã phát triển với tốc độ nhanh không thua kém thậm chí sẽ tăng
nhanh hơn rất nhiều theo sự phát triển hệ nhúng.
2.1. Hệ thống nhúng
Trong thế giới thực của chúng ta bất kỳ một thiết bị hay hệ thống điện/điện tử có
khả năng xử lý thông tin và điều khiển đều có thể tiềm ẩn trong đó một thiết bị hay
hệ nhúng, ví dụ như các thiết bị truyền thông, thiết bị đo lường điều khiển, các thiết
bị phục vụ sinh hoạt hàng ngày như lò vi sóng, máy giặt, camera…Rất dễ dàng để có
thể kể ra hàng loạt các thiết bị hay hệ thống như vậy đang tồn tại quanh ta, chúng là
hệ nhúng. Vậy hệ nhúng thực chất là gì và nên hiểu thế nào về hệ nhúng? Hiện nay
cũng chưa có một định nghĩa nào thực sự thoả đáng để được chuẩn hoá và thừa nhận

Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 9

rộng rãi cho hệ nhúng mà vẫn chỉ là những khái niệm diễn tả về chúng thông qua
những đặc thù chung. Tuy nhiên ở đây chúng ta có thể hiểu hệ nhúng là một phần
hệ thống xử lý thông tin nhúng trong các hệ thống lớn, phức hợp và độc lập ví dụ
như trong ôtô, các thiết bị đo lường, điều khiển, truyền thông và thiết bị thông minh nói
chung. Chúng là những tổ hợp của phần cứng và phần mềm để thực hiện một hoặc
một nhóm chức năng chuyên biệt, cụ thể (Trái ngược với máy tính PC mà chúng
ta thường thấy được sử dụng không phải cho một chức năng mà là rất nhiều chức năng
hay phục vụ chung cho nhiều mục đích). PC thực chất lại là một hệ thống lớn, tổ hợp
của nhiều hệ thống nhúng ví dụ như card màn hình, âm thanh, modem, ổ cứng, bàn
phím…Chính điều này làm chúng ta dễ lúng túng nếu được hỏi nên hiểu thế nào về
PC, có phải là hệ nhúng hay không.


Hình 2.1 Minh họa một số thiết bị có phần mềm nhúng
2.2 Phần Mềm Nhúng
2.3.1. Khái niệm
Phần mềm nhúng là gì ? Phần mềm nhúng là một chƣơng trình đƣợc viết,
biên dịch trên máy tính và nạp vào một hệ thống khác (gọi tắt là KIT) bao gồm một
hoặc nhiều bộ vi xử lý đã đƣợc cài sẵn một hệ điều hành, bộ nhớ ghi chép đƣợc,
các cổng giao tiếp với các phần cứng khác… Mục đích của phần mềm nhúng là
nhằm hỗ trợ cho các sản phẩm phần cứng các chức năng hoàn hảo nhất, phục vụ tốt
nhất các nhu cầu của
ngƣời
dùng với sự bảo mật về sản phẩm tốt nhất. Phần mềm
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 10


nhúng có các tính chất sau:
- Phụ thuộc vào hệ điều hành cài sẵn trên KIT
- Phụ thuộc vào các tính năng đặt
trƣng
của từng sản phẩm phần cứng có trong
KIT
- Phụ thuộc vào đặc tính của hệ thống
Phần mềm nhúng là sự tích hợp của ngành tin học (phần mềm) với ngành
điện tử (phần cứng). Với các các thiết bị điện tử, phần mềm nhúng mang lại nhiều
sự hữu ích cần thiết cho ngƣời sử dụng và đồng thời giảm chi phí giá thành về phần
cứng cho thiết bị. Thế giới ngày này nhắm tới sự tích hợp của ngành tin học với các
ngành ứng dụng khác. Sự tích hợp này được thực hiện qua các thiết bị thông minh và
phần mềm nhúng là bộ não của các thiết bị đó. Trong thời gian không xa, chúng ta sẽ
bƣớc
tới kỷ nguyên của "Hậu-PC" (thời đại của hậu máy tính cá nhân) và khi đó thì
phần mềm nhúng sẽ là phần đa số của ngành công nghiệp phần mềm. Một số ví dụ
phần mềm nhúng: Sản phẩm phần mềm nhúng rất đa dạng, phong phú, thuộc nhiều
chủng loại. Có thể lấy các sản phẩm sau làm ví dụ: máy ảnh kỹ thuật số, lò vi ba, máy
photocopy, máy in laser, máy FAX, các bảng quảng cáo sử dụng hệ thống đèn LED,
màn hình tinh thể lỏng, máy giặt , máy điều hoà nhiệt độ…
• Đó là phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công
nghiệp, tự động hoá điều khiển, quan trắc và truyền tin. Đặc điểm của các hệ
thống nhúng là hoạt động ổn định và có tính năng tự động hoá cao.
• Có khả năng tự trị, chạy trong các thiết bị mà không cần tới hệ điều hành.
• Đó có thể là những thiết bị cầm tay nhỏ gọn như đồng hồ kĩ thuật số và máy
chơi nhạc MP3, hoặc những sản phẩm lớn như đèn giao thông, bộ kiểm soát
trong nhà máy hoặc hệ thống kiểm soát các máy năng lượng hạt nhân.

Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 11



Hình 2.2Phần mềm nhúng chạy trên mạch đèn LED
2.3.2. Đặc điểm
• Phần mềm được tích hợp vào trong các IC của thiết bị điện tử.
• Ưu điểm nhỏ gọn, dễ cài đặt và sản xuất hàng loạt.
• Mục đích: Nhằm hỗ trợ cho các sản phẩm phần cứng các chức năng hoàn hảo
nhất, phục vụ tốt nhất các nhu cầu của người dùng với sự bảo mật về sản phẩm
tốt nhất.

Hình 2.3 IC của một vi mạch điện tử.


2.3.3. So sánh phần mềm nhúng với phần mềm thông thường.
Tiêu chí
Phần mềm thường
Phần mềm nhúng
- Nền tảng hoạt động
- Chủ yếu trên PC với các
hệ điều hành như
Windows, Linux, Mac…
- Chạy được trên nhiều
thiết bị điện tử, được cài
đặt hệ điều hành nhúng
như Android, Win CE,
QNX, DOS ….
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 12

- Lập trình.

- Gắn liền với framenwork
của môi trường hoạt động
, thường chỉ cần 1 hay 2
ngôn ngữ lập trình cho
một phần mềm.
- Không cần quá quan tâm
đến cấu trúc phần cứng
của thiết bị.
- Phải hiểu biết về cấu
trúc phần cứng mà phần
mềm được nhúng vào.
Các vi xử lý như Intel,
Texas, ARM….
- Các hệ điêu hành nhúng
khác nhau : Symbian,
Android, QNX…
- Thiết bị ngoại vi.
- Thường phần mềm trên
PC sẽ giúp giao tiếp với
các thiết bị ngoại vi.
- Người lập trình phải
quan tâm tới việc xử lý
các thiết bị ngoại vi liên
quan tới phần mềm. Phải
biết được các kiến thức
như vi xử lý, xử lý tín
hiệu số ….
Bảng 2.1 So sánh phần mềm nhúng với phần mềm thông thường.
2.3 Lĩnh vực ứng dụng của Hệ Nhúng
Chúng ta có thể kể ra được rất nhiều các ứng dụng của hệ thống nhúng đang được sử

dụng hiện nay, và xu thể sẽ còn tiếp tục tăng nhanh. Một số các lĩnh vực và sản phẩm
thị trường rộng lớn của các hệ nhúng có thể được nhóm như sau:
• Các thiết bị điều khiển
• Ôtô, tàu điện
• Truyền thông
• Thiết bị y tế
• Hệ thống đo lường thẩm định
• Toà nhà thông minh
• Thiết bị trong các dây truyền sản xuất
• Rôbốt

Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 13

2.4 Đặc điểm công nghệ và xu thế phát triển của hệ nhúng
2.4.1 Đặc điểm công nghệ
Các hệ thống như vậy đều có chung một số đặc điểm như yêu cầu về khả năng
thời gian thực, độ tin cậy, tính độc lập và hiệu quả. Một câu hỏi đặt ra là tại sao hệ
thống nhúng lại phát triển và được phổ cập một cách nhanh chóng như hiện nay. Câu
trả lời thực ra nằm ở các yêu cầu tăng lên không ngừng trong các ứng dụng công
nghệ hiện nay. Một trong những yêu cầu cơ bản đó là:

Khả năng độc lập và thông minh hoá: Điều này được chỉ rõ hơn thông qua
một số các thuộc tính yêu cầu, cụ thể như:
-
Độ tin cậy
-
Khả năng bảo trì và nâng cấp
-
Sự phổ cập và tiện sử dụng

-
Độ an toàn
-
Tính bảo mật
Hiệu quả: Yêu cầu này được thể hiện thông qua một số các đặc điểm của hệ
thống như
sau:
-
Năng lượng tiêu thụ
-
Kích thước về phần cứng và phần mềm
-
Hiệu quả về thời gian thực hiện
-
Kích thước và khối lượng
-
Giá thành

Phân hoạch tác vụ và chức năng hoá: Các bộ vi xử lý trong các hệ nhúng
thường được sử dụng để đảm nhiệm và thực hiện một hoặc một nhóm chức năng rất
độc lập và cũng đặc thù cho từng phần chức năng của hệ thống lớn mà nó được nhúng
vào. Ví dụ như một vi xử lý thực hiện một phần điều khiển cho một chức năng thu
thập, xử lý và hiển thị của ôtô hay hệ thống điều khiển quá trính. Khả năng này làm
tăng thêm sự chuyên biệt hoá về chức năng của một hệ thống lớn và dễ dàng hơn cho
quá trính xây dựng, vận hành và bảo trì.
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 14

Khả năng thời gian thực: Các hệ thống đều gắn liền với việc đảm nhiệm một
chức năng chính và phải được thực hiện đúng theo một khung thời gian qui định.

Thông thường một chức năng của hệ thống phải được thực hiện và hoàn thành theo
một yêu cầu thời gian định trước để đảm bảo thông tin cập nhật kịp thời cho phần
xử lý của các chức năng khác và có thể ảnh hưởng trực tiếp tới sự hoạt động đúng và
chính xác của toàn hệ thống. Tuỳ thuộc vào từng bài toán và yêu cầu của hệ thống mà
yêu cầu về khả năng thời gian thực cũng rất khác nhau.
Tuy nhiên, trong thực tế không phải hệ nhúng nào cũng đều có thể thoả mãn
tất cả những yêu cầu nêu trên, vì chúng là kết quả của sự thoả hiệp của nhiều yêu cầu
và điều kiện nhằm ưu tiên cho chức năng cụ thể mà chúng được thiết kế. Chính điều
này lại càng làm tăng thêm tính chuyên biệt hoá của các hệ/thiết bị nhúng mà các
thiết bị đa năng không thể cạnh tranh được.
2.4.2 Xu thế phát triển và sự tăng trưởng của hệ nhúng, phần mềm nhúng.
Vì sự phát triển hệ nhúng là sự kết hợp nhuần nhuyễn giữa phần cứng và phần
mềm nên công nghệ gắn liền với nó cũng chính là công nghệ kết hợp giữa các giải
pháp cho phần cứng và mềm. Vì tính chuyên biệt của các thiết bị / hệ nhúng như đã
giới thiệu nên các nền phần cứng cũng được chế tạo để ưu tiên đáp ứng cho chức năng
hay nhiệm vụ cụ thể của yêu cầu thiết kế đặt ra.
Lớp hệ nhúng ưu tiên phát triển theo tiêu chí về kích thước nhỏ gọn, tiêu thụ
năng lượng ít, giá thành thấp. Các chíp xử lý nhúng cho lớp hệ thống ứng dụng đó
thường yêu cầu về khả năng tính toán ít hoặc vừa phải nên hầu hết được xây dựng trên
cở sở bộ đồng xử lý 8 bít ‐16 bit hoặc cùng lắm là 32 bit và không hỗ trợ dấu phảy
động do sự hạn chế về dung lượng và khả năng tính toán.
Lớp hệ nhúng ưu tiên thực thi khả năng xử lý tính toán với tốc độ thực hiện nhanh.
Các chíp xử lý nhúng cho các hệ thống đó cũng sẽ là các Chip áp dụng các công nghệ
cao cấp với kiến trúc xử lý song song để đáp ứng được cường độ tính toán lớn và tốc độ
mà các Chip xử lý đa chức năng thông thường không đạt tới được.
Lớp hệ thống ưu tiên cả hai tiêu chí phát triển của hai lớp trên, tức là kích thước
nhỏ gọn, mức tiêu thụ năng lượng thấp, tốc độ tính toán nhanh. Tuỳ theo sự thoả hiệp
giữa các yêu cầu và xu thế phát triển chính vì vậy cũng không có gì ngạc nhiên khi
chúng ta thấy sự tồn tại song song của rất nhiều các Chip vi xử lý nhúng, vi điều khiển
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5

Giảng viên – Thạc sỹ : Hoàng Quang Huy 15

nhúng 8 bit, 16 bit hay 32 bit cùng với các Chíp siêu xử lý khác vẫn đang được ứng
dụng rộng rãi cho hệ nhúng. Đó cũng là sự kết hợp đa dạng và sự ra đời của các hệ
nhúng nói chung nhằm thoả mãn các ứng dụng phát triển không ngừng.
Với mỗi một nền phần cứng nhúng thường có những đặc thù riêng và kèm theo
một giải pháp phát triển phần mềm tối ưu tương ứng. Không có một giải pháp nào
chung và chuẩn tắc cho tất cả các hệ nhúng. Chính vì vậy thông thường các nhà phát
triển và cung cấp phần cứng cũng lại chính là nhà cung cấp giải pháp phần mềm hoặc
công cụ phát triển phần mềm kèm theo. Rất phổ biến hiện nay các Chip vi xử lý hay
vi điều khiển đều có các hệ phát triển (Starter Kit hay Emulator) để hỗ trợ cho các nhà
ứng dụng và xây dựng hệ nhúng với hiểu biết hạn chế về phần cứng. Ngôn ngữ mã
hoã phần mềm cũng thường là C hoặc gần giống như C (Likely C) thay vì phải viết
hoàn toàn bằng hợp ngữ Assembly. Điều này cho phép các nhà thiết kế tối ưu và đơn
giản hoá rất nhiều cho bước phát triển và xây dựng hệ nhúng.
Trong xu thế phát triển không ngừng và nhằm thoả mãn được nhu cầu phát
triển nhanh và hiệu quả có rất nhiều các công nghệ cho phép thực thi các giải
pháp hệ nhúng. Đứng sau sự phổ cập rộng rãi của các Chip vi xử lý vi điều khiển
nhúng, DSP phải kể đến các công nghệ cũng đang rất được quan tâm hiện nay như
ASIC, CPLD, FPGA, PSOC và sự tổ hợp của chúng Kèm theo đó là các kỹ thuật
phát triển phần mềm cho phép đảm nhiệm được các bài toán yêu cầu khắt khe trên cơ
sở một nền phần cứng hữu hạn về khả năng xử lý và không gian bộ nhớ. Giải quyết
các bài toán thời gian thực như phân chia tác vụ và giải quyết cạnh tranh chia sẻ tài
nguyên chung. Hiện nay cũng đã có nhiều nhà phát triển công nghệ phần mềm lớn
đang hướng vào thị trường hệ nhúng bao gồm cả Microsoft. Ngoài một số các hệ
điều hành Windows quen thuộc dùng cho PC, Microsoft cũng đã tung ra các phiên
bản mini như WindowsCE, WindowsXP Embedded và các công cụ phát triển ứng
dụng kèm theo để phục vụ cho các thiết bị nhúng, điển hình như các thiết bị PDA,
một số thiết bị điều khiển công nghiệp như các máy tính nhúng, IPC của Siemens
Có thể nói hệ nhúng đã trở thành một giải pháp công nghệ và phát triển một

cách nhanh chóng, hứa hẹn nhiều thiết bị nhúng sẽ chiếm lĩnh được thị trường
rộng lớn trong tương lai nhằm đáp ứng nhu cầu ứng dụng không ngừng trong cuộc
sống của chúng ta. Đối với lĩnh vực công nghiệp về điều khiển và tự động hoá, hệ
nhúng cũng là một giải pháp đầy tiềm năng đã và đang được ứng dụng rộng rãi. Nó
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 16

rất phù hợp để thực thi các chức năng thông minh hoá, chuyên biệt trong các hệ thống
và thiết bị công nghiệp, từ các hệ thống tập trung đến các hệ thống phân tán. Giải pháp
hệ nhúng có thể thực thi từ cấp thấp nhất của hệ thống công nghiệp như cơ cấu chấp
hành cho đến các cấp cao hơn như giám sát điều khiển quá trình.

Hình 2.4 Biểu đồ Thị trường hệ thống nhúng năm 2003, 2004, 209(Đơn vị: Triệu
USD)

Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 17


CHƯƠNG 3: QUY TRÌNH PHÁT TRIỂN PHẦN MỀM
NHÚNG

3.1 Ngôn ngữ phát triển phần mềm nhúng.
Một trong những ngôn ngữ lập trình có lẽ phổ cập rộng rãi nhất hiện nay là ngôn
ngữ C. So với bất kỳ ngôn ngữ lập trình nào khác đang tồn tại C thực sự phù hợp và
trở thành một ngôn ngữ phát triển của hệ nhúng. Điều này không phải là cố hữu và sẽ
tồn tại mãi, nhưng tại thời điểm này thì C có lẽ là một ngôn ngữ gần gũi nhất để trở
thành một chuẩn ngôn ngữ trong thế giới hệ nhúng. Trong phần này chúng ta sẽ cùng
tìm hiểu tại sao C lại trở thành một ngôn ngữ phổ biến đến vậy và tại sao chúng ta lựa
chọn nó như một ngôn ngữ minh họa cho việc lập trình hệ nhúng.

Sự thành công về phát triển phần mềm thường là nhờ vào sự lựa chọn ngôn
ngữ phù hợp nhất cho một dự án đặt ra. Cần phải tìm một ngôn ngữ để có thể đáp ứng
được yêu cầu lập trình cho các bộ xử lý từ 8

bit đến 64

bit, trong các hệ thống chỉ
có hữu hạn về bộ nhớ vài Kbyte hoặc Mbyte. Cho tới nay, điều này chỉ có C là thực sự
có thể thỏa mãn và phù hợp nhất.
Rõ ràng C có một số ưu điểm nổi bật tiêu biểu như khá nhỏ và dễ dàng cho việc
học, các chương trình biên dịch thường khá sẵn cho hầu hết các bộ xử lý đang sử
dụng hiện nay, và có rất nhiều người đã biết và làm chủ được ngôn ngữ này rồi, hay
nói cách khác cũng đã được phổ cập từ lâu. Hơn nữa C có lợi thế là không phụ
thuộc vào bộ xử lý thực thi mã nguồn. Người lập trình chỉ phải tập trung chủ yếu
vào việc xây dựng thuật toán, ứng dụng và thể hiện bằng ngôn ngữ thân thiện thay vì
phải tìm hiểu sâu về kiến thức phần cứng, cũng như rất nhiều các ưu điểm nổi bật
khác của ngôn ngữ bậc cao nói chung.
Có lẽ một thế mạnh lớn nhất của C là một ngôn ngữ bậc cao mức thấp nhất.
Tức là với ngôn ngữ C chúng ta vẫn có thể điều khiển và truy nhập trực tiếp phần cứng
khá thuận tiện mà không hề phải hy sinh hay đánh đổi bất kỳ một thế mạnh nào của
ngôn ngữ bậc cao. Thực chất đây cũng là một trong những tiêu chí xây dựng của
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 18

những người sáng lập ra ngôn ngữ C muốn hướng tới. Thực tế điều này đã được đề
cập đến khi hai nhà sáng lập ra ngôn ngữ C, Kernighan và Ritchie đã đưa vào trong
phần giới thiệu của cuốn sách của họ “The C Programming Language” như sau:
“C is a relatively “low level” language. This characterization is not pejorative; it
simply means that C deals with the same sort of objects that most computers do.
These may be combined and moved about with the arithmetic and logical operators

implemented by real machines…”
Tất nhiên là C không phải là ngôn ngữ duy nhất cho các nhà lập trình nhúng.
Ít nhất hiện nay người ta cũng có thể biết tới ngoài ngôn ngữ C là Assembly, C++, và
Ada.
Trong những buổi đầu phát triển hệ nhúng thì ngôn ngữ Assembly chủ yếu
được sử dụng cho các vi xử lý đích. Với ngôn ngữ này cho phép người lập trình
điều khiển và kiểm soát hoàn toàn vi xử lý cũng như phần cứng hệ thống trong
việc thực thi chương trình. Tuy nhiên ngôn ngữ Assembly có nhiều nhược điểm mà
cũng chính là lý do tại sao hiện nay nó ít được phổ cập và sử dụng. Đó là, việc
học và sử dụng ngôn ngữ Assembly rất khó khăn và đặc biệt khó khăn trong việc
phát triển các chương trình ứng dụng lớn phức tạp. Hiên nay nó chỉ được sử dụng
chủ yếu như điểm nối giữa ngôn ngữ bậc cao và bậc thấp và được sử dụng khi có yêu
cầu đặc biệt về hiệu suất thực hiện và tối ưu về tốc độ mà không thể đạt được bằng
ngôn ngữ khác. Ngôn ngữ Assembly chỉ thực sự phù hợp cho những người có kinh
nghiệm và hiểu biết tốt về cấu trúc phần cứng đích cũng như nguyên lý thực hiện
của bộ lệnh và chíp xử lý.
C++ là một ngôn ngữ kế thừa từ C để nhằm vào các lớp ứng dụng và tư duy
lập trình hướng đối tượng và cũng bắt đầu chiếm được số lượng lớn quan tâm trong
việc ứng dụng cho phát triển hệ nhúng. Tất cả các đặc điểm cốt lõi của C vẫn được kế
thừa hoàn toàn trong ngôn ngữ C++ và ngoài ra còn hỗ trợ khả năng mới về trừu
tượng hóa dữ liệu và phù hợp với tư duy lập trình hiện đại; hướng đối tượng. Tuy
nhiên điều này bị đánh đổi bởi hiệu suất và thời gian thực thi do đó chỉ phù hợp với
các dự án phát triển chương trình lớn và không chịu sức ép lớn về thời gian thực
thi.
Ada cũng là một ngôn ngữ hướng đối tượng mặc dù nó không được phổ cập
rộng rãi như C++. Ada được xây dựng bởi cơ quan quốc phòng Mỹ để phục vụ phát
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 19

triển các phần mềm quân sự chuyên dụng đặc biệt. Mặc dù cũng đã được chuẩn hóa

quốc tế (Ada83 và Ada95) nhưng nó vẫn không được phổ cập rộng rãi ngoài việc ứng
dụng chủ yếu trong các lĩnh vực quân sự và hàng không vũ trụ. Và nó cũng dần dần bị
mất ưu thế và sự phổ cập trong thời gian gần đây, đây cũng là một điều đáng tiếc vì
bản thân Ada cũng là một ngôn ngữ có nhiều đặc điểm phù hợp cho việc phát triển
phần mềm hệ nhúng thay vì phải sử dụng C++.
3.2 Quy trình phát triển.
Phần mềm nhúng là một thành phần trong hệ thống nhúng, trước khi đi sâu vào quá trình
phát triển, sau đây là lưu đồ quá trình phát triển của hệ thống nhúng.








Hình 3.1 Lưu đồ quá trình phát triển hệ thống nhúng

Cũng như phần mềm chạy trên PC, phần mềm nhúng cũng có một quy trình phát triển
tương tự. Sau đây ta sẽ tìm hiểu về những bước phát triển phần mềm chung.
Hardware Selection
Software
Assembly for
Target System
Test Hardware
OK
YES
END
Developing using
Edit-Test-Debug Cycle

Test result OK
Burn codes using devices
programer
Development Phase
Reassemble on
Hardware Error
Redesign on Software
Error
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 20


3.2.1. Các bước phát triển phần mềm nhúng
Bảng 3.2: Ba bước trong quy trình phát triển một phần mềm nhúng
Bước phát triển
Hoạt động
Xác định và
phân tích yêu
cầu hệ thống
Xác định rõ nét các yêu cầu, thông số kĩ thuật là yêu cầu của phần
này. Các yêu cầu kĩ thuật được xác định dữ liệu, chức năng, nhiệm
vụ cần làm.
Dự kiến cách làm, vòng đời của phần mềm, hạn chế của thiết kế.
Dự kiến việc giao tiếp với ngươi dùng, yêu cầu với người dùng
cuối và thời gian hoàn thành phàn mềm
Xác định được khung thời gian phát triển phần mềm.
Phát triển phần
mềm
Thiết kế phần mềm, lập trình và test lỗi là nội dung chính của bước
này. Các giai đoạn chính trong bước phát triển phần mềm : Cấu

trúc dữ liệu, xây dựng chức năng, giao diện người dùng, các thuật
toán và ngôn ngữ lập trình, phương pháp test lỗi (việc kiểm tra, test
lỗi rất quan trọng đối với bất kì phần mềm nào).
Support
Phần mềm nhúng nói riêng ít cần sự hỗ trợ sau khi đã triển khai
phần mềm vào các hệ nhúng xác định. Hỗ trợ ở đây chủ yếu là sửa
chữa những lỗi phát hiện được và nâng cao một số chức năng có
thể.
3.2.2. Một số mô hình phát triển.
Một số mô mình phát triển phần mềm thường dùng như mô hình thác nước, mô
hình tuyến tính, mô hình phát triển nhanh, mô hình xoắn ốc. Sau đây sẽ giới thiệu về mô
hình thác nước – mô hình thường được các nhà phát triển sử dụng để phát triển phần
mềm nhúng do tính đơn giản của nó.
3.2.2.1 Mô hình thác nước

Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 21


Hình 3.2 Sơ đồ khối mô hình thác nước.
Mô hình thác nước hay còn gọi là mô hình vòng đời truyền thống do Royce đề
xuất năm 1970. Nó yêu cầu tiếp cận một cách hệ thống, tuần tự và chặt chẽ đối với việc
phát triển phần mềm.
Mô hình thác nước của tiến trình phần mềm.
Quy trình phát triển
Bao gồm việc thu thập yêu cầu ở mức hệ thống với một lượng nhỏ thiết kế và
phân tích ở mức đỉnh.
Phân tích (analysis)
Trước hết việc phân tích yêu cầu được tập trung vào việc thu thập và phân tích các
thông tin cần cho phần mềm, các chức năng phần mềm cần phải thực hiện, hiệu năng cần

có của mỗi chức năng, các giao diện cho người sử dụng, các ràng buộc mà phần mềm cần
tuân thủ khi nó được phát triển và hoạt động. Sau đó, lập tư liệu về yêu cầu cho hệ thống
và phần mềm để khách hàng duyệt lại.
Thiết kế (design)
Thiết kế là quá trình chuyển hóa các yêu cầu phần mềm thành các mô tả thiết kế.
Thiết kế chia làm 2 giai đoạn là: thiết kế logic và thiết kế vật lý. Thiết kế tập trung vào 4
bước chính sau: thiết kế kiến trúc, thiết kế dữ liệu, thiết kế các thủ tục và thiết kế các giao
diện.
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 22

Mã hóa (coding)
Mã hóa là dịch các đặc tả thiết kế thành các chương trình mã nguồn trong một
ngôn ngữ lập trình nào đó mà máy có thể thực hiện được.
Kiểm thử (testing)
Khi đã có chương trình mã nguồn ,việc kiểm thử bắt đầu.Tiến trình kiểm thử tập
trung vào phát hiện và sửa lỗi trong trương trình.
Bảo trì (maintenance)
Phần mềm cần phải hoàn thiện trước khi nó được giao cho khách hàng .Đó là việc
kiểm tra va sửa lỗi khi đưa chương trình vào sử dụng, việc thích ứng nó với thay đổi của
môi trường bên ngoài hoặc bổ sung chức năng hay nâng cao hiệu năng cần có khi khách
hàng yêu cầu. Việc bảo trì có thể áp dụng lại các bước của vòng đời phát triển cho hệ
chương trình hiện có khi có nhu cầu tiếp tục phát triển.
Ưu nhược điểm
Vòng đời cổ điển là mô hình có sớm nhất và được sử dụng rộng rãi nhất.Nó đưa ra
các phương pháp khoa học, các bước tổng quát áp dụng được cho nhiều mô hình.Nó tốt
hơn nhiều lần cách tiếp cận tự nhiên.Tuy nhiên,các dự án phần mềm thực tế hiếm khi
tuân theo trình tự tuần tự.Quá trình lặp lại thì dễ gặp bất trắc,mà lặp lại thì khó quản lý
được tiến độ và không đáp ứng được nhu cầu của khách hàng.Mặt khác, khách hàng phải
kiên nhẫn tới cuối dự án mới có chương trình làm việc được. Thời gian thực hiện dự án

theo mô hình này thường dài, các tài liệu đặc tả rất lớn. Nếu chương trình gặp lỗi khi kết
thúc mới phát hiện ra thì có thể sẽ là một thảm họa.
3.2.3 Chi tiết phát triển phần mềm nhúng
3.2.3.1 Phân tích

Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 23


Hình 3.3 Sơ đồ phân tích yêu cầu phần mềm nhúng.
Ví dụ: Xét bài toán thiết
kế hệ thống điều khiển
cho 1 cửa tự động
Giả sử qua quá trình khảo sát thực tế và yêu cầu của bên khác hàng ta phải xác định
được
các thông
số
tối thiểu sau:
a) Yêu cầu:
1)
Hệ thống
áp dụng cho 1 cửa hai
chiều
(vào/ra)
2) Cửa cao 2,5m
rộng
3m
3) Có
người
trong phạm vi 2m

trước
và sau cửa là cửa phải mở
4) Thời gian mở và đóng cửa 3s
5) Cửa đang đóng gặp vật cản phải mở ra ngay
6) Làm việc
điện
áp 220v/50Hz
7) Chi phí cho
bộ điều khiển
không quá 10 triệu VNĐ
8)
Hệ thống thống
có 2
chế độ
làm việc tự
động
và bằng tay
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 24

9) Sensor và công
nghệ
tuỳ chọn
b) Điều kiện ràng buộc
1) Sử dụng
động

động
lực có sẵn loại AC một pha 220V/50Hz 3kW.
2) Nơi đặt cửa có nhiều người qua lại, nên hệ thống sẽ phải làm việc với tần suất

cao.
3) Điều kiện môi
trường:
Trong nhà, nhiệt
độ
từ 18
0
C
đến
36
0
C
4)
Bộ điều khiển
bằng tay
đặt
cạnh cửa phía bên trong nhà
5)
Hệ thống điện
cấp mới từ đầu
6) Chịu
được
quá tải khi gặp
chướng
ngại vật trong khoảng thời gian dài.
7)
Trong các bài toán cụ thể, với các hệ thống mẹ cụ thể, mỗi hệ thống nhúng sẽ


các yêu cầu khác nhau. Tuy nhiên vẫn có những tiêu chuẩn và yêu cầu chung mà hầu

hết các
hệ thống
phải tính
đến
như:
- Tính
đến
chi phí bảo trì định
k

- Kích
thước

trọng
lượng
- Khả năng thực thi: Thời gian đáp ứng,
độ
chính xác,
độ
phân giải,
-
Nguồn
nuôi
- Tính mềm dẻo, khả năng nâng cấp, khả năng
tương
thích, khả năng phục
hồi sau khi mất nguồn,
- Thời gian thử
- Thời gian
để thương

mại sản phẩm
- Độ an toàn
- Khả năng
chống
lại sự phá hoại hay xâm nhập.
-
3.2.3.2. Thiết kế
Xây dựng các thiết kế chi tiết cho cả phần cứng phần mềm, các bản thiết kế này sẽ
được
chuyển sang pha thực thi
để
xây dựng hệ thống. Vì thế ở pha này
người
thiết
kế
phải
đưa
ra các bản thiết
kế
như:
1. Sơ
đồ khối,

đồ
thuật toán.
2. Cấu trúc dữu liệu, dữ liệu chia sẻ.
Quy trình phát triển phần mềm nhúng Nhóm 19 KHMT2 K5
Giảng viên – Thạc sỹ : Hoàng Quang Huy 25

3. Sơ đồ nguyên lý mạch, chi tiết về các đầu vào/ra, loại tín hiệu hay giao thức

giao tiếp.
4. Thông
số
linh kiện
được chọn
hoặc có
thể
thay thế.
5. Các tham
số
vào/ra cho
hệ
thống.
6. Lựa
chọn
thiết bị, công cụ phát triển
hệ thống,
các tài nguyên
sẽ
sử dụng.
7.
Xây dựng sơ
đồ
quan hệ giữa các module và các hàm trong hệ thống (call graph), sơ
đồ
này mô tả cách thức
tương
tác giữa phần cứng và phần
mềm
trong

hệ
thống.


Hình 3.4 Sơ đồ quan hệ (call graph) phân mềm trong hệ thống điều khiển động cơ
Để phát hiện và hạn chế tối đa các lỗi mà hệ thống sẽ gặp phải sau khi
được
xây
dựng, ta có thể mô hình hóa các thành phần hoặc toàn bộ hệ thống nếu có thể, nhằm
thử nghiệm hoạt động của hệ thống với các đầu vào và tình huống giả lập, đồng thời
thử
nghiệm
tính thân thiện của giao diện
người
dùng.
3.2.3.3 Mã hóa và kiểm thử.
Từ các bản thiết kế, bước này tiến hành xây dựng hoàn thiện hệ thống trên cả
phân mềm và phần cứng. Trong suốt quá trình xây dựng phải tuân thủ theo các bước
và sơ đồ công nghệ từ các bản thiết kế kỹ thuật. Đặc biệt là các tham số vào ra giữa
các hàm, điều này ảnh hưởng đến việc tích hợp các module giữa các nhóm làm việc
khác nhau hay sự kế thừa từ các module khác. Các linh kiện và thiết bị sử dụng phải
tuân thủ theo bản thiết kế, nhằm giúp hệ thống thỏa mãn đầy đủ các thông số rằng
buộc
đã
được đặt
ra ở pha phân tích.
Việc phát triển hệ thống có thể
được
phân tách thành nhiều nhóm, nhiều phần

×