1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo phát triển phần mềm theo cấu phần

84 2,4K 31

Đ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 84
Dung lượng 2,91 MB

Nội dung

Lời nói đầuNgày nay Công nghệ thông tin đã trở thành một phần tất yếu của cuộc sống con người.Việc áp dụng các phần mềm tin học vào các lĩnh vực giúp nâng cao tính hiệu quả vàchính xác c

Trang 1

ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI

KHOA CÔNG NGHỆ THÔNG TIN

-o0o -PHÁT TRIỂN PHẦN MỀM THEO CẤU PHẦN

ĐỀ TÀI: Xây dựng chương trình quản lý sinh viên phòng Lab trung tâm

đào tạo vào phát triển nguồn nhân lực Viettel ICT hướng cấu phần

Giảng viên HD : Nguyễn Thái Cường

Nhóm thực hiện : Nhóm 13

2 Nguyễn Hữu Trượng

3 Chu Văn Công

Hà Nội, tháng 12 - 2015

Trang 2

Lời nói đầu

Ngày nay Công nghệ thông tin đã trở thành một phần tất yếu của cuộc sống con người.Việc áp dụng các phần mềm tin học vào các lĩnh vực giúp nâng cao tính hiệu quả vàchính xác của công việc, ngoài ra còn tiết kiệm thời gian và giảm bớt mệt nhọc cho conngười khiến hệ thống công việc hoạt động nhịp nhàng hơn

Nhu cầu thực tế của xã hội đòi hỏi con người phải luôn năng động và sáng tạo để tạo rangày càng nhiều sản phẩm cho xã hội Đối với các công ty lớn thì việc quản lý là vô cùngquan trọng Vì thế việc tin học hóa khâu quản lý này sẽ giúp ích rất nhiều trong việc pháttriển của công ty đồng thời cũng giúp việc quản lý hiệu quả, khoa học hơn

Tập đoàn viễn thông quân đội Viettel là một trong những tập đoàn hàng đầu của ViệtNam Hầu hết các khâu quản lý trong tập đoàn đều đã được tin học hóa Phòng Lab làmột phòng làm việc sinh viên mới được mở nên việc tin học hóa vẫn chưa được tiếnhành Việc quản lý vẫn đang được tiến hành trên giấy tờ và các file excel nên còn gặp khánhiều khó khăn Vì thế việc xây dựng một chương trình quản lý sinh viên là vô cùng cầnthiết

Đề tài quản lý sinh viên là một đề tài không phải là mới, hiện tại trên thị trường

cũng có rất nhiều các phần mềm có chức năng tương tự Tuy nhiên với đặc thù của từngđơn vị các chương trình quản sinh viên đều có những đặc điểm khác nhau Chương trình

quản lý sinh viên được xây dựng bằng J2EE sử dụng hệ quản trị cơ sở dữ liệu mysql.

Phần mềm này giúp trung tâm đào tạo và phát triển nguồn nhân lực Viettel ICT quản lýsinh viên, điểm danh, đăng kí khóa học/open day giúp việc tìm kiếm không mất thời gian

mà hiệu quả và tính chính xác vẫn cao

Chương trình được xây dựng hướng cấu phần để có thể linh hoạt và hiệu quả hơn trong

việc xây dựng, sử dụng Chương trình hướng cấu phần nên thuận lợi trong việc tái sửdụng code và việc phát triển hệ thống ở những version sau Để tối ưu hóa trong quá trình

xây dựng chương trình chúng em có áp dụng design patterns vào thiết kế.

Tuy đã cố gắng nhưng do thời gian và kinh nghiệm còn hạn chế nên chương trình khôngthể tránh khỏi những sai xót Chúng em rất mong thầy cô và các bạn có thể góp ý đểchương trình có thể hoàn thiện hơn

Em xin chân thành cảm ơn sự giúp đỡ tận tình của thầy Nguyễn Thái Cường – Đại học

Công nghiệp Hà Nội trong thời gian qua để giúp em có thể hoàn thành dự án này

Trang 3

Mục lục

Trang 4

Chương I: Tổng quan về lập trình hướng cấu

phần

I Kiến thức tổng quan về cấu phần

1 Khái niệm lập trình hướng cấu phần

Lập trình hướng cấu phần (component object programing - COP) là kiểu lập trình có xuhướng chia hệ thống phần mềm thành những thành phần giữ các chức năng khác nhau(mỗi thành phần này được gọi là một bộ phận hợp thành) mà khi kết hợp lại ta thu đượcmột hệ thống phần mềm hoàn chỉnh Với lập trình hướng cấu phần, chương trình đượcxây dựng bằng cách lắp ráp các thành phần phần mềm có thể sử dụng lại, các khối tựchứa mã máy (hay còn gọi là các khối thành phần thực hiện) Các thành phần này gồmcác thành phần giao diện, các kết nối COP nẩy sinh xuất phát từ thực tế rằng mọi thứ cócấu trúc đều được tạo nên từ các thành phần khác Điển hình như trong nền công nghiệp

tự động, các hệ thống được cấu tạo từ các thành phần Ví dụ, để phát triển một chiếc ô tô

là rất phức tạp

