CONTENTS
Part I :
CHAPTER 1: SYSTEM INTRODUCTION
1.1. Scenario 1
1.2. The reason for choosing tools 2
1.3. Project schedule 3
CHAPTER 2: SYSTEM ANALYSIS
2.1. Function Diagram ( FD) 5
2.2. Data Flow Diagram (DFD) 6-18
CHAPTER 3: SYSTEM DESIGN
3.1. Entity Relationship Diagram (ERD) 19
3.2. Input Design 20-25
3.3. Output Design 26
3.4. Program Design (Flow Chart) 27-35
CHAPTER 4: PROGRAM TESTING
4.1. Testing Plan 36
4.2. Test Data 37-38
CHAPTER 5: OPERATING INSTRUCTIONS
5.1. Operating Instructions 39
5.2. Hardware Requirement 39
5.3. Software Requirement 39
CHAPTER 6: CONCLUSION
6.1. Scope and Limitation 40
6.2. Future Development Tendency 40
Part II :
1. Scenario 41
2. Questions 41
2.1 Question 1 41
2.1.1 Definition of link list 41-42
2.1.2 Flow chart 43-44
2.1.3 Code 45-46
2.2 Question 2 47
2.2.1 Stack 47
2.2.2 Flow chart 48
2.2.3 Code 49-50
50 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2029 | Lượt tải: 4
Bạn đang xem trước 20 trang tài liệu Đề tài Student Management System, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Part I:
Chapter1
SYSTEM INTRODUCTION
1.1.Scenario
Hanoi University of Technology (HUT) was established in 1956.Over nearly half century, HUT has been continuously growing with thousands of students each year. Formerly, they managed all the information of students by manual. It took so much time but the effect is not good because the accuracy was low, cost high expense. So the Managers decide to create a system to manage information about students.
The information system must have the following requirements :
Users must log on to use the program .Accounts of users are stored in the database.
Users can Input Data,Edit Data of students.
User can search information of Students and Marks by many criteria:
Search Students by Student Codes.
Search Students by Student’s Date of birth .
Search Students by Student’s name.
Search Marks by Student’s codes.
Search Marks by Class codes.
Search Marks by Student names.
Search Marks by Student’s passed marks on each subject on each examination.
User can view information about students and their marks.
List all sorted information of students with their marks on each subject.
List all sorted exam marks and information of students with their marks on each subject exam.
User can create the following reports :
Statistical report on Student’s average mark on each class. The report must display the following information :
Student Codes.
Class Codes.
Student’s Full name.
Student’s Date of Birth.
Student’s sex.
Student’s average marks.
Average of student’s marks in each class.
Statistical report on average of student’s marks on each faculty.The report must display the following information :
Faculty information.
Student code.
Class code.
Student’s full name.
Student’s date of birth.
Student’s sex.
Student’s average marks.
Student’s average marks on each faculty.
6. User can back up and recovery the database.
1.2 The Reason for choosing tools:
Database: Microsoft Access
Microsoft Access is an easy to use Relational Database Management System that helps you to manage and locate your records in a faster manner. The data is organized in a number of cross-referenced tables in order to reduce duplication, so it is easy to find, analyze, maintain and protect data.
Access is popular development platform in large measure because it is the part of the Microsoft Office suite, easy to set up and use.
In our project, we use Microsoft Access because the “ Student Management System” is not a very large program and not appropriate to other Database Management System more complexible like SQL, Oracle… In addition, Microsoft Access keeps data safely and effectively. Thus, it’s the most suitable RDBMS to develop our program.
Programming Language: VB.Net
VB.NET is a strong language to develop the interface, easy to write code, and easy to understand.
VB.NET is powerful enough, expressiveness and flexibility.
VB.NET is better mapping between business process and implementation.
It’s extensive interoperability
Garbage collection relieves the programmer of the burden of manual memory management.
Variables are type-safe.
Painting Tool: SmartDraw
SmartDraw’s compatible with all operating systems: Win 2000, XP, Vista and very easy to install.
SmartDraw is the quick and easy way to create project management charts such as gantt charts, pert charts, flowcharts, organisational charts, time lines, decision matrices, presentations and more.
Save time, manage more effectively.
Build perfectly formatted graphics with simple commands.
1.3.Project schedule:
Task #
Planned Task
Time to Accomplish
Contents
1
System requirements analysis
Octorber 19th - Octorber 31th
Complete Chapter 1(Introduction to the system) included :
+ Scienario
+ Reason for choosing tools.
(analyses user needs and user requirements)
2
System analysis and design - Part 1
November 1st -
November l4th
Complete Chapter 2(System analysis and design part 1)included:
+ Context Diagram
+ Function hierarchy diagram
+ D.F.D
+ E.R.D
3
System analysis and design - Part 2
November 15th -
November 22th
Complete Chapter 2(System analysis and design part 2)included:
+ Fltow Chart
4
System Development
November 23th-
March 19th
Converts the designs into the complete information system includes acquiring and installing system's environment; creating and testing databases(test files, coding, compiling....)
5
Integration and Test
March 20th -
April 4th
Demonstrates that developed system conforms to requirements as specified in the Functional Requirements Document.(includes implementation preparation and resolution of identified problems)
6
Complete Project and Submit
April 5th -
April 29 th
+ Complete all problems, print documents and Burn disks.
+ Prepare for presentation.
Chapter2
SYSTEM ANALYSIS
1. Function Diagram ( FD )
Figure 1: Function Diagram for Student Management System
2. Data Flow Diagram ( DFD )
DFD show how data moves and changes through an information system in a graphical top-down fashion. System analysis use DFD, often referred to as DFDs to produce a logical model, or essential, model of information system in a simple, direct way. DFD are not used to show the logic of a program or any detail processing logic.
DFD support four main activities:
+ Analysis: DFD is used to determine requirements of users.
+ Design: DFD is used to map out plan and illustrate solutions to analysts and users while designing a new system.
+ Communication: One of the strength of DFD is its simplicity and ease to understand to analysts and users.
+ Documents: DFD is used to provide special description of requirements and system design.
There are four major components of DFD:
+ The process: The process shows a part of the system that transforms inputs into outputs.
+ Data flow: The flow is used to describe the movement of information from one part of the system to another.
+ Data store: The store is used to model a collection of data packets at rest
+ External factors: External factors can be a person, a group of persons or an organization that are not under the studying field of the system, but has certain contact with the system.
2.2.1 Context Diagram:
The context diagram is the first step in constructing a set of data flow diagram for an information system that is to draw data flow diagram (DFD).
A con text diagram is a data flow diagram that shows the boundaries of the information system. The context diagram is a top-level view of the information system.
CD is a data flow diagram that shows the boundaries of the information systems. CD is a top-level view of the information
Figure 2: Context Diagram for Student Management System
2.2.2. DFD Level 0 for Student Management System:
Figure 3: DFD level 0 for Student Management System
2.2.3. DFD Level 1 for Admin Tool:
Figure 4: DFD Level 1 for Admin Tool
2.2.4. DFD Level 1 for Student Management function:
Figure 5: DFD Level 1 for Student Management function
2.2.5. DFD Level 1 for Subject Management Function:
Figure 6: DFD Level 1 for Subject Management Function
2.2.6. DFD Level 1 for Mark Management Function:
Figure7: DFD Level 1 for Mark Management Function
2.2.7. DFD Level 1 for Report Function
Figure 8: DFD Level 1 for Report Function
2.2.8. DFD Level 2 for Admin Tool Management:
Figure 9: DFD Level 2 for Admin Tool Management
2.2.9. DFD Level 2 for Searching Student:
Figure 10: DFD Level 2 for Searching Student
2.2.10. DFD Level 2 for Searching Subject:
Figure 11: DFD Level 2 for Searching Subject
2.2.10. DFD Level 2 for Searching Mark:
Figure 12: DFD Level 2 for Searching Mark
Chapter3
SYSTEM DESIGN
1. Entity Relationship Diagram ( ERD )
Figure 3.1: Entiy Relationship Diagram of Student Management System
2. Input Design
2.1.Record specification
Student Management System has 4 tables to store all needed information. The record specification of these tables as following:
TblStu_Sub :
Field Name
Field Type
Width
Description
Student_Code
Text
10
Student code
Subject_Code
Text
10
Subject code
Take_Time
Integer
The take time
Mark
Integer
Mark of student
TblStudents :
Field Name
Field Type
Width
Description
Student_Code
Text
10
Student code
Class_Code
Text
10
Class code
Faculty_Name
Text
35
Name of faculty
Student_Name
Text
35
Name of student
Student_DOB
Date/Time
Student’
Student_Sex
Sex of student
Current_Address
Text
50
The address of student
Native_Place
Text
50
Place where student was born
Contact_Address
Text
50
The contact address of student
Father_Name
Text
35
The name of student’s father
Father_Job
Text
35
The job of student’s father
Mother_Name
Text
35
The name of student’s mother
Mother_Job
Text
35
The job of student’s mother
TblSubject :
Field Name
Field Type
Width
Description
Subject_Code
Text
10
Subject code
Subject_Name
Text
20
Subject name
Term
Text
10
Term
Subject_Abbreviation
Text
5
Abbreviation of the subject
No_Of_Credit
Number
Number of credit of the subject
TblUsers:
Field Name
Field Type
Width
Description
UID
Text
50
UID
PWD
Text
50
PWD
IsAdmin
Yes/No
2.2. Input Form Design:
a, Form Log In:
b, Form main:
c, Form User:
d, Form Backup and Recovery:
e, Form Student Manager:
f, Form Subject Manager:
g, Form Mark Manager:
h, Form Report:
3. Output Design
3.1. Report
3.1.1 Report of average mark on each class
3. 3.1.2 Report of average mark on each faculty
4. Program Design ( Flow Chart )
Flow Chart ( FC ):
Flow chart is an entrustment to show algorithms. It is based on some image:
Terminator
Input, Output Data
Decision
Process data
Data flow
4.1. Flow Chart for Login Function :
Figure 3.2: Flow Chart for Login Function
4.2. Flow Chart for Adding Function :
Figure 3.3: Flow Chart for Add Function
3.4.3. Flow Chart for Editing Function :
Figure 3.4: Flow Chart for Edit Function
3.4.4. Flowchart for Deleting Function :
Figure 3.5: Flow Chart for Delete Function
3.4.5. Flow Chart for Searching Function :
Figure 3.6: Flow Chart for Search Function
3.4.6. Flow Chart for Report Making Function :
Figure 3.7: Flow Chart for Report Function
3.4.7. Flow Chart for Backup Function :
Figure 3.8: Flow Chart for Backup Function
3.4.8. Flow Chart for Recovery process
Figure 3.9: Flow Chart for Restore Function
Chapter 4
Program Testing
4.1. Test Plan
Purpose of Test
Test Data
Expected Result
Test for open all input and output the records
Valid/Invalid Data
All input and output records are open
Test for read the record
Valid/Invalid Data
All the records are read and display the data that the record contained
Test for modifying the record
Valid/Invalid Data
All input are written and saved to the specific records
Test for deleting the records
Valid/Invalid Data
Particular record is deleted and refresh the table
Test for the limitation of data
Valid/Invalid Data
To find out the limitation of data in the real world
Whole program testing
Valid/Invalid Data
Whole program is run completely with all test data
4.2. Test Data
Test data is a valid checking system of data, so we used some data for the program and have found what data is valid or invalid.
No
Field Name
Table
Valid Data
Invalid Data
1
Student_Code
TblStu_Sub
S0001
> 10 characters
2
Subject_Code
TblStu_Sub
U001
> 10 characters
3
Take_Time
TblStu_Sub
4
Mark
TblStu_Sub
78
>3 characters
5
Class_Code
TblStudents
C01
>10 characters
6
Faculty_Name
TblStudents
> 35 characters
7
Student_Name
TblStudents
Mary
> 35 characters
8
Student_DOB
TblStudents
6/22/1986
dd/mm/yyyy
9
Student_Sex
TblStudents
Yes/no
Not boolean
10
Current_Address
TblStudents
12C House, CA
> 50 characters
11
Native_Place
TblStudents
CA
> 50 characters
12
Contact_Address
TblStudents
12C House, CA
> 50 characters
13
Father_Name
TblStudents
Peter
> 35 characters
14
Father_Job
TblStudents
Engineer
> 35 characters
15
Mother_Name
TblStudents
Lynn
> 35 characters
16
Mother_Job
TblStudents
Nurse
> 35 characters
17
Subject_Name
TblSubject
Network +
> 20 characters
18
Term
TblSubject
19
Subject_Abbreviation
TblSubject
NET
>5 characters
20
No_Of_Credit
TblSubject
25000
21
UID
TblUsers
22
PWD
TblUsers
Testing123
23
IsAdmin
TblUsers
Yes/no
Chapter 5
Operating Instruction
5.1. Operating Instructions.
To run program, you need to install the following package:
Microsoft Windows Operating System
Microsoft .Net Framework 1.1
5.2. Hardware Requirement.
Components
Minimum
Recommended
CPU
Pentium III 500MHz
Pentium IV or higher
Disk Capacity
10MB
20MB
RAM
256MB
512MB or higher
Resolution
800x600
1024 x 768
Keyboard
Yes
Yes
Mouse
Yes
Yes
CDROM
No
Yes
5.3. Software Requirement to modify the source code:
Microsoft Windows Operating System (Windows 98 or later)
Microsoft Visual Studio 2003 (or later)
Chapter 6
Conclusion
6.1. Scope and Limitations.
Scope
Light – Effective - Friendly
Manage information of Student, Subject, and Mark in a school
This program requires a small capacity, easy to install.
Have all function required.
Limitations
Not support networking, just offline mode
Only run on Windows OS.
Limitation of Microsoft Access database file.
Not support multi-languages
6.2. Future development tendency.
We hope that we can develop this system better, make it more effectively, add more functions, and design a more attractive interface.
Management with images
Support networking to help administrator or user can manage all information anywhere.
Use larger Database management system (DBMS)
Part II:
1.Scenario:
Question 1. Implement a list using link list and do the following steps”
Adding 15 elements into the link and display the list on screen
Deleting an element from the list and display the list after delete that element on screen.
Insert a new element according to right order into list and display the list on the screen.
Question 2. Create a stack using array and implement:
The push() operation (Adds an element to the top of the stack)
The pop() operation (removes the element on the top of the stack and returns it)
2. Questions :
2.1 Question 1:
2.1.1 Definition of link list:
Linked lists are among the simplest and most common data structures; they provide an easy implementation for several important abstract data structures, including stacks, queues, hash tables, symbolic expressions, and skip lists.
The principal benefit of a linked list over a conventional array is that the order of the linked items may be different from the order that the data items are stored in memory or on disk. For that reason, linked lists allow insertion and removal of nodes at any point in the list, with a constant number of operations.
On the other hand, linked lists by themselves do not allow random access to the data, or any form of efficient indexing. Thus, many basic operations — such as obtaining the last node of the list, or finding a node that contains a given datum, or locating the place where a new node should be inserted — may require scanning most of the list elements.
Linked lists can be implemented in most languages. Languages such as Lisp and Scheme have the data structure built in, along with operations to access the linked list. Procedural languages, such as C, or object-oriented languages, such as C++ and Java, typically rely on mutable references to create linked lists.
2.1.2 Flow chart :
Add : When you input element into link list, program will question that do you want to add more elements. If you choose “Yes”, you can add many other elements. If you choose “No”, program will display all elements which you added into link list.
Delete:
When program displayed all elements, program will show function menu. You can choose delete function. If you choose delete function, program will display line that you must input element to delete element. When program delete that element, program will display remain elements after deleting.
2.1.3 Code:
namespace Project___Part_1___1
{
class Group_92
{
public LinkedList Hong = new LinkedList();
public void Add()
{
char choice = 'Y';
try
{
do
{
Console.Write("Enter guest name in Thang Loi Hotel : ");
Hong.AddFirst(Console.ReadLine());
Console.Write("Do you want to add more names? [Y/N] : ");
choice = Convert.ToChar(Console.ReadLine());
} while (choice == 'Y' || choice == 'y');
}
catch (Exception objEx)
{
Console.WriteLine("Error : {0}", objEx.Message);
}
}
public void Display()
{
Console.WriteLine("\nList of guest name in Thang Loi Hotel : ");
PrintValues(Hong);
Console.WriteLine("Total number of patients : " + Hong.Count);
}
public bool Remove()
{
string choice;
Console.Write("Enter the name of the patient : ");
choice = Console.ReadLine();
if (Hong.Contains(choice))
{
Hong.Remove(choice);
return true;
}
else
return false;
}
public static void PrintValues(IEnumerable myCollection)
{
foreach (Object obj in myCollection)
Console.Write(" {0}", obj);
Console.WriteLine();
}
}
}
Question 2:
2.2.1 Stack:
Introduce to stack data structure
Stack is a data structure which works based on principle of last in first out (LIFO). In computing world, stack data structure can be applied in many applications such as parsing syntax of expressions, run-time memory management (used in Java virtual machine) and solving search problem.
Stack operations
Push and pop are the operations that are provided for insertion of an element into the stack and the removal of an element from the stack.
LIFO – Last In First Out
LIFO is an acronym which stands for last in, first out. In computer science and queue theory this refers to the way items stored in some types of data structures are processed. By definition, in a LIFO structured linear list, elements can be added or taken off from only one end, called the "top". A LIFO structure can be illustrated with the example of a stack of trays. The last tray to be placed on top is also the first to be taken off the top.
Flow chart:
2.2.3 Code:
namespace Project___Part_1___2
{
class Group_68
{
public Stack Hong = new Stack();
public void Add()
{
char choice = 'Y';
try
{
do
{
Console.Write("Enter guest's in Thang Loi Hotel name : ");
Hong.Push(Console.ReadLine());
Console.Write("Do you want to add more names? [Y/N] : ");
choice = Convert.ToChar(Console.ReadLine());
} while (choice == 'Y' || choice == 'y');
}
catch (Exception objEx)
{
Console.WriteLine("Error : {0}", objEx.Message);
}
}
public void Display()
{
Console.WriteLine("\nList of giest's in Thang Loi Hotel :");
PrintValues(Hong);
Console.WriteLine("Total number of guest : " + Hong.Count);
}
public bool Remove()
{
string choice;
Console.Write("Enter the name of the guest in Thang Loi Hotel : ");
choice = Console.ReadLine();
if (Hong.Contains(choice))
{
Hong.Pop();
return true;
}
else
return false;
}
public static void PrintValues(IEnumerable myCollection)
{
foreach (Object obj in myCollection)
Console.Write(" {0}", obj);
Console.WriteLine();
}
}
}
-------The End------