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

QUẢN LÝ ĐOÀN VIÊN

14 2,2K 2
Tài liệu đã được kiểm tra trùng lặp

Đ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 14
Dung lượng 454,5 KB

Nội dung

lĩnh vực CNTT ngày càng phát triển và con người đã từng bước áp dụng vào cuộc sống, công việc, đặc biệt là trong vấn đề lưu trữ và quản lý thông tin

Trang 1

Bài tập nhóm

QUẢN LÝ ĐOÀN VIÊN

Giáo Viên Hướng Dẫn:

Nhóm Thực Hiện:

BÀNH HUỲNH HUY (1063271)

Trang 2

04/2008

Trang 3

-LỜI NÓI ĐẦU

Lập trình hướng đối tượng - OOP - là một phương pháp mới trên bước đường tiến hóa của lập trình máy tính, nó làm cho chương trình linh hoạt, dễ phát triển hơn Với những lợi thế của lập trình hướng đối tượng mang lại ta dễ dàng thấy được tính ưu việt của nó so với phương pháp lập trình cấu trúc cổ điển

Hầu hết các ngôn ngữ lập trình hiện nay được giới chuyên môn sử dụng đều hổ trợ hướng đối tượng, ví dụ: C++, C#, Java, Visual Basic, Delphi… Trong đó ngôn ngữ đáng quan tâm là C++ vì hiện nay nó là ngôn ngữ rất phổ thông và thịnh hành bởi đặc điểm mềm dẻo vốn

có Đó cũng chính là ngôn ngữ mà nhóm chúng tôi sử dụng để thực hiện đề tài của mình

Do đây là lần đầu tiên tiếp cận với phương pháp lập trình hướng đối tượng nên không tránh khỏi những sai xót, và vẫn còn nhiều kiến thức mơ hồ Chương trình chỉ mang tính tập

sự, chưa thể sử dụng trong thực tế do giao diện chưa được đẹp và chưa xử lý được các ngoại lệ

Mong các bạn có thể đóng góp ý kiến quý báu của mình để nhóm của chúng tôi có thể hoàn thiện chương trình hơn

Cần Thơ, ngày 15 tháng 04 năm 2008

Nhóm thực hiện

Trang 4

MỤC LỤC

LỜI NÓI ĐẦU 1

MỤC LỤC 2

CHƯƠNG I: MÔ TẢ & PHÂN TÍCH 3

I MÔ TẢ BÀI TOÁN 3

II PHÂN TÍCH BÀI TOÁN 3

1 Các đối tượng trong hệ thống 3

2 Các chức năng cần đạt của hệ thống 3

3 Phân chia công việc 3

CHƯƠNG II: THIẾT KẾ CHƯƠNG TRÌNH 4

I SƠ ĐỒ LỚP 4

II MÔ TẢ CÁC LỚP 5

III CẤU TRÚC FILE 8

CHƯƠNG III: GIỚI THIỆU DEMO 9

I MÔI TRƯỜNG CÀI ĐẶT: 9

1 Ngôn ngữ sử dụng: C++ 9

2 IDE: Visual C++ 6.0 9

II CÁC FILES NGUỒN: 9

III GIỚI THIỆU MỘT VÀI GIAO DIỆN 9

1 Main menu: 9

2 Liệt kê toàn bộ các Chi Đoàn: 10

3 Tìm kiếm theo mã số: 10

IV CÁCH THỰC THI DEMO: 11

1 Liệt kê toàn bộ: 11

2 Liệt kê một Chi Đoàn: 11

3 Liệt kê cán bộ Đoàn: 11

4 Liệt kê Chi Đoàn còn thiếu phí: 11

5 Tìm theo mã số: 11

6 Tìm theo họ tên: 11

7 Thêm Đoàn viên: 11

8 Xóa Đoàn viên: 11

9 Sửa Đoàn viên: 11

CHƯƠNG IV: KẾT QUẢ ĐẠT ĐƯỢC 12

I TÍNH NĂNG - HẠN CHẾ - NGUYÊN NHÂN 12