Ô tô = {Các thành phần được ghép nối};

Các thành phần cấu tạo nên ô tô là thuộc nhiều loại khác nhau, kích cỡ khác nhau, chứcnăng khác nhau, được sản xuất bởi các nhà sản xuất khác nhau Các thành phần này giớihạn từ các ốc vít rất nhỏ đến các hệ thống con phức tạp hơn như các động cơ, các bộtruyền phát nhanh

Trong công nghiệp phần mềm Sản phẩm vẫn làm bằng tay là chủ yếu Điều đó dẫn đếntính năng của sản phẩm thấp, chất lượng không đảm bảo, khó tái sử dụng

Trong công nghệ phần cứng Mọi sản phẩm cũng được tạo ra dựa trên phương pháphướng cấu phần Thực tế cho thấy nền công nghiệp này phát triển rất nhanh, thu đượcnhiều lợi nhuận Đây chính là lý do tại sao COP lại quan trọng

COP sử dụng nhiều khái niệm của OOP (lập trình hướng đối tượng) nhưng hai phươngpháp này là độc lập nhau COP phát triển phần mềm bằng cách lắp ráp các thành phầntrong khi OOP nhấn mạnh đến các lớp và các đối tượng COP nhấn mạnh giao diện vàkết cấu, trong khi OOP nhấn mạnh về cài đặt viết mã COP không cần biết bất cứ kiếnthức nào về cách thức một thành phần cài đặt giao diện của chúng, nó xem thành phầnnhư một hộp đen (không bị ảnh hưởng bởi sự thay đổi trong cài đặt của giao diện thànhphần), chỉ quan tâm đến đầu vào, đầu ra, chức năng nhiệm vụ của hộp đen đó Ví dụ: Ốcvít dùng để làm gì, làm thế nào để sử dụng nó mà không cần biết nó được làm như thếnào, sử dụng công cụ gì COP lắp ráp các thành phần thông qua giao diện của các thànhphần này

Trang 5

Sự khác nhau giữa 2 phương pháp lập trình OOP và COP được chỉ ra trong bảngsau:

COP nhấn mạnh giao diện và kết cấu

OOP nhấn mạnh về đối tượng/lớpOOP hỗ trợ bao bọc, thừa kế, đa xạ nhưngchưa bao giờ đạt mục đích của nó vì kế thừaxâm phạm bao bọc, hơn nữa các đối tượng vàcác lớp không tự vận hành

COP là kỹ thuật đóng gói và phân tán OOP là kỹ thuật cài đặt

COP hỗ trợ sử dụng lại mức cao OOP hỗ trợ sử dụng lại mức thấp

COP về nguyên tắc có thể viết bởi bất kỳ

ngôn ngữ lập trình nào OOP bị giới hạn bởi ngôn ngữ OO

COP gồm các thành phần gắn kết lỏng

lẻo

OOP gồm các đối tượng phụ thuộc chặt chẽhơn vào các đối tượng khác qua giao diện kếthừa (Cha thay đổi, con thay đổi theo)

COP có các thành phần hạt nhân từ lớn

đến nhỏ

OOP gồm các đối tượng là các đơn vị củakiến trúc

COP hỗ trợ đa giao diện và thiết kế

hướng giao diện

OOP không cung cấp mỗi quan hệ rõ ràng vềgiao diện giữa các lớp con và lớp cha

1 Hình 1:Sự khác nhau giữa cop và oop

Các ngôn ngữ có thể được sử dụng trong lập trình hướng cấu phần: Visual Basic,Delphi, C#, Java…

Tóm lại: Kỹ nghệ phần mềm dựa trên cấu phần – CBSE (Component BasedSoftware Engineering) gồm các hoạt động:

o COA (Component Oriented Analysis): Phân tích hướng cấu phần

Trang 6

o COD (Component Oriented Design): Thiết kế hướng cấu phần

o COP (Component Oriented Programming): Lập trình hướng cấu phần

o COM (Component Oriented Management): Quản lý hướng cấu phần

Từ cách nhìn của tiến trình kỹ nghệ, các thành phần có thể được phân làm 5 dạngkhác nhau:

 Thành phần đặc tả: Biểu diễn các đặc tả của một đơn vị phần mềm, mô tảmột tập hành vi của các đối tượng thành phần

 Thành phần giao diện: Định nghĩa một tập hành vi có thể được yêu cầu bởimột đối tượng thành phần

 Thành phần cài đặt: Có thể vận hành độc lập (điều này không có nghĩa nóđộc lập với các thành phần khác Nó có thể có nhiều phụ thuộc với thànhphần khác)

 Thành phần đã cài đặt: Thành phần mã thực thi

 Thành phần đối tượng: Lớp, gói,

CBSE hiện tại là một mô hình cho việc phát triển các hệ thống phần mềm lớn như:

 Các ứng dụng phân tán cho doanh nghiệp

 Các ứng dụng Web – N Tier

 Các dịch vụ Web (Web Services)

Có thể dùng các công nghệ của Java như:

EJB: Enterprise Java Bean,

 COM: Component Object Model,

 DCOM: Distributed Component Object Model ,

Trang 7

