Bao Cao KTPM

41
BÀI TẬP LỚN KỸ THUẬT PHẦN MỀM Đề tài: Phần mềm quản lý phòng lab Giảng viên hướng dẫn: TS. Vũ Song Tùng Nhóm sinh viên thực hiện: Hoàng Hòa Bình – MSSV: 20080197 Lưu Quang Trung – MSSV: 20082779 Vũ Quang Trọng – MSSV: 20082770 Trần Anh Tuấn – MSSV: 20082953 Vũ Mạnh Tưởng – MSSV: 2008

Transcript of Bao Cao KTPM

Page 1: Bao Cao KTPM

BÀI TẬP LỚN KỸ THUẬT PHẦN MỀM

Đề tài: Phần mềm quản lý phòng lab

Giảng viên hướng dẫn: TS. Vũ Song Tùng

Nhóm sinh viên thực hiện:

Hoàng Hòa Bình – MSSV: 20080197

Lưu Quang Trung – MSSV: 20082779

Vũ Quang Trọng – MSSV: 20082770

Trần Anh Tuấn – MSSV: 20082953

Vũ Mạnh Tưởng – MSSV: 2008

Hà Nội ngày 10 tháng 5 năm 2011

Page 2: Bao Cao KTPM

MỤC LỤC

A. THÔNG TIN VỀ THÀNH VIÊN NHÓM THỰC HIỆN...........................................5

B. NỘI DUNG ĐỀ TÀI......................................................................................................6

CHƯƠNG I: TỔNG QUAN VỀ ĐỀ TÀI..........................................................................6

1.1 Giới thiệu...............................................................................................................6

1.1.1 Giới thiệu về Viện Điện Tử Viễn Thông.............................................................6

1.1.2 Cơ sở vật chất và hoạt động nghiên cứu khoa học của Viện...............................6

1.1.3 Giới thiệu về ESRC Lab......................................................................................6

1.2 Báo cáo khả thi......................................................................................................7

1.2.1 Khả thi về kỹ thuật...........................................................................................7

1.2.2 Khả thi về kinh tế.............................................................................................7

1.2.3 Khả thi về vận hành.........................................................................................7

1.2.4 Khả thi về kế hoạch làm việc...........................................................................8

1.3 Phạm vi của Project..............................................................................................9

1.3.1 Chức năng............................................................................................................9

1.3.2 Dữ liệu..................................................................................................................9

1.3.3 Phần cứng.............................................................................................................9

1.3.4 Phần mềm.............................................................................................................8

1.3.5 Nhân lực.............................................................................................................10

CHƯƠNG 2. GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG.................................................10

2.1. Đánh giá Hệ Quản trị Cơ sở Dữ liệu....................................................................10

2.1.1 Microsoft Access...............................................................................................10

2.1.2 Oracle................................................................................................................11

2.1.3 FoxPro...............................................................................................................11

2.1.4 SQL Server........................................................................................................12

2 | P a g e

Page 3: Bao Cao KTPM

2.2. Đánh giá các công nghệ khác ..............................................................................15

2.2.1 C/C++................................................................................................................15

2.2.2 Visual Basic.......................................................................................................16

2.2.3 C#......................................................................................................................16

2.3. Kết luận & đánh giá.............................................................................................17

CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG........................................................................19

3.1 Phân tích yêu cầu hệ thống....................................................................................19

3.1.1 Sơ đồ chức năng (Function Diagram)......................................................19

3.1.2 Biểu đồ luồng dữ liệu (Data Flow Diagram)............................................19

CHƯƠNG 4: THIẾT KẾ HỆ THỐNG..........................................................................23

4.1 Thiết kế cơ sở dữ liệu..............................................................................................23

4.1.1 Liệt kê các trường dữ liệu..................................................................................23

4.1.2 Giả thiết phụ thuộc hàm.....................................................................................23

4.1.3 Chuẩn hóa..........................................................................................................24

a. Chuẩn hóa 1NF...................................................................................................24

b. Chuẩn hóa 2NF...................................................................................................24

c. Chuẩn hóa 3NF...................................................................................................25

4.1.3 Sơ đồ thực thể liên kết của toàn bộ CSDL.........................................................26

4.2 Thiết kế giao diện (Interface Designing)...............................................................28

C. KẾT LUẬN..................................................................................................................34

D. TÀI LIỆU THAM KHẢO...........................................................................................35

3 | P a g e

Page 4: Bao Cao KTPM

A. THÔNG TIN VỀ THÀNH VIÊN NHÓM THỰC HIỆN

Nhóm thực hiện đề tài gồm 5 thành viên:

Hoàng Hòa Bình – Điện tử 4, K53, MSSV: 20080197

Lưu Quang Trung – Điện tử 3, K53, MSSV: 20082779

Vũ Quang Trọng – Điện tử 4, K53, MSSV: 20082770

Trần Anh Tuấn – Điện tử 4, K53, MSSV: 20082953

Vũ Mạnh Tưởng – Điện tử 4, K53, MSSV: 2008

4 | P a g e

Page 5: Bao Cao KTPM

B. NỘI DUNG ĐỀ TÀI

CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

1.1. Giới thiệu1.1.1 Giới thiệu về Viện Điện Tử Viễn Thông

Nằm trong khoa Cơ khí – Điện – Vô tuyến điện ngay từ lúc mới thành lập trường Đại học Bách Khoa Hà Nội, Viện Điện Tử Viễn Thông đã có quá trình hình thành và phát triển hơn 50 năm. Viện là một trong những cơ sở hàng đầu trong cả nước về nghiên cứu khoa học và đào tạo kỹ sư, các nhà nghiên cứu trong lĩnh vực Điện tử viễn thông.

Cùng với quá trình đổi mới và phát triển của Trường ĐH Bách khoa Hà Nội, Viện Điện tử - Viễn thông đang tích cực triển khai các hoạt động đổi mới trên toàn bộ các lĩnh vực: Đào tạo, Nghiên cứu khoa học và xây dựng cơ sở vật chất. Chương trình đào tạo được đổi mới toàn diện theo hướng hiện đại và hội nhập. Đa dạng hóa các loại hình đào tạo. Mở rộng các chương trình đào tạo đặc biệt (Kỹ sư tài năng, chương trình tiên tiến), phát triển đào tạo sau đại học (Cao học, Nghiên cứu sinh). Kết hợp đào tạo lý thuyết và kỹ năng thực hành. Gắn chặt đào tạo và nghiên cứu khoa học. Hoạt động nghiên cứu khoa học, hợp tác trong và ngoài nước được phát triển mạnh mẽ. Trang thiết bị, cơ sở vật chất cho học tập, thực hành và nghiên cứu được tăng cường và ngày càng hoàn thiện.Cơ chế quản lý mới theo hướng tự chủ, tự chịu trách nhiệm đang được triển khai từng bước. Một môi trường học tập, làm việc và nghiên cứu khoa học thuận lợi, thân thiện đã được tạo lên, có sức hấp dẫn đối với sinh viên và cán bộ khoa học có trình độ cao.

1.1.2 Cơ sở vật chất và hoạt động nghiên cứu khoa học của Viện

Cơ sở vật chất nghiên cứu và đào tạo của Viện Điện tử – Viễn thông được tổ chức thành một hệ thống các phòng thí nghiệm, như ở sơ đồ dưới đây:

5 | P a g e

Page 6: Bao Cao KTPM

1.1.3 Giới thiệu về ESRC Laba. Hướng nghiên cứu của phòng

Phòng ESRC Lab (Embedded Systems and Reconfigurable Computing) là 1 trong những phòng thí nghiệm chuyên ngành của Viện Điện Tử Viễn Thông, đây là phòng thí nghiệm chuyên về hệ thống nhúng và tính toán khả cấu hình với những chủ đề trọng điểm là: Hệ nhúng, FPGA, Linux, ARM, MCU,…

b. Sơ đồ tổ chức và điều hành của phòng ESRC Lab

Cơ cấu thành viên của phòng:

11

913

ESRC membersK51K52K53Master

Sơ đồ tổ chức và điều hành:

6 | P a g e

Page 7: Bao Cao KTPM

1.2 Báo cáo khả thi

1.2.1 Khả thi về kỹ thuật

Phần mềm viết cho phòng lab ESRC được xây dựng trên Hệ quản trị cơ sở dữ liệu và các ngôn ngữ thiết kế giao diện, chúng là những công nghệ tốt và không khó tiếp thu:

Đã biết lập trình C# và hệ quản trị dữ liệu SQL.

Các công cụ trên có thể tìm thấy trên internet.

1.2.2 Khả thi về kinh tế

Đây là bài tập lớn bổ trợ cho việc tiếp thu môn học. Vì vậy nhóm không xét đến tính khả thi về kinh tế.

1.2.3 Khả thi về vận hành

Phòng lab có dàn máy tính, cấu hình khá cao:- Chip xử lý: Intel Core 2 Duo, 2.26 GHz ~ 2.3GHz- Ram: 2G- Ổ cứng: Samsung 160G.- Hệ điều hành: Window XP SP2, Windows 7 SP1.

Mặt khác, phần mềm nhóm định thực hiện giao diện thân thiện với người sử dụng, không đòi cấu hình cao như các phần mêm thực hiện các chức năng mô phỏng đồ họa, đó là lý do nhóm tin rằng các máy tính trên hoàn toàn có khả năng chạy được phần mềm sẽ thiết kế với đầy đủ tính năng

7 | P a g e

Page 8: Bao Cao KTPM

1.2.4 Khả thi về kế hoạch làm việc

Sau khi đánh giá sơ bộ về yêu cầu đặt ra từ việc quản lý phòng lab ESRC, nhóm đã đặt ra kế hoạch như sau:

Công việc Thời gian Bắt đầu Kết thúc

Nghiên cứu sơ bộ 1 tuần 25/1/2011 2/2/2011

Phân tích hệ thống 2 tuần 2/2/2011 16/2/2011

Thiết kế hệ thống 3 tuần 16/2/2011 9/3/2011

Phát triển hệ thống 4 tuần 9/3/2011 9/4/2011

Triển khai, đánh giá

1 tháng 9/4/2011 9/5/2011

1.3 Phạm vi của Project

1.3.1 Chức năng

Do thời gian có hạn, trong khuôn khổ project, chương trình phòng lab bao gồm:

Xử lý đầu vào: Thông tin thành viên, thông tin đề tài, thông tin nhóm.

Lập báo cáo: Cho biết tiến độ của đề tài do các nhóm và thành viên thực hiện.

Đây là chỉ là những chức năng chính mà nhóm lập trình, phù hợp với hoạt động của phòng lab. Báo cáo là một dữ liệu quan trọng để đánh giá khả năng nghiên cứu của phòng lab.

1.3.2 Phần cứng

Cấu hình máy tính không cần quá cao với ứng dụng trong khuân khổ project- Máy tính: Bộ vi xử lý Intel Dual Core hoặc cao hơn- Ram 1GB trở lên.- Ổ cứng 80GB trở lên- Các thiết bị ngoại vi kèm theo: Máy in, máy Fax. - Hệ thống máy tính được nối mạng nội bộ công ty với nhau. Cơ sở dữ

liệu được sao lưu trên máy chủ.

1.3.3 Phần mềm

Máy tính chạy hệ điều hành WinXP/Vista/Window 7.

8 | P a g e

Page 9: Bao Cao KTPM

Bộ gõ tiếng Việt: TCVN 5712:1993, nên dùng Unikey 3.5 hoặc Vietkey 2000 trở lên.

Phần mềm khác: Microsoft Office 2010 cho kết xuất báo cáo, viết thư.

1.3.4 Nhân lực

Đề tài được thực hiện bởi nhóm 5 sinh viên.

Hoàng Hòa Bình

Trần Anh Tuấn

Vũ Mạnh Tưởng

Vũ Quang Trọng

Lưu Quang Trung

Với thời gian dự kiến 14 tuần,cùng với sự hợp tác và trách nhiệm của mỗi thành viên, nhóm sẽ hoàn thành đề tài hiệu quả và đúng yêu cầu đưa ra.

9 | P a g e

Page 10: Bao Cao KTPM

CHƯƠNG 2: GIỚI THIỆU CÔNG NGHỆ SỬ DỤNG

2.1. Đánh giá Hệ Quản trị Cơ sở Dữ liệu (Database Management System Assessment)

HQTCSDL là phần mềm hay hệ thống được thiết kế để quản trị một cơ sở dữ liệu. Cụ thể, các chương trình thuộc loại này hỗ trợ khả năng lưu trữ, sửa chữa, xóa và tìm kiếm thông tin trong một cơ sở dữ liệu (CSDL). Có rất nhiều loại hệ quản trị CSDL khác nhau: từ phần mềm nhỏ chạy trên máy tính cá nhân cho đến những hệ quản trị phức tạp chạy trên một hoặc nhiều siêu máy tính

Hiện nay có rất nhiều HQTCSDL, tùy từng yêu cầu cụ thể ta sẽ sử dụng các công cụ khác nhau. Một số Hệ QTCSDL thông dụng hiện nay:

- MS Access- Oracle (của hãng Oracle)- FoxPro- SQL Server (của hãng Microsoft)

2.1.1 Microsoft Access

Microsoft Access là một Hệ Quản Trị Cơ Sở Dữ Liệu (QTCSDL) tương tác người sử dụng chạy trong môi trường Windows. Microsoft Access cho chúng ta một công cụ hiệu lực và đầy sức mạnh trong công tác tổ chức, tìm kiếm và biểu diễn thông tin.

Microsoft Access cho ta các khả năng thao tác dữ liệu, khả năng liên kết và công cụ truy vấn mạnh mẽ giúp quá trình tìm kiếm thông tin nhanh. Người sử dụng có thể chỉ dùng một truy vấn để làm việc với các dạng cơ sở dữ liệu khác nhau. Ngoài ra, có thể thay đổi truy vấn bất kỳ lúc nào và xem nhiều cách hiển thị dữ liệu khác nhau chỉ cần động tác nhấp chuột.

Microsoft Access và khả năng kết xuất dữ liệu cho phép người sử dụng thiết kế những biểu mẫu và báo cáo phức tạp đáp ứng đầy đủ các yêu cầu quản lý, có thể vận động dữ liệu và kết hợp các biểu mẫu va báo cáo trong một tài liệu và trình bày kết quả theo dạng thức chuyên nghiệp.

Microsoft Access là một công cụ đầy năng lực để nâng cao hiệu suất công việc. Bằng cách dùng các Wizard của MS Access và các lệnh có sẵn (macro) ta có thể dễ dàng tự động hóa công việc mà không cần lập trình. Đối với những nhu cầu quản lý cao, Access đưa ra ngôn ngữ lập trình Access Basic (Visual Basic For application) một ngôn ngữ lập trình mạnh trên CSDL.

Microsoft Access được tích hợp sẵn trong bộ Microsoft Office nên có ưu thế hơn các phần mềm khác về giá cả.

10 | P a g e

Page 11: Bao Cao KTPM

Nhược điểm chính: phần mềm thích hợp khi cài đặt và sử dụng trong mạng nội bộ (LAN), không thích hợp nếu như công ty phải sử dụng ở nhiều địa điểm cách xa nhau. Ngoài ra Access không thể quản lí cơ sở dữ liệu quá lớn và có đông người sử dụng cùng truy cập một lúc.

2.1.2 Oracle

Oracle bao gồm một tập hợp hoàn thiện các sản phẩm xây dựng ứng dụng và người dùng cuối được trang bị các giải pháp kỹ thuật thông tin hoàn hảo. Các ứng dụng Oracle tương thích với hầu hết các hệ điều hành từ các máy tính cá nhân đến các hệ thống xử lý song song lớn.

Oracle cung cấp một hệ quản trị cơ sở dữ liệu (Database Management System - DBMS) uyển chuyển: Oracle Server để lưu giữ và quản lý các thông tin dùng trong các ứng dụng. Phiên bản Oracle 7 quản lý cơ sở dữ liệu với tất cả các ưu điểm của cấu trúc CSDL quan hệ cộng thêm khả năng lưu giữ và thực thi các đối tượng CSDL như các procedure và các trigger.

Oracle Server là một hệ quản trị CSDL điều khiển:

- Lưu giữ dữ liệu trên các vùng dữ liệu đã thiết kế

- Truy xuất dữ liệu cho các ứng dụng, dùng các kỹ thuật tương đối tối ưu

- Bảo mật dữ liệu, cấp quyền khác nhau cho các user

- Liên kết và toàn vẹn dữ liệu khi CSDL được phân bố trên mạng

Đây là hệ cơ sở dữ liệu mạnh với rất nhiều ưu điểm tính bảo mật cao, tính an toàn dữ liệu cao, dễ dàng bảo trì nâng cấp, cơ chế quyền hạn rõ ràng, ổn định,…Bên cạnh đó Oracle dễ cài đặt, dễ triển khai và dễ nâng cấp lên phiên bản mới. Phần mềm này còn tích hợp thêm PL/SQL, là một ngôn ngữ lập trình có cấu trúc - Structure Language. Tạo thuận

lợi cho các lập trình viện viết các Trigger, StoreProcedure, Package.

2.1.3 FoxPro

Foxpro là hệ quản trị cơ sở dữ liệu dùng để giải quyết các bài toán trong lĩnh vực quản lý. FoxPro được thừa kế và phát triển trên phần mềm DBASE III PLUS và DBASE IV, những sản phẩm nổi tiếng của hãng ASTON-TATE. Khi các công cụ lập trình và các ứng dụng trên môi trường Windowns ngày càng nhiều thì Microsoft cho ra đời các phiên bản FoxPro 2.6, chạy được trên hai môi trường DOS và Windows. Phiên bản cuối cùng của FoxPro (2.6) làm việc trên Mac OS, MS-DOS, Windows và Unix. Visual FoxPro 3.0 là phiên bản "Visual" đầu tiên, có thể chạy trong Mac và Windows, các phiên bản sau chỉ dùng trong Windows.

11 | P a g e