1 Tính năng: 12

2 Hạn chế: 12

3 Nguyên nhân: 12

II HƯỚNG PHÁT TRIỂN – THAY CHO LỜI KẾT 12

Trang 5

CHƯƠNG I: MÔ TẢ & PHÂN TÍCH

I MÔ TẢ BÀI TOÁN

Trong tất cả các tổ chức, Đoàn viên là một lực lượng nồng cốt không thể thiếu Bên cạnh

đó, do số lượng Đoàn viên là một con số không nhỏ, đòi hỏi phải có sự quản lý chặt chẽ Mặt khác, lĩnh vực CNTT ngày càng phát triển và con người đã từng bước áp dụng vào cuộc sống, công việc, đặc biệt là trong vấn đề lưu trữ và quản lý thông tin Vì thế, để giải quyết được vấn

đề nan giải đó là làm sao để quản lý Đoàn viên được chặt chẽ và dễ dàng, nhóm của chúng tôi

đã thực hiện một đề án quản lý Đoàn viên và các Chi Đoàn trực thuộc của một tổ chức và cụ thể

đó là Đoàn Khoa CNTT&TT- ĐH Cần Thơ

II PHÂN TÍCH BÀI TOÁN

1 Các đối tượng trong hệ thống

Trong quá trình phân tích, hệ thống quản lý Đoàn viên xuất hiện các đối tượng sau:

2 Các chức năng cần đạt của hệ thống

Chia là ba phần lớn:

- Phần 1: Liệt kê danh sách

o Phải liệt kê được một số danh sách cơ bản như

o Phải cho người dùng xuất thông tin của Chi Đoàn và Đoàn Khoa ra tập tin

- Phần 2: Tìm kiếm thông tin Đoàn viên

o Phải tìm kiếm được thông tin Đoàn viên dưới một vài dạng thức cơ bản như

o Phải cho người dùng xuất thông tin của Đoàn viên được tìm thấy ra tập tin

- Phần 3: Thay đổi thông tin Đoàn viên

o Phải có đủ các chức năng cơ bản để thay đổi nội dung của Đoàn viên như

3 Phân chia công việc

2 Trương Cao Hồng Vận Thiết kế lớp Chi Đoàn, lớp Đoàn Khoa và Demo

Trang 6

CHƯƠNG II: THIẾT KẾ CHƯƠNG TRÌNH

I SƠ ĐỒ LỚP

doanvien

-name: char

-sex: esex

-birthday: dmy

-home: char

-joindate: dmy

-joinplace: char

-post: char

-code: long

-offcode: char

-offname: char

-course: int

-staff: int

<<create>>-doanvien()

<<destroy>>-doanvien()

+setName(: char): void

+getName(): char

+setBirday(: dmy): void

+setBirday(: char): void

+getBirday(): dmy

+setSex(: char): void

+setSex(: char): void

+getSex(): char

+setHome(: char): void

+getHome(): char

+setJoinDate(: dmy): void

+setJoinDate(: char): void

+getJoinDate(): dmy

+setJoinPlace(: char): void

+getJoinPlace(): char

+setPost(: char): void

+getPost(): char

+setCode(: long): void

+setCode(: char): void

+getCode(): long

+setCourse(: int): void

+setCourse(: char): void

+getCourse(): int

+setOffName(: char): void

+setOffCode(: char): void

+newdoanvien(: char): void

+repair(): void

+showinfo(): void

+save(: ofstream): void

+out(): void

<<CppOperator>>+=(: doanvien): doanvien

<<CppFriend>>+<<(: ostream, : doanvien): ostream

<<CppFriend>>+>>(: istream, : doanvien): istream

dmy

-date: int

-month: int

-year: int

<<create>>-dmy()

<<create>>-dmy(: char)

+setdmy(: char): void

<<CppOperator>>+>(: dmy): bool

<<CppFriend>>+<<(: ostream, : dmy): ostream

chidoan

-list: doanvien -num: int -course: int -initnum: int -name: char -code: char -expire: dmy

<<create>>-chidoan()

<<destroy>>-chidoan() +showinfo(): void +load(: ifstream): void +save(: ofstream): void +sort(): void

+swapdoanvien(: int, : int): void +add(): void

+sub(): void +repair(): void +out(): void +size(): int +getExp(): dmy +getName(): char

<<CppOperator>>+[](: int): doanvien

<<CppFriend>>+<<(os: ostream, : chidoan): ostream

doankhoa

-num: int -data: chidoan -filename: char

<<create>>-doankhoa(: char)

<<destroy>>-doankhoa() +size(): int

+out(): void +print(: char, : int): bool

<<CppOperator>>+[](: int): chidoan +timtheoten(): void

+timtheomaso(): void +showStaff(): void +printMoney(): void

<<CppFriend>>+<<(: ostream, : doankhoa): ostream

<uses>

<uses>

<uses>

Trang 7

Lớp ngày tháng classDMY

dmy() dmy(char*)

Hàm khởi tạo không đối số Hàm khởi tạo ngày từ chuổi (dd/mm/yyyy)

Lớp Đoàn viên classDoanVien

void setSex(char*) Đặt giới tính bằng chuỗi "Nam" hoặc "Nu"

Trang 8

void setJoinDate(char*) Đặt ngày vào Đoàn bằng chuỗi (dd/mm/yyyy)

Cập nhật lại thông tin bằng chuỗi truyền vào có định dạng như sau:

<tên>+<ngày sinh>+<giới>+<quê>+<ngày vào Đoàn>+<nơi vào Đoàn>+<chức vụ>+<mã số>+

Lớp Chi Đoàn classChiDoan

Trang 9

này ra file không

Lớp Đoàn Khoa classDoanKhoa

bool print(char*,int&)

In chuỗi truyền vào như là lời nhắn (message)

Tham chiếu kiểu int truyền vào đề nhận về chỉ số của Chi Đoàn cần in Hàm trả về kết quả người dùng có muốn xuất thông tin không

Trang 10

III CẤU TRÚC FILE

Dòng đầu tiên là số n lưu số Chi Đoàn

Sau đó là n khối tiếp theo, mỗi khối có cấu trúc sau:

- Dòng đầu tiên của khối là header, sau mỗi thông tin là một dấu CỘNG (+) :

o Tên Chi Đoàn

o Khóa học

o Mã Chi Đòan

o Ngày hết hạn Đoàn phí (dd/mm/yyyy)

o Số m lưu số lượng thành viên trong Chi Đoàn

- Sau đó là m dòng, mỗi dòng lưu thông tin của một Đoàn viên, sau mỗi thông tin là

một dấu CỘNG (+):

o Họ và tên

o Quê quán

o Ngày vào Đoàn (dd/mm/yyyy)

o Nơi vào Đoàn

Ví dụ:

Cách lấy dữ liệu: + Đọc từng dòng, gán vào một chuỗi

+ Chuyễn chuỗi trên vào hàm gán (phương thức newdoanvien) + Dùng các hàm đặt để gán các thuộc tính tương ứng (set)

Trang 11

CHƯƠNG III: GIỚI THIỆU DEMO

I MÔI TRƯỜNG CÀI ĐẶT:

1 Ngôn ngữ sử dụng: C++

2 IDE: Visual C++ 6.0

II CÁC FILES NGUỒN:

Khai báo các tiền xử lý #include Khái báo thủ tục clrscr() và panel() Kiểu liệt kê sex và các tác tử nhập xuất của nó

III GIỚI THIỆU MỘT VÀI GIAO DIỆN

1 Main menu:

Trang 12

3 Tìm kiếm theo mã số:

Trang 13

IV CÁCH THỰC THI DEMO:

Các menu được đánh số từ 1 -> 9, lựa chọn bằng cách nhấn phím số tương ứng với chỉ số của menu

Nhấn ESC để thoát, chương trình sẽ xuất hiện một thông điệp:

”Bạn có muốn lưu lại những thay đổi không ? (Nhấn ‘c’ để đồng ý)” Khi đó, nếu muốn lưu lại thì nhấn ‘c’ ngược lại thì nhấn phím bất kỳ

1 Liệt kê toàn bộ:

Liệt kê tất cả các Đoàn viên được phân chia rõ ràng theo từng Chi Đoàn

2 Liệt kê một Chi Đoàn:

Muốn liệt kê Chi Đoàn nào thì nhấn phím số tương ứng với chỉ số của Chi Đoàn đó

3 Liệt kê cán bộ Đoàn:

Liệt kê tất cả các Đoàn viên là cán bộ

4 Liệt kê Chi Đoàn còn thiếu phí:

Liệt kê tất cả các Chi Đoàn chưa đóng đủ phí Đoàn tính đến thời điểm đang xét

5 Tìm theo mã số:

Hiển thị thông tin của Đoàn viên có mã số cần tìm Mã số phải được nhập chính xác

6 Tìm theo họ tên:

Hiển thị thông tin của Đoàn viên có họ tên cần tìm Chương trình sẽ liệt kê tất cả các Đoàn viên có họ tên chứa chuỗi họ tên vừa nhập

7 Thêm Đoàn viên:

Thêm một Đoàn viên vào một Chi Đoàn được chỉ định, nhập tất cả các thông tin của Đoàn viên cần thêm

8 Xóa Đoàn viên:

Xóa một Đoàn viên trong Chi Đoàn được chỉ định với cách xác định là chỉ số của Đoàn viên đó trong Chi Đoàn

9 Sửa Đoàn viên:

Cập nhật lại thông tin của một Đoàn viên trong Chi Đoàn được chỉ định với cách xác định là số thứ tự của Đoàn viên đó trong Chi Đoàn

Lưu ý chung: khi được hỏi là có muốn xuất thông tin ra file không, nhấn 'C' để chấp nhận hoặc phím bất kỳ để hủy Nếu chấp nhận xuất thông tin, sẽ có dòng nhắc nhập tên file

muốn xuất ra hoặc nhấn Enter để chấp nhận tên mặc định Tên mặc định là tên của Chi Đoàn

hoặc tên Đoàn viên tương ứng

Trang 14

CHƯƠNG IV: KẾT QUẢ ĐẠT ĐƯỢC

I TÍNH NĂNG - HẠN CHẾ - NGUYÊN NHÂN

1 Tính năng:

Hoàn thành cơ bản yêu cầu của hệ thống quản lý Đoàn viên

Demo có giao diện đơn giản dễ sử dụng

2 Hạn chế:

Giao diện còn thô sơ

Có thể sẽ còn nhiều lỗi phát sinh trong quá trình nhập liệu do không xử lý các tình huống ngoại lệ

3 Nguyên nhân:

Do đây là lần đầu tiếp cận với một project tương đối lớn và do kiến thức về lập trình nói chung và lập trình hướng đối tượng nói riêng còn hạn hẹp

Thời gian thực hiện tương đối hạn chế

II HƯỚNG PHÁT TRIỂN – THAY CHO LỜI KẾT

Với xu thế ngày nay, việc trình ứng dụng sử dụng cửa sổ Console đã lạc hậu nên chương trình sẽ không thể đem ra sử dụng được ngay Tuy nhiên, với sự hổ trợ đắt lực của các ngữ trình hướng đối tượng cùng với việc tạo cửa sổ Winform một cách tự động sẽ dể dàng giúp chúng ta thiết kế chương trình trong một diện mạo thân thiện và thiết thực một cách nhanh chóng

Dù sao thì đây cũng là một bài tập lớn giúp cho chúng tôi, những người còn trong giai đoạn tập sự đủ hình dung ra việc thiết kế một chương trình lớn với sự hổ trợ của hướng đối tượng là như thế nào và đó là điều kiện tiên quyết trong con đường tiến bộ của thế giới nói chung và toàn thể sinh viên nghiên cứu chuyên ngành tin học nói riêng



Ngày đăng: 25/04/2013, 19:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w