2 Nguyên tắc của hướng cấu phần

Từ “ cấu phần” đã được dùng trong ngành công nghiệp máy tính 1 thời gian dài Có 1điều thực tế, khái niệm về cấu phần đã xuất hiện xung quanh chúng ta từ trước khi máytính ra đời Một người xây dựng 1 ngôi nhà sử dụng các cấu phần từ những ngành côngnghiệp khác nhau để tạo nên ngôi nhà Các nhà sản xuất ô tô đã sử dụng nhiều cấu phần

từ các ngành công nghiệp khác để tạo một chiếc xe hơi Trong ngành công nghiệp phầncứng máy tính, các kỹ sư không còn phải thiết kế các phần cứng cơ bản từ đầu cho mỗisản phẩm Chip vi xử lý, chip bộ nhớ, bo mạch, và card mạng là các thứ có sẵn cho việcxây dựng hệ thống máy tính lớn và mạnh mẽ hơn Mặc dù chúng ta có thể có nhiều địnhnghĩa khác nhau về phần mềm hướng cấu phần, nhưng các nguyên tắc về phần mềm cấuphần vẫn như cũ từ các định nghĩa khác nhau [Allen 1997; Garlan 2000; Liskov 2000;Luck 2000; Wang 2000, 2002]

Các nguyên tắc cơ bản trong công nghệ phần mềm hướng cấu phần nói chung và lập trìnhhướng cấu phần nói riêng

Chiến lược cơ bản và hiệu quả để giải quyết bất kỳ vấn đề lớn và phức tạp trong khoa họcmáy tính là "phân chia và xử lý" Một ý tưởng chính trong phát triển phần mềm hướng

Trang 8

cấu phần là tạo ra các module phần mềm mà nó tự khép kín và có khả năng độc lập triểnkhai Do đó các nhà phát triển phần mềm khác nhau sẽ có thể làm việc trên các thànhphần độc lập khác nhau mà không cần phải giao tiếp với nhau nhiều, và các thành phầnnày sẽ làm việc liền mạch với nhau Ngoài ra, trong giai đoạn duy trì phần mềm, sẽ có thểthay đổi một số thành phần mà không ảnh hưởng đến tất cả những thành phần khác.Khi chúng ta phân tách một hệ thống, chúng ta phân tách yếu tố của nó thành các thànhphần riêng biệt bằng 1 số cách sau:

- Mỗi thành phần như là 1 mức chi tiết.

- Mỗi thành phần có thể được giải quyết một cách độc lập

- Các triển khai của các thành phần này có thể được tích hợp để đáp ứng các yêu cầu ban đầu của hệ thống

Sự trừu tượng là 1 cách để phân chia sản phẩm bằng cách thay đổi các mức chi tiết đượcxem xét.Các thành phần phần mềm cố gắng che giấu một số chi tiết để cung cấp chỉ cácthông tin cần thiết cho khách hàng thông qua giao diện của họ.Chiến lược trừu tượng hóa

và sau đó phân chia thành các kiểu điển hình trong quá trình phát triển phần mềm.Sựphân chia được sử dụng để phân mảnh phần mềm thành các thành phần mà có thể kết hợpđược với nhau nhằm giải quyết các vấn đề được đặt ra.Sự trừu tượng hỗ trợ đưa ra mộtlựa chọn tốt cho các thành phần Khoa học máy tính đã trải qua trừu tượng hóa khácnhau Thủ tục trừu tượng cho phép chúng ta phân chia một vấn đề thành các đơn vị chứcnăng độc lập Dữ liệu trừu tượng hoặc kiểu dữ liệu gói gọn các đối tượng với một tập hợpcác hoạt động đặc trưng cho các hành vi của các đối tượng Cuốn sách này xem xét đếnloại thứ ba của sự trừu tượng: trừu tượng thành phần, đó là mức độ trừu tượng cao nhấttrong điều kiện về phần mở rộng của nó và các thông tin hữu ích đóng gói

Phần mềm tồn tại dưới nhiều hình thức khác nhau trong suốt quá trình kỹ phát triển phầnmềm.Tại các mô hình và các giai đoạn phân tích, các đặc tả yêu cầu được xem như là mộthình thức của phần mềm.Trong giai đoạn thiết kế, thiết kế kiến trúc và thiết kế chi tiết cáctài liệu là một phần của phần mềm Mã nguồn trong giai đoạn thực hiện và thực thi triểnkhai code đến các của khách hàng là phần mềm chắc chắn Do đó, phần mềm có thể dùnglại, bao gồm việc tái sử dụng bất kỳ sản phẩm phần mềm trong các định dạng khác nhau Như chúng ta đã thảo luận nhanh ở Chương 1, có năm hình thức của các thành phần phầnmềm, cụ thể là: thành phần đặc tả, thành phần giao diện, thành phần thực hiện, các thànhphần được cài đặt, và các thành phần đối tượng Mỗi hình thức của các thành phần phầnmềm có thể được tái sử dụng trong các giai đoạn khác nhau của một vòng đời phần mềm

Trang 9

Nguyên tắc 3: Phát triển phần mềm hướng cấu phần tăng độ tin cậy của phần mềm

