Thiết kế phần mềm quản lí DỮ liệu phenotype đẶt vấN ĐỀ I. Giới thiệu chung về phần mềM



tải về 1.92 Mb.
trang1/10
Chuyển đổi dữ liệu23.02.2018
Kích1.92 Mb.
#36344
  1   2   3   4   5   6   7   8   9   10
CHUYÊN ĐỀ 2.2

THIẾT KẾ PHẦN MỀM QUẢN LÍ DỮ LIỆU PHENOTYPE

ĐẶT VẤN ĐỀ

I. GIỚI THIỆU CHUNG VỀ PHẦN MỀM

1.1 Mục đích

Phần mềm cho phép quản lý, cập nhật dữ liệu về Phenotype bao gồm các nhóm giống lúa, thông tin chi tiết về các giống lúa. Phần mềm cho phép tìm kiếm, truy xuất thông tin về các giống lúa.

Phần mềm được xây dựng trên nền web, có thể hoạt động trên môi trường Internet hay được cài đặt và khai thác qua mạng LAN của đơn vị.

Phần mềm cũng được lưu trữ trên đĩa CD nhằm hỗ trợ tra cứu, tìm kiếm dữ liệu.



1.2. Phương pháp tiến hành nghiên cứu

  • Sử dụng các qui trình, qui chuẩn hiện đại về xây dựng phần mềm đã được các công ty hàng đầu thế giới áp dụng, đúc rút kinh nghiệm.

  • Đầu tư thích hợp các cấu thành phần cứng, các bước nghiên cứu cơ bản, tìm hiểu đầy đủ về các chuẩn truyền dữ liệu số, tham khảo chi tiết các đánh giá của các tổ chức thứ ba về loại phần mềm tương tự đã được sản xuất thương mại hoặc sản xuất thử.

  • Đào tạo, tập huấn và sử dụng các công cụ thiết kế phần mềm, công cụ phát triển phần mềm, công cụ kiểm tra phần mềm, đánh giá mức hiệu dụng

  • Lập thiết kế và phản biện thiết kế

  • Lập nhóm quản lý chất lượng và test theo qui trình Alpha, Beta, Release Candidate

  • Lập nhóm kiểm tra chéo sử dụng người dùng cuối đóng vai trò thẩm định

II. THIẾT KẾ XÂY DỰNG PHẦN MỀM

2.1 Lựa chọn giải pháp về công nghệ

Hệ quản trị cơ sở dữ liệu:

Thị trường nội địa vẫn quen với các hệ quản trị cơ sở dữ liệu “phẳng” như FoxPro, MS-Access. Một số đã chuyển sang Microsoft SQL Server, ORACLE, MySQL, Postgresql, Informix, SysBase, ...

Trong số các hệ quản trị cơ sở dữ liệu này có Microsoft SQL Server và MySQL được dùng khá phổ biến ở Việt nam, để quyết định quản trị cơ sở dữ liệu nào, tham khảo một một số tiêu chí.


  • Tính năng:

MySql hơn Microsoft SQL Server ở tính năng cung cấp nhiều loại storage engine. Tuy nhiên tính về mặt tích hợp chặt chẽ cho trọn bộ hệ thống và công cụ phát triển phần mềm thì Microsoft SQL Server tích hợp tốt hơn MySql, đặc biệt ở mảng .NET. Microsoft SQL Server còn hỗ trợ XML trực tiếp trong cơ sở dữ liệu, trong khi đó thì MySQL chưa làm được chuyện này. Các chức năng cần thiết như View, StoreProcedure, Trigger thì cả hai tương đương nhau.

  • Hiệu suất:

Tính về mặt hiệu suất, Microsoft SQL Server đòi hỏi tài nguyên lớn (CPU mạnh, nhiều RAM...). MySQL không đòi hỏi nhiều như Microsoft SQL Server.

  • Bảo mật:

Microsoft SQL Server hơn MySQL về tính bảo mật ở column level. MySQL chỉ có thể thiết lập truy cập đến row level. Hệ thống xác thực người dùng của Microsoft SQL Server cũng hơn MySQL. Tuy vậy, trên bình diện "để hở cổng" thì Microsoft SQL Server dễ bị khai thác hơn MySQL bởi Microsoft SQL Server tích hợp quá chặt vào hệ điều hành.

  • Khả năng nhân bản:

Cả hai đều có khả năng nhân bản hoặc cung cấp phương tiện để làm việc này. Microsoft SQL Server cung cấp nhiều phương pháp nhân bản cao cấp hơn, chi tiết hơn bởi thế nó phức tạp hơn và chậm hơn.

  • Khả năng phục hồi:

Nếu MySQL chạy thuần túy với MyISAM storage engine thì khả năng phục hồi (sau khi bị crash) không cách gì so sánh với Microsoft SQL Server. Tuy nhiên nếu MySQL chạy với Innodb engine thì khả năng phục hồi không thua kém gì Microsoft SQL Server. Microsoft SQL Server cung cấp nhiều phương thức nhân bản nên việc phục hồi dữ liệu trên Microsoft SQL Server dễ dàng hơn.

Phần mềm được xây dựng sử dụng hệ quản trị cơ sở dữ liệu MySQL Server Version 5.1.34. Nhóm nghiên cứu chọn MySQL vì những lý do sau:



  • MySQL là một hệ CSDL được dùng phổ biến trên thế giới. Đặt điểm nổi bật của MySQL là tốc độ nhanh, dễ sử dụng, chạy trên nhiều hệ điều hành (trên nền Unix, Windows).

  • Hiện tại MySQL mã nguồn mở, phần mềm dùng phiên bản Community không phải mất chi phí về bản quyền

Ngôn ngữ lập trình

Nhóm nghiên cứu sử dụng ngôn ngữ lập trình để xây dựng phần mềm là PHP kết hợp với DHTML, Javascript, Ajax.

Lập trình Web bằng ngôn ngữ PHP và thông qua PHP engine để truy cập vào MySQL Server

Lý do chúng tôi chọn PHP vì:



  • PHP là một ngôn ngữ lập trình kiểu script, PHP là một ngôn ngữ chạy trên Server và trả về mã HTML cho trình duyệt. Mã PHP được thi hành bởi máy chủ. Sau khi máy chủ chạy các đoạn mã PHP, nó sẽ trả các dòng lệnh HTML về cho trình duyệt. Sự tương tác này sẽ cho phép lập trình viên có thể tạo ra những thao tác phức tạp.

  • PHP cũng hỗ trợ một số lượng lớn các loại cơ sở dữ liệu khác nhau như: MySQL, Informix, Oracle, Sybase và PostgreSQL.

  • PHP cũng hỗ trợ máy chủ các tính năng khác về khía cạnh kỹ thuật phát triển Internet. Bao gồm Authentication, XML, tạo các hình ảnh động, WDDX, hỗ trợ chia sẻ bộ nhớ, và tạo tài liệu PDF, ...

2.2 Thiết kế kiến trúc, cơ sở dữ liệu của phần mềm

Phần mềm quản lý dữ liệu Phenotype được xây dựng trên nền công nghệ Web, người sử dụng có thể truy cập và sử dụng phần mềm thông qua trình duyệt Web. Toàn bộ chương trình và cơ sở dữ liệu nằm trên máy chủ. Người sử dụng được cấp quyền truy cập để được phép cập nhật dữ liệu, khai thác và sử dụng phần mềm tùy theo các mức độ được phân quyền khác nhau.



Phần mềm có chức năng phân quyền cho người sử dụng, nhóm người sử dụng được phép hay không được phép sử dụng một hay nhiều chức năng của phần mềm. Trên mỗi chức năng đều được phân quyền chi tiết theo các mức độ như quyền xem, thêm, sửa, xóa dữ liệu.


Sơ đồ logic người dùng – cơ sở dữ liệu



Hình 1: Sơ đồ logic người dùng - cơ sở dữ liệu
Giao diện đầu tiên người dùng tiếp xúc là giao diện cho phép đăng nhập phần mềm. Trên giao diện đăng nhập của phần mềm, để có thể cập nhật dữ liệu, người dùng phải thông qua bước đăng nhập. Đăng nhập là quá trình kiểm soát (tên đăng nhập, mật khẩu), từ đó cấp các quyền tương ứng cho người dùng đối với cơ sở dữ liệu.

Trên cơ sở các quyền truy xuất được cấp, người dùng chọn các phần để cập nhật và khai thác các chức năng trong phần mềm.



Qui trình đăng nhập, đăng xuất

Đăng nhập và đăng xuất là qui trình đảm bảo tính bảo mật thông tin cho người dùng và do đó đảm bảo tính bảo mật cho cơ sở dữ liệu.

Sau khi người dùng được cung cấp tên đăng nhập và mật khẩu, phần mềm sẽ kiểm tra các thông tin đó trong cơ sở dữ liệu. Mật khẩu được mã hóa theo thuật toán md5, là thuật toán không giải ngược được. Người dùng bắt buộc phải nhập lại thông tin trên nếu phần mềm kiểm tra thấy thông tin không đúng.

Nếu thông tin nhập đúng, phần mềm sẽ tự động tạo các menu và đường dẫn tùy theo quyền được cấp. Thông thường các quyền này là tập hợp hạn chế trong tổng số các quyền được cấp.