Page 12: Bao Cao KTPM

Visual FoxPro là sản phẩm của hãng Microsoft, nó kế thừa từ Foxpro for Windows, là một trong những công cụ tiện lợi để giải quyết các bài toán trong lĩnh vực quản lý cho những người chuyên nghiệp và không chuyên nghiệp. Visual FoxPro, ký hiệu vắn tắt là VFP, là một hệ quản trị cơ sở dữ liệu (Database Management System -DBMS) trực quan. Nó không chỉ là một hệ DBMS mà còn là một ngôn ngữ lập trình có triển vọng. Nó có thể được dùng để viết cả các ứng dụng web.

Ứng dụng biên-dịch bởi VFP có thể chạy trong Windows mà không cần cài đặt (install), tuy nhiên phải chứa các file thư viện hỗ trợ lúc chạy (run time support library) tùy theo version của VFP và Windows.

- Là một hệ biên dịch (compiled), do đó cho phép lập trình viên mềm dẻo trong xử lý mã : chương trình có thể hoạt động với các mã do nó tự sinh ra trong quá trình chạy.

- Dễ tách ứng dụng thành nhiều module và do đó có thể dễ dàng nâng cấp sửa đổi.

- Visual Foxpro version trước 9 sẽ không hỗ trợ trực tiếp mã Unicode, VFP9 có hỗ trợ trực tiếp mã Unicode tùy theo cài đặt trên Windows version.

2.1.4 SQL Server

SQL (Structured Query Language - ngôn ngữ truy vấn mang tính cấu trúc) là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan hệ. Ngôn ngữ này phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ. Nó là một tiêu chuẩn ANSI/ISO.

SQL Server là hệ thống quản trị cơ sở dữ liệu quan hệ (Relational DataBase Management System- RDBMS) sử dụng các lệnh giáo chuyển Transaction-SQL để trao đổi dữ liệu giữa Client Computer và Server Computer.

SQL Server có một số đặc tính sau:

- Cho phép quản trị một hệ CSDL lớn (lên đến vài tega byte), có tốc độ xử lý

dữ liệu nhanh đáp ứng yêu cầu về thời gian.

- Cho phép nhiều người cùng khai thác trong một thời điểm đối với một

CSDL và toàn bộ quản trị CSDL (lên đến vài chục ngàn user).

- Có hệ thống phân quyền bảo mật tương thích với hệ thống bảo mật của

công nghệ NT (Network Technology), tích hợp với hệ thống bảo mật của

Windows NT hoặc sử dụng hệ thống bảo vệ độc lập của SQL Server.

12 | P a g e

Page 13: Bao Cao KTPM

- Hỗ trợ trong việc triển khai CSDL phân tán và phát triển ứng dụng trên

Internet

- Cho phép lập trình kết nối với nhiều ngôn ngữ lập trình khác dùng xây dựng

các ứng dụng đặc thù (Visual Basic, C, C++, ASP, ASP.NET, XML,...).

- Sử dụng câu lệnh truy vấn dữ liệu Transaction-SQL (Access là SQL, Oracle

là PL/SQL).

- Tính tương thích cao cũng như chi phí rẻ hơn các phần mềm như Oracle,

Visual FoxPro. So sánh giá cả 2 sản phẩm SQL Server và Oracle như trên

bảng 2.1 và bảng 2.2

Bảng 2.1 Bảng so sánh giá cả giữa SQL Server và Oracle 9i Standard Edition

Số CPU

Oracle 9i Standard Edition SQL Server 2000 Standard Edition

1 15 $ 4,999 $

2 30 $ 9,998 $

4 60 $ 19,998 $

8 120 $ 39,992 $

16 240 $ 79,984 $

32 480 $ 159,968 $

Bảng 2.2: Bảng so sánh giá cả giữa SQL Server và Oracle các phiên bản khác

Số

CPU

Oracle 9i Enterprise

Edition

Oracle 9i Enterprise

Edition with OALP or data

mining

Oracle 9i Enterprise

Edition with OALP and data

mining

SQL Server 2000 Enterprise Edition

1 40 $ 60 $ 80 $ 19,999 $

2 80 $ 120 $ 160 $ 39,998 $

13 | P a g e

Page 14: Bao Cao KTPM

4 160 $ 240 $ 320 $ 79,996 $

8 320 $ 480 $ 640 $ 159,992 $

16 640 $ 960 $ 1280 $ 319,984 $

32 1280 $ 1920 $ 2560 $ 639,968 $

Có khả năng xử lý khá tốt, nhanh các cơ sở dữ liệu tầm trung nên phù hợp với các doanh nghiệp vừa và nhỏ.Access không xử lý tốt lắm các dữ liệu lớn.

Ta có thể so sánh 1 vài thông số phụ giữa 2 công cụ Oracle và SQL Server như trên bảng 2.3:

Hình 2.3: Bảng so sánh một số thông số khác giữa SQL Server và Oracle

Đặc tính SQL Sever 2000 Oracle 9i Database

Độ dài tên cơ sở dữ liệu 128 8

Độ dài tên cột 128 30

Độ dài tên chỉ số 128 30

Độ tài tên bảng 128 30

Độ dài tên được xem 128 30

Độ dài tên thủ tục được lưu 128 30

Độ dài chỉ số 900 749

Số cột tối đa cho mỗi chỉ số 16 32

Số cột tối đa mỗi bảng 1024 1000

Số hàng tối đa 1 bảng 8036 255000

Số truy vấn tối đa 16777216 16777216

Đệ quy Subqueries 40 64

Hằng chuỗi kích thước trong SELECT

16777216 4000

Hằng chuỗi kích thước trong 8000 4000

14 | P a g e

Page 15: Bao Cao KTPM

WHERE

Ngoài ra công cụ SQL server cũng có tính tương thích và hỗ trợ cao với công cụ lập trình mà nhóm sử dụng là C#.

Với công cụ SQL server, ta dùng phần mềm SQL Server 2005 của Microsoft với các tính năng khá đầy đủ, tương thích với hệ điều hành tốt

2.2. Đánh giá các công nghệ khác .

Để xây dựng hoàn chỉnh phần mềm quản lý, ngoài DBMS ta còn cần công cụ lập trình đủ mạnh, thích hợp để viết phần mềm. Một số lựa chọn có thể cân nhắc:.

- C/C++.- Visual Basic- C#.So sánh ưu nhược điểm và đặc điểm từng ngôn ngữ giúp ta có sự lựa chọn tối

ưu.

2.2.1 C/C++

Ngôn ngữ lập trình C là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Ken Thompson và Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ dó, ngôn ngữ này đã lan rộng ra nhiều hệ điều hành khác và trở thành một những ngôn ngữ phổ dụng nhất. C là ngôn ngữ rất có hiệu quả và được ưa chuộng nhất để viết các phần mềm hệ thống, mặc dù nó cũng được dùng cho việc viết các ứng dụng.

- Đây là một dạng ngôn ngữ đa mẫu hình tự do có kiểu tĩnh và hỗ trợ lập trình thủ tục, dữ liệu trừu trượng, lập trình hướng đối tượng, và lập trình đa hình. Từ thập niên 1990, C++ đã trở thành một trong những ngôn ngữ thương mại phổ biến nhất.

- So với C, C++ tăng cường thêm nhiều tính năng, bao gồm: khai báo như mệnh đề, chuyển kiểu giống như hàm, new/delete, bool, các kiểu tham chiếu, const, các hàm trong dòng (inline), các đối số mặc định, quá tải hàm, vùng tên (namespace), các lớp (bao gồm tất cả các chức năng liên quan tới lớp như kế thừa, hàm thành viên (phương pháp), hàm ảo, lớp trừu tượng, và cấu tử), sự quá tải toán tử, tiêu bản, toán tử ::, xử lí ngoại lệ, và sự nhận dạng kiểu trong thời gian thi hành.

- C++ là ngôn ngữ hướng đối tượng, 1 điều mà C không có.- Công cụ soạn thảo của 2 ngôn ngữ này không trực quan tạo điều kiện thuận

lợicho người sử dụng.

15 | P a g e

Page 16: Bao Cao KTPM

2.2.2 Visual Basic

Visual Basic (viết tắt VB) là một ngôn ngữ lập trình hướng sự kiện (event driven) và môi trường phát triển tích hợp (IDE) kết bó được phát triển đầu tiên bởi Alan Cooper dưới tên Dự án Ruby (Project Ruby), và sau đó được Microsoft mua và cải tiến nhiều.

Visual Basic đã được thay thế bằng Visual Basic .NET. Phiên bản cũ của Visual Basic bắt nguồn phần lớn từ BASIC và để lập trình viên phát triển các giao diện người dùng đồ họa (GUI) theo mô hình phát triển ứng dụng nhanh (Rapid Application Development, RAD); truy cập các cơ sở dữ liệu dùng DAO (Data Access Objects), RDO (Remote Data Objects), hay ADO (ActiveX Data Objects); và lập các điều khiển và đối tượng ActiveX.

Một lập trình viên có thể phát triển ứng dụng dùng các thành phần (component) có sẵn trong Visual Basic. Các chương trình bằng Visual Basic cũng có thể sử dụng Windows API, nhưng làm vậy thì phải sử dụng các khai báo hàm bên ngoài.

Visual có khá nhiều ưu điểm như đơn giản, dễ học, dễ sử dụng nhưng cũng có khá nhiều nhược điểm không phù hợp với dự án:

- Không hỗ trợ khả năng lập trình hướng đối tượng nhất là tính thừa kế (Inheritance)

- Giới hạn trong khi chạy nhiều tiểu trình trong 1 ứng dụng.- Khả năng xử lý lỗi yếu.- Khó dùng chung với các ngôn ngữ khác như C++.- Không có User Interface thích hợp cho Internet.

2.2.3 C#

Là một ngôn ngữ lập trình hướng đối tượng được phát triển bởi Microsoft, là phần khởi đầu cho kế hoạch .NET của họ.

Tên của ngôn ngữ bao gồm ký tự thăng theo Microsoft nhưng theo ECMA là C#, chỉ bao gồm dấu số thường. Microsoft phát triển C# dựa trên 2 ngôn ngữ cực mạnh là C++ và Java. C# được miêu tả là ngôn ngữ có được sự cân bằng giữa C++, Visual Basic, Delphi và Java.

C# được thiết kế chủ yếu bởi Anders Hejlsberg kiến trúc sư phần mềm nổi tiếng với các sản phẩm Turbo Pascal, Delphi, J++, WFC.

C# là ngôn ngữ khá đơn giản với hơn 80 từ khóa,10 kiểu dữ liệu định nghĩa sẵn.Tuy nhiên nó vẫn có khả năng hỗ trợ đầy đủ lập trình cấu trúc,thành phần component, lập trình hướng đối tượng.

16 | P a g e

Page 17: Bao Cao KTPM

C#, theo một hướng nào đó, là ngôn ngữ lập trình phản ánh trực tiếp nhất đến .NET

Framework mà tất cả các chương trình .NET chạy, và nó phụ thuộc mạnh mẽ vào Framework này. Mọi dữ liệu cơ sở đều là đối tượng, được cấp phát và hủy bỏ bởi trình dọn rác Garbage-Collector (GC), và nhiều kiểu trừu tượng khác chẳng hạn như class, delegate, interface, exception, v.v, phản ánh rõ ràng những đặc trưng của .NET runtime.

Tóm tắt ưu điểm của công cụ lập trình này:- Là ngôn ngữ đơn giản, ít từ khóa.- C# có khả năng lập trình đa dạng, hỗ trợ hướng đối tượng, hướng module- Hiện nay C# là ngôn ngữ khá phổ biến.

2.3. Kết luận & đánh giá.

Với đề tài nhóm thực hiện, trong khuôn khổ của mình, nhóm sẽ sử dụng các công cụ chính sau:

- SQL Server vì công cụ này có khá nhiều ưu điểm phù hợp với khôn khổ project.

- C# được lựa chọn làm ngôn ngữ lập trình vì các tính năng đã nói.Công cụ sử dụng là Microsoft Visual C# 2010 với khả năng lập trình thuận tiện, kết nối dữ liệu SQL linh hoạt.

17 | P a g e

Page 18: Bao Cao KTPM

CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG

3.1 Phân tích yêu cầu hệ thống:

3.1.1 Sơ đồ chức năng (Functional Diagram):

3.1.2 Biểu đồ luồng dữ liệu (Data Flow Diagram):

a. Context Diagram:

b. Other Level Data Flow Diagrams:

18 | P a g e

Page 19: Bao Cao KTPM

Data flow diagram (High level)

19 | P a g e

Page 20: Bao Cao KTPM

Data flow diagram (function 1)

Data flow diagram (function 2)

20 | P a g e

Page 21: Bao Cao KTPM

Data flow diagram (function 3)

21 | P a g e

Page 22: Bao Cao KTPM

CHƯƠNG 4: THIẾT KẾ HỆ THỐNG

4.1 Thiết kế Cơ sở dữ liệu

4.1.1 Liệt kê các trường dữ liệu:

Các dữ liệu có trong phần mềm được liệt kê ở bảng dưới đây:

4.1.2 Giả thiết phụ thuộc hàm:

(1) Member_ID Member_Name, Member_DoB, Member_Group, Member_Email, Member_Mobile, Member_Address, Member_Project, Member_Report, Group_ID, Project_ID, Report_ID.

(2) Group_ID Group_Name, Group_Member, Group_Project, Group_Report.

(3) Project_ID Project_Name, Project_Member, Project_Group, Project_StartTime, Project_EndTime, Project_RealEndTime, Project_Progress, Project_Report.

(4) Report_ID Report_Name, Report_Group.

22 | P a g e

Page 23: Bao Cao KTPM

4.1.3 Chuẩn hóa

a. Chuẩn hóa 1NF: Bảo đảm tính nguyên tố và duy nhất.

Khóa chính được chọn là: Member_ID vì nó xác định duy nhất các thuộc tính:

Group_ID, Project_ID, Report_ID.

Quá trình chuẩn hóa 1NF được thực hiện như bảng dưới đây:

Bảng chuẩn hóa 1NF

b. Chuẩn hóa 2NF:

Các thuộc tính không khóa phải phụ thuộc hàm đầy đủ vào khóa chính.

23 | P a g e

Page 24: Bao Cao KTPM

Bảng chuẩn hóa 2NF

c. Chuẩn hóa 3NF:

Không có phụ thuộc hàm vào thuộc tính không khóa.

24 | P a g e

Page 25: Bao Cao KTPM

Bảng chuẩn hóa 3NF.

4.1.3 Sơ đồ thực thể liên kết của toàn bộ CSDL:

25 | P a g e

Page 26: Bao Cao KTPM

Sơ đồ thực thể liên kết của toàn bộ CSDL.

26 | P a g e

Page 27: Bao Cao KTPM

4.2 Thiết kế giao diện:

4.2.1 Giao diện khi chương trình khởi động

Chương trình tự động hiển thị phần Giới thiệu về phòng Lab và chương trình quản lý

Giao diện khi chương trình khởi động

4.2.2 Đăng nhập quyền quản trị với Username và Password đúng

Nút đăng nhập

Điền thông tin người quản trị

27 | P a g e

Page 28: Bao Cao KTPM

4.2.3 Giao diện chính của chương trình:

Ví dụ như trong mục Quản lý thành viên:

Giao diện phần quản lý thành viên

Giả sử ta nhập vào một thành viên mới, khung thêm thành viên sẽ hiện ra như sau:

28 | P a g e

Page 29: Bao Cao KTPM

Giao diện phần nhập thông tin cho thành viên mới

Sau khi nhập các thông tin cần thiết, và nhấn Cập nhật:

Cập nhật thành viên mới thành công

Trở lại mục tìm kiếm, ta có thể thấy thành viên mới đã được lưu và cơ sở dữ liệu:

29 | P a g e

Page 30: Bao Cao KTPM

Thành viên mới đã được lưu

Chúng ta có thể xem các đề tài mà thành viên tham gia, và các báo cáo đã gửi của thành viên

Các đề tài và báo cáo của thành viên

4.2.4 Giao diện tab quản lý nhóm:

30 | P a g e

Page 31: Bao Cao KTPM

Các thông tin về nhóm

4.2.5 Giao diện tab quản lý đề tài:

Các thông tin về đề tài

4.2.5 Giao diện tìm kiếm báo cáo:

31 | P a g e

Page 32: Bao Cao KTPM

Các báo cáo được gửi bởi thành viên và nhóm

4.2.6 Phân công thành viên tham gia đề tài:

Chọn thành viên tham gia đề tài

4.2.7 Phân công nhóm tham gia đề tài:

32 | P a g e

Page 33: Bao Cao KTPM

Chọn nhóm tham gia đề tài

4.2.8 Thay đổi mật khẩu của Admin và màn hình đăng xuất:

Thay đổi mật khẩu của admin và màn hình đăng xuất.

33 | P a g e

Page 34: Bao Cao KTPM

C. KẾT LUẬN

Sau một kì học với rất nhiều nỗ lực chúng em đã hoàn thành những mục tiêu cơ bản

cho phần mềm Phần mềm quản lý phòng lab. Mặc dù có nhiều sai sót song chúng em

tin tưởng từ phần mềm đầu tay này chúng em có thể thiết kế những phần mềm tốt hơn

trong tương lai.

Chúng em cũng xin cám ơn thầy Vũ Song Tùng đã tận tình chỉ bảo cho chúng em để

chúng em có thể hoàn thành đề tài này.

34 | P a g e

Page 35: Bao Cao KTPM

D. TÀI LIỆU THAM KHẢO:

(1) Vũ Song Tùng, Slide bài giảng Cơ Sở Dữ Liệu, Đại học Bách Khoa Hà Nội.

(2)Jesse Liberty, O’Reilly, Programming C#, Prentice Hall, 2007.

(3)Bradley L.Jones, C# in 21 Days, SAMS.

(4)Erik Brown, Manning, Windows Forms Programming with C#.

35 | P a g e