Với những tiến bộ nhanh chóng của phần cứng máy tính, độ tin cậy cao, mạnh mẽ, và rẻhơn phần cứng có sẵn cho các ứng dụng khác nhau Độ tin cậy của một hệ thống tínhtoán chủ yếu dựa vào sự tin cậy của bộ phận một phần mềm Phát triển phần mềm hướngcấu phần và lập trình hướng thành phần cung cấp một cách có hệ thống để đạt được các

hệ thống đáng tin cậy Do sự trừu tượng của các thành phần và hệ thống tích hợp của cácthành phần, nó dễ dàng hơn nhiều để xác nhận yêu cầu quan trọng và xác minh an toàncho các hệ thống hướng thành phần Mặt khác, thành phần tái sử dụng thường đã đượckiểm nghiệm qua quá trình xác nhận và sử dụng thực tế trong một thời gian dài, do đó,chất lượng của nó có thể yên tâm

năng suất phần mềm

Phần mềm hướng cấu phần được xây dựng bằng cách lắp ráp và tái sử dụng các thànhphần hiện có hơn là phát triển từ đầu mỗi lần - tái sử dụng thay vì làm mới Quá trình nàynhanh hơn nhiều so với việc phát triển một ứng dụng từ đầu trong hầu hết các trườnghợp

chuẩn phần mềm

Như Clemens Czyperski mô tả trong [Clemens 2003], các thị phần để phát triển, thànhphần tiêu chuẩn phải được đặt đúng chỗ Tiêu chuẩn có thể được sử dụng để tạo ra mộtthỏa thuận về chi tiết kỹ thuật giao diện vững chắc, tạo điều kiện cho hiệu quả của thànhphần, và đảm bảo COP là một mô hình lập trình mới, trong đó "plug-and-play" trở thànhhiện thực trong phát triển phần mềm cũng như các thành phần phần cứng

3 Tại sao COP quan trọng

Hàng trăm năm qua, các ngành công nghiệp đã áp dụng các tiêu chuẩn thành phần

và các công cụ lắp ráp hợp lý để tăng tốc độ phát triển của các sản phẩm rất phức tạpĐây là một cuộc cách mạng Công nghiệp, nó đã làm thay đổi đáng kể về bản chất của sảnxuất, nơi mà máy móc bằng hơi nước và các nguồn năng lượng khác thay thế cho sứcngười hoặc động vật, nơi những công nhân chưa có tay nghề được thay thế bởi các côngnhân lành nghề, và các sản phẩm lớn được làm và lắp ráp bằng máy thay thế cho các sảnphẩm làm bằng tay

Trang 10

Tuy nhiên riêng trong ngành công nghiệp phần mềm, các sản phẩm chủ yếu vẫn làcác sản phẩm được làm thủ công Năng suất làm việc thấp, chất lượng công việc khôngđảm bảo và các dự án chủ yếu bị dừng lại Hiện tượng này được gọi là “Cuộc khủnghoảng phần mềm”.

Cũng như phát triển công nghệ phần cứng, chi phí phát triển một ứng dụng chomáy tính chủ yếu là ở phần mềm Vấn đề quan trọng của ngành công nghệ phần mềm làlàm thế nào để tạo ra những phần mềm chất lượng hiệu quả

Xây dựng thành các thành phần được các kỹ sư phần mềm nhìn nhận như là mộtcông nghệ quan trọng để giải quyết “Cuộc khủng hoảng phần mềm”

Cuộc cách mạng công nghiệp của phần mềm sẽ xuất hiện dựa trên công nghệ phầnmềm hướng thành phần Có một số lý do chính để giải thích tại sao COP ( ComponentOriented Programming) lại quan trọng COP cung cấp một mức độ trừu tượng cao hơn.Hiện nay có một số lượng lớn các thành phần, các thư viện hỗ trợ được tái sử dụng trongviệc phát triển ứng dụng cho các lĩnh vực khác nhau Và 3 mục tiêu chính của COP là :Giải quyết phức tạp, quản lý thay đổi, tái sử dụng

 Giải quyết phức tạp

Chúng ta đang sống trong một thế giới phức tạp ở thời đại bùng nổ thông tin Theomột nhóm nghiên cứu ở trường đại học Berkeley năm 2000, “Thế giới sản xuất từ mộtđến hai exabytes ( 1 exabytes = 1018bytes) thông tin mỗi năm, đó là khoảng 250 MBcho mỗi người đàn ông, mỗi người phụ nữ và mỗi đứa trẻ trên trái đất Như vậy trongkhoa học máy tính, kích thước và độ phức tạm đã được tăng lên đáng kể

Trang 11

Năm AT&T BSD MINIX Linux Solaris Win NT

Sự thay đổi kích thước của phần mềm theo thời gian

Bảng trên cho thấy sự so sánh của một số hệ điều hành về kích thước của chúng

Ký tự đầu tiên là tên phiên bản , thứ hai là kích thước của mã nguồn (1KB=1000 bytes,1MB = 1000000 bytes) Sự so sánh trong mỗi cột có ý nghĩa thực sự, trong khi giữa cáccột không cho thấy nhiều ý nghĩa Và thật may mắn, COP cũng cấp một cách hiệu quả để

đối phó với sự phức tạp của phần mềm : phân chia và chinh phục.

 Quản lý thay đổi

Trang 12

Thay đổi là vốn có trong ngành công nghệ phần mềm Các yêu cầu người dùngthay đổi, thay đổi thông số kỹ thuật, thay đổi nhân sự, thay đổi công nghệ, thay đổi ngânsách và còn nhiều nguyên nhân thay đổi khác.

Một trong những nguyên tắc cơ bản của kỹ thuật phần mềm là để nhấn mạnh tầmquan trọng của quản lý các thay đổi Điều quan trọng cần nhấn mạnh trong kiến trúc vàthiết kế của phần mềm phụ thuộc giữa vào các thành phần và việc quản lý những ngườitrong dự án COP cung cấp một cách hiệu quả để thực hiện theo các nguyên tắc cơ bản kỹthuật phần mềm nhằm đối phó với các thay đổi : lên kế hoạch cho sự thay đổi, thiết kếcho sự thay đổi và xây dựng các thay đổi Phần mềm sẽ dễ dàng thích ứng với những yêucầu mới và các thay đổi mới Các kỹ sư phần mềm đã đi đến thống nhất rằng cách tốtnhất để đối phó với các thay đổi liên tục là xây dựng hệ thống ra các thành phần để có thểtái sử dụng phù hợp với một tiêu chuẩn và kiến trúc plug-in

 Tái sử dụng

Một phần mềm phải cho phép tái sử dụng thiết kế và thực hiện một việc gì đó vàphải được sử dụng lại trong những hoàn cảnh khác nhau Điều này sẽ làm tăng năng suấtlàm việc, cải thiện chất lượng phần mềm vv…

Có nhiều cấp độ khác nhau trong việc tái sử dụng phần mềm

Ví dụ :

+ Sao chép mã nguồn – Đây là cấp thấp nhất của việc tái sử dụng

Xây dựng lớp thư viện các hàm, thủ tục là hình thức tốt hơn về việc tái sử dụng hơn sovới việc sao chép mã nguồn nhưng không phổ biến

Các lớp thư viện này tốt hơn về việc tái sử dụng và họ đang cố gắng phổ biến nó.Tuy nhiên, vấn đề đặt ra là nó đòi hỏi sự hiểu biết trước khi các lớp có thể tái sử dụng.Hơn nữa , nó chỉ hỗ trợ tái sử dụng hộp trắng Và như vậy khách hàng sẽ bị ảnh hưởngnếu cấu trúc bên trong các lớp thư viện này thay đổi

Ví dụ, trong một ngôn ngữ hướng đối tượng (OOP) như C++ hay Java, các lớp thưviện được kết hợp thực hiện với các lớp cơ sở Những thay đổi bất kỳ trong các lớp cơ sở

sẽ phá vỡ kết cấu các lớp thư viện Hơn nữa mức độ tái sử dụng trong ngôn ngữ cụ thể,không thể tái sử dụng trên các ngôn ngữ khác

COP hỗ trợ cấp độ cao nhất của việc tái sử dụng phần mềm vì nó cho phép tái sửdụng bao gồm hộp trắng, hộp xám và hộp đen

Tái sử dụng hộp trắng có nghĩa là phần source code của một thành phần phần mềm đượccung cấp, được nghiên cứu, tái sử dụng, điều chỉnh hoặc sửa đổi

Trang 13

Tái sử dụng hộp đen được dựa trên nguyên tắc ẩn thông tin Các giao diện cụ thểcho các dịch vụ người dùng có thể yêu cầu từ một thành phần Các thành phần cung cấpviệc thực hiện các giao dịch mà khách hàng thao tác Miễn là các giao diện này khôngthay đổi, các thành phần có thể được thay đổi trong nội bộ chương trình mà không ảnhhưởng tới các người dùng.

Tái sử dụng hộp xám nằm giữa tái sử dụng hộp đen và tái sử dụng hộp trắng Khi kích thước và độ phức tạp của hệ thống phần mềm tăng lên, việc xác định vàquản lý phù hợp các mối liên hệ giữa các thành phần của hệ thống sẽ trở thành trọng tâm.COP cung cấp một giải pháp quản lý để đối phó với sự phức tạp của phần mềm, sự thayđổi liên tục của hệ thống và các vấn đề về tái sử dụng phần mềm COP là mô hình thực tế

để phát triển hệ thống phần mềm lớn Ví dụ như các doanh nghiệp có quy mô lớn và nằmphân tán, các ứng dụng web và các dịch vụ Web

I Tổng quan về hệ thống

1 Phát biểu bài toán

Hiện nay việc quản lý sinh viên hàng ngày của CBCNV tại Trung tâm đào tạo và pháttriển người nhân lực Viettel ICT đang gặp nhiều khó khăn do phải thực hiện thủ công vàkhông có công cụ để quản lý, theo dõi lịch học theo kế hoạch cũng như thời gian làm việcthực tế của từng sinh viên

Căn cứ trên thực tế thực hiện công việc cũng như chỉ đạo của ban lãnh đạo Trung tâmđào tạo và phát triển người nhân lực Viettel ICT, bài toán đặt ra hướng tới tin học hóa cácnghiệp vụ đang thực hiện thủ công để giải quyết những khó khăn trong công tác quản lýtiến độ công việc cá nhân tại Trung tâm đào tạo và phát triển người nhân lực Viettel ICT:

- Tin học hóa quá trình điểm danh

- Tin học hóa quy trình quản lý thông tin sinh viên

- Quản lý việc đăng kí tham gia KH/PV/open day

2 Mục tiêu hệ thống

Hệ thống quản lý sinh viên phải đáp ứng được các mục tiêu sau đây:

- Cho phép người quản lý kiểm soát, theo dõi được quá trình học tập làm việc củasinh viên

Trang 14

- Cho phép người quản lý quản lý thông tin cá nhân, trình độ, tình trạng của từngsinh viên

- Cho phép người quản lý có thể cập nhật thông tin các khóa học, hội thảo, cácbuổi open day mới và sinh viên có thể đăng kí tham gia các khóa học, phỏngvấn, open day

3 Phạm vi hệ thống

(a) Danh sách nhóm người sử dụng hệ thống

• Cán bộ quản lý phòng Lab: Thực hiện quản lý sinh viên: điểm danh, quản lý thôngtin sinh viên và báo cáo thống kê

• Sinh viên: Xem các thông tin của cán bộ quản lý đăng lên hệ thống, có thể đăng kícác KH/PV/open day

4 Mô hình tổng thể hệ thống

Hình 1 Sơ đồ tổng thể hệ thống

Trang 15

II Xác định yêu cầu hệ thống

1 Đối với học viên

- Xem thời khóa biểu

- Tra cứu

- Đổi mật khẩu

- Đăng nhập

- Đăng ký khóa học/openday/phỏng vấn

2 Đối với quản lý

- Quản lý thành viên

- Cấp lại mật khẩu

- Quản lý điểm danh

- Quản lý sinh viên

Trang 16

III Phân tích thiết kế hệ thống

Trang 18

- Đăng ký khóa học/openday/phỏng vấn

- Đối với quản lý

- Quản lý thành viên

- Cấp lại mật khẩu

- Quản lý điểm danh

- Quản lý sinh viên

3 Mối quan hệ giữa usecase với actor

Trang 19

4 Mô tả chi tiết các use case

(a) Quản lý khóa học

a.1 Mô tả Usecase

Mô tả tóm tắt

Tên ca sử dụng Quản lý khóa họcMục đích Ca sử dụng này cho phép quản trị thêm mới, thayđổi cũng như xóa khóa họcTác nhân Quản lý

 Nếu quản lý chọn [Thêm khóa học], luồng sự

kiện con Thêm khóa học được thực hiện

 Nếu quản lý chọn [Sửa khóa học], luồng sự

kiện con Sửa khóa học được thực hiện

 Nếu quản lý chọn [Xóa khóa học], luồng sự

kiện con Xóa khóa học được thực hiện

Thêm khóa học

 Hệ thống yêu cầu quản lý chọn mã môn nhậptên khóa học, thời gian bắt đầu, thời gian kếtthúc

 Quản lý chọn [Lưu lại], luồng sự kiện lưu đượcthực hiện và những thông tin về khóa học đượclưu trong cơ sở dữ liệu

Sửa khóa học

 Hệ thống yêu cầu quản lý chọn khóa học cầnsửa đổi

 Quản trị chọn [Sửa khóa học]

 Hệ thống hiển thị thông tin của khóa học

 Quản trị sửa đổi những thông tin cần thiết vàxác nhận việc sửa đổi bằng việc click [Lưu lại]

 Hệ thống cập nhật lại các thay đổi vào cơ sở

Trang 20

 Hệ thống loại bỏ khóa học khỏi cơ sở dữ liệu

và cập nhật lại cơ sở dữ liệu

Luồng sự kiện phụ

 Luồng sự kiện này được thực hiện khi quản trịkhông muốn thêm, sửa, xóa khóa học khỏi hệthống bằng việc chọn [Hủy]

Điều kiện

Tiền điều kiện  Quản lý phải đăng nhập thành công vào hệ

thống

Hậu điều kiện

 Nếu ca sử dụng này thành công, thông tin vềkhóa học sẽ được thêm vào, sửa đổi, hay xóakhỏi hệ thống Trong các trường hợp khác, hệthống ở trạng thái chưa thay đổi

a.2 Biểu đồ lớp tham gia ca sử dụng

Manager

(from UseCaseForManager) )

W_ManageClasses class_id class_name subject_id shift_id course_id class_timeStart class_timeStop class_timeToRegistry getCourse() getSubject() getShift() getClass() setClass()

C_ManageClasses

getCourse() getSubject()

getShift() getClass() setClass()

Courses id course_id course_name course_timeStart

course_timeStop get() set()

subjects id subject_id subject_name numberofLession get() set()

Classes id class_id class_name subject_id shift_id course_id class_timeStart class_timeStop class_timeToRegister shift dayOfWeek get() set()

Trang 21

a.3 Biểu đồ tuần tự

: Manager : W_ManageClasses : C_ManageClasses : Courses : subjects : Classes

get

getCourse

show selectAction

Trang 22

: Manager : W_ManageClasses : C_ManageClasses : Courses : subjects : Classes

add new class

add new class check validations

show

- Luồng 2: sửa khóa học

Trang 23

: Manager : W_ManageClasses : C_ManageClasses : Courses : subjects : Classes

choose save

edit class

edit class check validations

Trang 24

: Manager : W_ManageClasses : C_ManageClasses : Courses : subjects : Classes

Các luồng sự

kiện Luồng sự kiện chính  Ca sử dụng bắt đầu khi quản trị viên muốnthêm, sửa , xóa openday/ phỏng vấn

 Hệ thống sẽ hiển thị cho quản trị viên các lựachọn:

- Thêm openday/ phỏng vấn

- Sửa openday/ phỏng vấn

- Xóa openday/ phỏng vấn

Trang 25

 Hệ thống sẽ yêu cầu quản lý chọn công việcmuốn thực hiện

 Nếu quản lý chọn [Thêm openday/ phỏng vấn],

luồng sự kiện con Thêm openday/ phỏng vấn

được thực hiện

 Nếu quản lý chọn [Sửa openday/ phỏng vấn],

luồng sự kiện con Sửa openday/ phỏng vấn

được thực hiện

 Nếu quản lý chọn [Xóa openday/ phỏng vấn],

luồng sự kiện con Xóa openday/ phỏng vấn

được thực hiện

Thêm khóa học

 Hệ thống yêu cầu quản lý chọn mã môn nhậptên khóa học, thời gian bắt đầu, thời gian kếtthúc cấu hình thời gian đăng ký

 Quản lý chọn [Lưu lại], luồng sự kiện lưu đượcthực hiện và những thông tin về khóa học đượclưu trong cơ sở dữ liệu

Sửa khóa học

 Hệ thống yêu cầu quản lý chọn khóa học cầnsửa đổi

 Quản trị chọn [Sửa khóa học]

 Hệ thống hiển thị thông tin của khóa học

 Quản trị sửa đổi những thông tin cần thiết vàxác nhận việc sửa đổi bằng việc click [Lưu lại]

 Hệ thống cập nhật lại các thay đổi vào cơ sở

 Hệ thống loại bỏ khóa học khỏi cơ sở dữ liệu

và cập nhật lại cơ sở dữ liệu

Luồng sự kiện phụ  Luồng sự kiện này được thực hiện khi quản trịkhông muốn thêm, sửa, xóa khóa học khỏi hệ

thống bằng việc chọn [Hủy]

Điều kiện

Tiền điều kiện  Quản trị phải đăng nhập thành công vào hệthống.

Hậu điều kiện

 Nếu ca sử dụng này thành công, thông tin vềkhóa học sẽ được thêm vào, sửa đổi, hay xóakhỏi hệ thống Trong các trường hợp khác, hệthống ở trạng thái chưa thay đổi

Trang 26

b.2 Biểu đồ lớp tham gia ca sử dụng

Manager

(from UseCaseForManager) )

W_ManageOPInterview opInterview_id opInterview_name opInterview_timeStart opInterview_timeToRegister opInterview_detail opInterview_note affiliate_id opInterview_type getAffiliate() getCourse() getopInterview() setopInterview()

C_ManageOPInterview

getAffiliate() getCourse() getopInterview() setopInterview()

Affiliates id affiliate_id affiliate_name afffiliate_detail affiliate_note get() set()

Courses

id course_id course_name course_timeStart course_timeStop get() set()

(from ManageClasses)

OPInterview id opInterview_id opInterview_name opInterview_timeStart opInterview_timeToRegister opInterview_detail opInterview_note affiliate_id opInterview_type

Trang 28

: Manager : W_ManageOPInterview C_ManageOPInterview C_ManageOPInterview

get

getAffiliate

getCourse getOPInterview

choose affiliate, course

- Luồng 2: Sửa

Trang 29

: Manager : W_ManageOPInterview C_ManageOPInterview C_ManageOPInterview : : : Affiliates : Courses : OPInterview

- Luồng 3: Xóa

Trang 30

: Manager : W_ManageOPInterview C_ManageOPInterview C_ManageOPInterview

Đăng ký khóa học

Có khóa học/PV/ open day mới

ký khóa học/PV/open day vừa mới cập nhật và thông báo thànhcông cho người dùng

Trường hợp thất bại: hệ thống thông báo lỗi cho ngườidùng

Trang 31

- Hủy đăng ký khóa học

 Hệ thống sẽ yêu cầu quản lý chọn công việcmuốn thực hiện

 Nếu quản lý chọn [Đăng ký khóa học], luồng

sự kiện con Đăng ký khóa học được thực hiện

 Nếu quản lý chọn [Hủy đăng ký], luồng sự

kiện con Hủy đăng ký được thực hiện

Đăng ký khóa học

 Hệ thống hiển thị danh sách khóa học có thểđăng ký và yêu cầu học viên chọn

 Học viên chọn khóa học muốn đăng ký

• Học viên chọn [Lưu đăng ký] thông tin đăng

ký sẽ được lưu vào cơ sở dữ liệu

Hủy đăng ký

 Hệ thống yêu cầu học viên chọn thông tin đăng

ký cần hủy bỏ

•Học viên chọn [Hủy đăng ký] thông tin đăng

ký đó sẽ được xóa khỏi cơ sở dữ liệu

Luồng sự kiện phụ  Luồng sự kiện này được thực hiện khi học viênkhông muốn đăng ký hoặc hủy khóa học khỏi

hệ thống bằng việc chọn [Hủy]

Điều kiện

Tiền điều kiện  Học viên phải đăng nhập thành công vào hệthống

Hậu điều kiện

 Nếu ca sử dụng này thành công thông tin đăng

ký sẽ được thêm hoặc xóa khỏi cơ sở dữ liệu.Trong các trường hợp khác, hệ thống ở trạngthái chưa thay đổi

Trang 32

c.2 Biểu đồ lớp tham gia ca sử dụng

Trainee

(from UseCaseForTrai nee) ) W_RegisterClass

trainee_id class_id getClasses() getTrainees() set()

C_RegisterClass getClasses() getTrainees() set()

Classes

id class_id class_name subject_id shift_id course_id class_timeStart class_timeStop class_timeToRegister shift dayOfWeek get() set()

(from ManageClasses)

Trainees

trainee_id student_id traninee_vdi profile_id class_id trainee_status get() set() check()

(from ManageTrai nee)

TimeTable trainee_id class_id get() set()

Trang 33

Tên ca sử dụng Đăng ký openday/phỏng vấn

Mục đích Ca sử dụng này cho phép học viên đăng ký thamgia các buổi openday/phỏng vấn mà mình

mong muốnTác nhân Học viên

- Hủy đăng openday/phỏng vấn

 Hệ thống sẽ yêu cầu quản lý chọn công việcmuốn thực hiện

 Nếu quản lý chọn [Đăng ký openday/phỏng

vấn], luồng sự kiện con Đăng ký

Trang 34

openday/phỏng vấn được thực hiện

 Nếu quản lý chọn [Hủy đăng ký], luồng sự

kiện con Hủy đăng ký được thực hiện

Đăng ký openday/phỏng vấn

 Hệ thống hiển thị danh sách openday/phỏngvấn có thể đăng ký và yêu cầu học viên chọn

 Học viên chọn openday/phỏng vấn muốn đăngký

• Học viên chọn [Lưu đăng ký] thông tin đăng

ký sẽ được lưu vào cơ sở dữ liệu

Hủy đăng ký

 Hệ thống yêu cầu học viên chọn thông tin đăng

ký cần hủy

•Học viên chọn [Hủy đăng ký] thông tin đăng

ký đó sẽ được xóa khỏi cơ sở dữ liệu

Luồng sự kiện phụ

 Luồng sự kiện này được thực hiện khi học viênkhông muốn đăng ký hoặc hủy openday/phỏngvấn khỏi hệ thống bằng việc chọn [Hủy]

Điều kiện

Tiền điều kiện  Học viên phải đăng nhập thành công vào hệ

thống

Hậu điều kiện

 Nếu ca sử dụng này thành công thông tin đăng

ký sẽ được thêm hoặc xóa khỏi cơ sở dữ liệu.Trong các trường hợp khác, hệ thống ở trạngthái chưa thay đổi

Trang 35

d.2 Biểu đồ lớp tham gia ca sử dụng

Trainee

(from UseCaseForTrainee) )

W_RegisterOPInterview

trainee_Id opInterview_id getTrainee() getopInterview() set()

C_RegisterOPInterview

getTrainee() getopInterview() set()

OPInterview

id opInterview_id opInterview_name opInterview_timeStart opInterview_timeToRegister opInterview_detail opInterview_note affiliate_id opInterview_type

(from ManageOPInterview)

Trainees

trainee_id student_id traninee_vdi profile_id class_id trainee_status get() set() check()

(from ManageT rainee)

ListTraineeRegisterOPInterview trainee_id opInterview_Id

set

set

Trang 36

users id users_name users_pass users_idPerrmission get() set()

Trang 37

f.1 Mô tả Usecase

Đăng ký khóa học

Học viên có nhu cầu muốn cấp lại mật khẩu

mới cập nhật và thông báo thành công cho người dùng

Trường hợp thất bại: hệ thống thông báo lỗi cho ngườidùng

f.2 Biểu đồ lớp tham gia ca sử dụng

Manager

(from UseCaseForManager) )

W_ResetPassword username reset()

users

id users_name users_pass users_idPerrmission get() set()

(from Login)

C_ResetPassword

reset()

Trang 38

home page

Trang 39

id users_name users_pass users_idPerrmission get() set()

(from Login)

C_ResetPassword

reset()

Trang 40

Quản lý thànhviên

viên vừa mới cập nhật và thông báo thành công cho người dùng

Trường hợp thất bại: hệ thống thông báo lỗi cho người

Ngày đăng: 19/12/2015, 16:01

TỪ KHÓA LIÊN QUAN

w