Tiếp theo phần mềm sẽ ghi danh người dùng vào phiên làm việc. Phiên làm việc gắn liền với các quyền đã được tạo ra. Nếu người dùng cố tình phạm vào các vùng cấm, thì phần mềm sẽ không cho phép thực hiện chức năng không được phép. Các phiên làm việc đều có thời hạn. Nếu vượt quá thời hạn, phần mềm cũng tự động đăng xuất. Đây là một cơ chế tăng cường bảo mật. Người dùng có thể chủ động đăng xuất nếu muốn.




Hình 2: Qui trình đăng nhập, đăng xuất
Bảo mật thông tin và cấp quyền truy xuất

Bảo mật thông tin chính là cấp quyền truy xuất theo đúng đối tượng của hệ thống.



Yêu cầu

Đối với người nhập dữ liệu và khai thác phần mềm, bảo mật trở nên rất cần thiết. Hệ thống bảo mật cần đạt được một số mục tiêu sau:

Phải tạo ra cơ chế cho phép cấp quyền truy xuất đến từng người. Như vậy, nhìn chung mỗi một người sử dụng hệ thống sẽ có một tên đăng nhập và mật khẩu, được phép cập nhật hay khai thác dữ liệu do người quản trị qui định.

Về mặt kỹ thuật, hệ thống bảo mật phải được tích hợp chặt chẽ vào tất cả các chức năng cập nhật.

Mỗi một người dùng được cấp cặp thông tin (tên đăng nhập, mật khẩu). Mỗi một người dùng sẽ được cấp theo các quyền:

- Quyền xem thông tin (mức bảo mật 1),

- Quyền cập nhật thông tin (mức bảo mật 2),

- Quyền được phép phân quyền (mức bảo mật 3).

Mức bảo mật càng cao thì quyền được sử dụng càng cao.

Nguyên tắc thiết kế cơ bản

Do toàn bộ phần mềm sử dụng giao diện Web nên phần mềm về thực chất là các đoạn được viết dưới ngôn ngữ kịch bản (script). Mặt khác, đặc trưng của công nghệ Web là Browser và Web Server trao đổi với nhau qua các session (gọi là phiên) và hết phiên đó là tất cả các biến lưu sẽ bị xóa ngay. Đây là một đặc trưng làm cho việc thiết kế bảo mật trên công nghệ Web khó khăn hơn so với thiết kế các hệ thống bảo mật thông thường.

Một hệ thống bảo mật thông thường làm theo nguyên tắc sau:

Tên đăng nhập A đăng nhập hệ thống theo khóa đã được cấp;



A hoạt động liên tục với nhiều phiên làm việc mà không cần phải kiểm tra khóa;

A thoát khỏi phần mềm và khóa cũng đăng xuất theo, cửa sẽ tự động đóng.

Nếu áp dụng nguyên tắc trên cho bảo mật với công nghệ Web, thì bảo mật sẽ hết hiệu lực ngay sau khi browser chuyển sang một trang khác, đơn giản vì giữa Web Server và Browser đã kết thúc phiên làm việc.



Để khắc phục, chúng tôi đã sử dụng hình thức “nhớ” phiên làm việc trước và vì vậy người có khóa chỉ việc mở khóa lần đầu, lần sau phần mềm sẽ tự động “nhớ mặt” và sẽ không kiểm tra nữa mà vẫn cho qua. Người dùng muốn hủy phiên làm việc (có nghĩa là làm cho việc tự động nhớ mặt mất hiệu lực) thì họ kích chuột vào Thoát.




Каталог: phenotype -> upload -> article
article -> MỤc lục báo cáo kết quả thực hiện chuyêN ĐỀ nghiên cứu khoa họC (Chuyên đề 7)
article -> MỤc lụC ĐẶt vấN ĐỀ
article -> Khóa luận tốt nghiệp Bùi Thị Linh LỜi cảM ƠN
article -> BÁo cáo kết quả thực hiện chuyêN ĐỀ nghiên cứu khoa họC (Chuyên đề 5)
article -> 1. 1 Vài nét sơ lược về cây lú
article -> ĐẶt vấN ĐỀ 2 I. TỔng quan nghiên cứU 3
article -> ĐÁnh giá Đa dạng di truyền tậP ĐOÀn giống lúa có khả NĂng chịu hạn bằng chỉ thị phân tử ssr
article -> MỤc lụC 1 Triệu chứng bệnh 4
article -> Đặc biệt, nhu cầu về các giống lúa có chất lượng cao ngày càng gia tăng trong những thập kỷ gần đây, do yêu cầu của thị trường và nhu cầu của người tiêu dùng
article -> Xanthomonas oryzea pv oryze, đ

tải về 1.92 Mb.

Chia sẻ với bạn bè của bạn:
  1   2   3   4   5   6   7   8   9   10




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương