Project Proposal On Online Notice Board
Project Proposal On Online Notice Board
Project Proposal On Online Notice Board
Abstract
This document is a proposal for the Online Notice Board System as the Minor Project for the partial fulfillment of the course of Bachelors in Computer Engineering, Third Year Second Part (III/II). The system will primarily be web-based so as to facilitate easy access to all clients regardless of their location or the type of machine. Apart from this, it will also have supplementary application programs (commonly referred to as Apps) for todays leading operating platforms like Android and Windows 8. These applications be very user-friendly and will have features like auto-update and push messaging for user convenience. This project will teach us the practical implementation of object-oriented programming. Moreover, this will also provide us first-hand experience about several important fields of a Computer Engineer, like Web Development and Application Development. It will also help us learn programming languages like C# and Java, webdevelopment scripts like PHP, XAML and CSS and DBMS like MySQL. Apart from these, we strongly believe going through this project will make us more competent for similar future tasks and enhance our technical and other abilities.
Acknowledgement
First and foremost, we would like to thank Mrs. Pranita Upadhyaya for instructing us about the methods of conducting feasibility and requirement studies as well as system designing. We would also like to thank Mr. Krishna Kandel, the Project Supervisor and Mr. Sudeep Shakya, the Third Year Coordinator for their continuous guidance and support. Furthermore, we would like to express our deepest gratitude to Mr. Manish Aryal, Head of Department of Computer Engineering, for his never-ending support, moral or otherwise. Finally, we would like to collectively thank any and all people that have helped us in any manner with respect to this proposal.
ii
Table of Contents
Abstract ........................................................................................................................... i Acknowledgement .........................................................................................................ii List of Figures ................................................................................................................ v List of Symbols ............................................................................................................. vi List of Acronyms / Abbreviations................................................................................vii 1. 2. 3. 4. Project Introduction ............................................................................................... 1 Problem Statement ................................................................................................. 1 Need ....................................................................................................................... 1 Aims and Objectives .............................................................................................. 2 4.1 4.2 5 6 7 8 9 Primary Aim .................................................................................................... 2 Objectives ........................................................................................................ 2
Preliminary Requirements Estimate ...................................................................... 2 Suggested Deliverables .......................................................................................... 2 Process Model ........................................................................................................ 3 Visibility Plan ........................................................................................................ 3 Feasibility Analysis ................................................................................................ 3 9.1 9.2 9.3 9.4 9.5 9.6 9.7 Technical Feasibility ....................................................................................... 3 Schedule Feasibility ........................................................................................ 3 Economic Feasibility ....................................................................................... 3 Operational Feasibility .................................................................................... 4 Legal Feasibility .............................................................................................. 4 Religious-Cultural Feasibility ......................................................................... 4 Socio-Political Feasibility ............................................................................... 4 Performance Risks ....................................................................................... 5 Safety Risks ................................................................................................. 5 Security Risks .............................................................................................. 5
10
11 12 13 14
Background Theory ............................................................................................... 5 Literature Review................................................................................................... 6 Application Area .................................................................................................... 6 System Features ..................................................................................................... 6 14.1 14.2 14.3 File Sharing.................................................................................................. 6 Push Messaging ........................................................................................... 7 Database and UI Auto-Update ..................................................................... 7 Major Functional Requirements .................................................................. 8 iii
15
15.2 15.2.1 15.2.2 15.2.3 15.2.4 15.3 15.3.1 15.3.2 15.3.3 15.3.4 16 16.1 16.2 16.2.1 16.2.2 16.2.3 16.3 16.3.1 16.3.2 16.3.3 16.4 16.5 16.6 17 18 19
External Interface Requirements ................................................................. 8 User Interfaces ......................................................................................... 8 Hardware Interfaces ................................................................................. 8 Software Interfaces .................................................................................. 8 Communications Interfaces ..................................................................... 8 Other Nonfunctional Requirements ............................................................. 9 Performance Requirements ...................................................................... 9 Safety Requirements ................................................................................ 9 Security Requirements ............................................................................. 9 Software Quality Attributes ..................................................................... 9 Block Diagram Representation .................................................................. 10 Usage Modeling ......................................................................................... 11 User Profile ............................................................................................ 11 Use Case Diagram.................................................................................. 11 Use Case Analysis.................................................................................. 12 Data Modeling ........................................................................................... 13 Data Dictionary ...................................................................................... 13 Data Description .................................................................................... 16 Entity Relation (ER) Diagram ............................................................... 19 Context Diagram........................................................................................ 20 Object Diagrams ........................................................................................ 21 Class Diagram............................................................................................ 23
iv
List of Figures
Figure 16-1 Block Diagram of the System .................................................................. 10 Figure 16-2 Use Case Diagram .................................................................................... 11 Figure 16-3 ER Diagram .............................................................................................. 19 Figure 16-4 Context Diagram (Level 0 DFD) ............................................................. 20 Figure 16-5 Object Diagram I ...................................................................................... 21 Figure 16-6 Object Diagram II .................................................................................... 22 Figure 16-7 Class Diagram .......................................................................................... 23 Figure 18-1 Gantt Chart ............................................................................................... 24
List of Symbols
S. No. 1. 2. 3.
Symbol C#
Remarks
vi
Acronym PHP CSS XAML OS SQL SDLC LSM IDE MIC PC UI IP DFD ER app
Full Form Hypertext Preprocessor Cascading Style Sheet Extensive Application Markup Language Operating System Structured Query Language Software/System Development Life Cycle Linear Sequential Model Integrated/Interactive Development Environment Microsoft Innovation Centre Personal Computer User Interface Internet Protocol Data Flow Diagram Entity Relation(ship) Application Software
vii
1. Project Introduction
The Online Notice Board System is intended for colleges and institutions where information and file sharing on regular basis plays vital role in the performance. The proposed system will act as an online notice board which will make use of the modern communication methodologies and techniques for information flow. The system is planned to consist of various useful features for the said purpose. The proposed system aims to create a platform for issuing notice, sharing information and files between the members of the institution. Different users shall have different level of access to the content. In the context of a college, there shall be four users of the software administrator, student, teachers and guest. The administrator shall be able to issue notice, upload files, and view students activities on the software. The teacher shall be able to issue notice, upload files (on a general basis or to a particular classroom), and view result and students activities. The student shall be able to upload/download files, submit to faculty/teacher and view result. A guest will simply be able to view public notices.
2. Problem Statement
In todays world, everything is digitalized and paper is being used less and less every day. How often has it happened that we miss some important notice because we have to go to a wall and read the notice there? There are dedicated file hosting sites and clouds used by some institutions, but there is a definite need for a dedicated noticeboard system. The proposed system is such a system.
3. Need
Almost all leading institutions, excepting a few, currently lack an electronic noticeboard system. Though some have taken the aid of third-party websites like Facebook to interact, it comes at the cost of mixing ones social life with professional. Keeping this in mind, educational institutes will find this software extremely useful. The Online Notice Board System is a web- based software, with supplementary application software, that aims to aid the institutes by providing such digital noticeboard.
4.2
Objectives
To develop supplementary apps for the said noticeboard. To create a user-friendly interface. To develop and manage a proper database system to ensure data safety and proper management. To allocate various levels of users and have proper authentication. To prepare proper and detailed system documentation.
6 Suggested Deliverables
A web-based online noticeboard system A Windows 8 App An Android App Proper system documentation
7 Process Model
The Incremental model has been deemed the best suited for the SDLC process and shall be followed. Using this model will have the benefit over the LSM in the sense that it will inherit the quality of the LSM but exclude the rigidity. Furthermore, the feedback process of Process Iteration model will also be available in the incremental model. Another contributing factor in choosing this model is the short period of time available to make a working initial version of the system.
8 Visibility Plan
The group members will be in contact timely and will focus on one area at a time as all are beginners. The phases will be followed sequentially with equal contribution of group members in each phase. The group members will be in contact through regular meetings and social platforms.
9 Feasibility Analysis
9.1 Technical Feasibility
The software is to be developed using C#, Java, PHP, CSS, XAML and MySQL, which are all readily available. Also, the team members have sufficient programming and related knowledge which will enable us to learn and adapt to these specific languages and platforms easily. Thus we can see that the project is technically feasible.
9.2
Schedule Feasibility
The development process is planned to reach designing phase till the end of the semester, which gives us a windows of roughly six months. Although this may be a tight fit for a perfect, final system, as the Incremental Model is being followed in the SDLC, this is enough time to develop a working first version of the software.
9.3
Economic Feasibility
The program uses programming languages whose IDE are freeware. One exception to this is the Visual Studio 2012, which is needed for the supplementary app development. But this software is provided free of cost by 3
4 the MIC Nepal. Further costs for this project are the costs of online domain, space and database and registering and uploading the apps in the respective market, which is expected to be covered by the college. The remaining cost is that of training the developer team in the particular language and/or platform, which is minimal. So the project is economically feasible.
9.4
Operational Feasibility
The software requires very little specific environment to run. Only the apps require their environment to run, i.e. Windows 8 and Android. As a staggering majority of the PCs in the world are based on Windows OS and many mobile devices operate on Android, this cannot really be considered a need. The software will be extremely user-friendly, removing the need for specifically trained employees. Similarly, the cost of buying the rights and the maintenance cost will not be very high for the client. So the software is feasible for operation.
9.5
Legal Feasibility
The developers will obviously use no illegal means or methodologies in the development process of the system. The software will be built and operated abiding by the Cyber and other applicable laws prevailing in the country enforced by the Government of Nepal. The user will be held responsible for only the data they enter to the system. In case of international users, they will be subjected to the applicable laws in that country. So the software has no legal barrages.
9.6
Religious-Cultural Feasibility
This system will never ask the user of their religion or cultural origin and ergo will not act in any way whatsoever that may hurt the sentiments of any cultural or religious group. The product development or operation will never undergo any process that might be unacceptable to a specific religion or culture. The software itself will be generic and impartial. So no religious or cultural issues should disrupt the system.
9.7
Socio-Political Feasibility
This software, being a simple notice board system, will by no means cause any alarms or questions in the society nor will it challenge any existing social conventions. Further, the software will not contradict or interfere in any way with the political happenings. The software will not be used as a means of campaign or promotion or a specific political or social organization. So the software is socially and politically feasible.
10 Risk Analysis
10.1 Performance Risks
The software performance may be hampered due to various factors like unresponsive UI and failure to execute given command(s). One of the factors for these can be a large-sized front end, which can be corrected by making a lightweight UI. The other reason for this can be poor internet connection or client-side faults, and are outside the control of the developers. The use of a middleware also hampers the performance so it is advisable to design the system such that front and back end can communicate directly.
11 Background Theory
In todays world, everything is digitalized and paper is being used less and less every day. How often has it happened that we miss some important notice because we have to go to a wall and read the notice there? The Online Notice Board System is mainly intended for colleges and institutions where information and file sharing on regular basis plays vital role in the performance. The proposed system will act as an online notice board which will make use of the modern communication methodologies and techniques for information flow. The system is planned to consist of various useful features for the said purpose. The Online Notice Board System is a web- based software, with supplementary application software, that aims to aid the institutes by providing such digital noticeboard. 5
12 Literature Review
Almost all leading institutions, excepting a few, currently lack an electronic noticeboard system. Though some have taken the aid of third-party websites like Facebook to interact, it comes at the cost of mixing ones social life with professional. Keeping this in mind, educational institutes will find this software extremely useful. There are dedicated file hosting sites and clouds used by some institutions, but there is a definite need for a dedicated noticeboard system. The proposed system is such a system.
13 Application Area
The proposed system is currently mainly intended to be applied in educational institutes as an online noticeboard and file sharing system. Further applications of this system may include any type of office or business organizations where computers with working internet connection is available (which is pretty much every organization.)
14 System Features
14.1 File Sharing
Description:
This will allow primary users to share files. These files may range from simple text or image notices to files of other formats. The pre-loaded notices and files could be accessed without an internet connection.
Stimulus/Response Sequences:
Files can be downloaded by clicking a single download button which triggers the download event. Any file to be uploaded can be browsed and then uploaded using another button event.
Functional Requirements:
REQ-1: Access to the internet REQ-2: Required user authentication
Stimulus/Response Sequences:
A change in the value in the database, caused by a user uploading a notice from his client side, will trigger an event which in turns triggers the push messaging event across all users who are set to receive push message for that particular notice and/or uploading user in question.
Functional Requirements:
REQ-1: Access to the Internet REQ-2: Push Messaging Supporting Device REQ-3: Proper user authentication
Stimulus/Response Sequences:
Any notice uploaded by any of the users triggers an event to append it to the database and update the UI accordingly across all the clients with users of the same class.
Functional Requirements:
REQ-1: Access to the internet REQ-2: Proper User Authentication
REQ-3: An easy and flexible database management system
15 Requirement Analysis
15.1 Major Functional Requirements
The system should meet the following functional requirements: The system should be able to manage and store notices and files. The system should provide appropriate UI for notice and file upload and download. The system should be able to recognize and authenticate several levels of users. The system should be able to manage and maintain a proper database. The system should be easily operable and user friendly. The apps should be able to work seamlessly with the web server. The apps should be able to provide push messaging in real time, whenever available.
10
16 System Modeling
10
11
11
12
Student
Post Notice
Login
Teacher
Post Notice
Will get access to the Online Notice Board System the notice will be displayed and pushed to the mobile system file will be uploaded to the database
Login
Post Notice Admin Upload File View Notice Monitor work Guest View Notice the size of the file should not overflow
Will get access to the Online Notice Board System the notice will be displayed and pushed to the mobile system file will be uploaded to the database
12
13
Faculty Room
auto_increment YES NO NO NO NO
primary_key YES NO NO NO NO
Admin
Attribute adminID fullName userName password email phoneNO dataType alphanumeric varchar char md5 char alphanumeric defaultValue NONE NONE NONE NONE mail@keckist.edu.np NONE required YES YES YES YES YES NO auto_increment YES NO NO NO NO NO primary_key YES NO NO NO NO NO
Class Room
Attribute roomID roomName NOticeList fileList teacherList dataType alphanumeric alphanumeric alphanumeric alphanumeric alphanumeric defaultValue NONE NONE NONE NONE NONE required YES YES YES YES YES auto_increment YES NO NO NO NO primary_key YES NO NO NO NO
13
14
File
Attribute fileID uploadDate expireDate expireOrNOt uploader destination fileFormat dataType alphanumeric timestamp timestamp boolean alphanumeric alphanumeric char defaultValue NONE NONE NONE NONE NONE NONE NONE required YES YES YES YES YES YES YES auto_increment YES NO NO NO NO NO NO primary_key YES NO NO NO NO NO NO
Notice
Attribute NOticeID issueDate expireDate expireOrNOt issuer destination NOticeFormat dataType alphanumeric timestamp timestamp boolean alphanumeric alphanumeric char defaultValue NONE NONE NONE NONE NONE NONE NONE required YES YES YES YES YES YES YES auto_increment YES NO NO NO NO NO NO primary_key YES NO NO NO NO NO NO
Student
Attribute studentID fullName userName password profile NoticeList fileList classList email phoneNO dataType alphanumeric varchar char md5 varchar alphanumeric alphanumeric alphanumeric char alphanumeric defaultValue NONE NONE NONE NONE NONE NONE NONE NONE mail@keckist.edu.np NONE required YES YES YES YES NO NO NO NO YES NO auto_increment YES NO NO NO NO NO NO NO NO NO primary_key YES NO NO NO NO NO NO NO NO NO
14
15
Teacher
Attribute TeacherID fullName userName password post profile NoticeList fileList classList facultyID email phoneNO dataType alphanumeric varchar char md5 char varchar alphanumeric alphanumeric alphanumeric alphanumeric char alphanumeric defaultValue NONE NONE NONE NONE Lecturer NONE NONE NONE NONE NONE mail@keckist.edu.np NONE required YES YES YES YES YES NO NO NO NO YES YES NO auto_increment YES NO NO NO NO NO NO NO NO NO NO NO primary_key YES NO NO NO NO NO NO NO NO NO NO NO
Corridor
Attribute NoticeList dataType alp defaultValue NONE required YES auto_increment NO primary_key NO
15
16
FacultyRoom
Attribute roomID roomName noticeList fileList teacherList description provides unique identification symbol to room provides name to the room list of notices to be displayed in the room list of files to be displayed in the room list of teachers associated with the room example EX ElectronicsSixtySeven 067A020212R, 068C010110B 067A022212R, 068C041213B [EXP001, EXF021, CTP014]
Admin
Attribute adminID fullName userName password email phoneNo description provides unique identificaton symbol full name of the person user name to login password to login email id of the person phone number of the person example adm001 Dakshina Shrestha dakshina_kec $P$BCfMJQ2h74SsHa.uqR903JHNk8kOCn/ mail@keckist.edu.np 9841931178
ClassRoom
Attribute roomID roomName noticeList fileList teacherList studentList description provides unique identification number to the room provides name to the room list of notices to be displayed in the room list of files to be displayed in the room list of teachers associated with the room list of students belonging to the room example 067BCTA ComputerSixtySevenA 067A020212R, 068C010110B 067A022212R, 068C041213B [EXP001, EXF021, CTP014] 067bct001. 067bct002
16
17 File
Attribute fileID uploadDate expireDate expireOrNot uploader destination fileFormat dataType provides unique identification symbol to file date of upload of file date of expiry of file if the file expires or not id of the uploader of file id of the destination of file image or text defaultValue 067C121212R 12-12-12 12-12-13 yes 067bct001 068BCTB pdf
Notice
Attribute noticeID issueDate expireDate expireOrNot issuer destination noticeFormat description provides unique identification symbol to notice date of issue of notice date of expiry of notice if the notice expires or not id of the issuer of notice id of the destination of notice image or text example 067C121212R 12-12-12 12-12-13 yes 067bct001 EX text
Student
attribute studentID fullName userName password profile noticeList fileList classList email phoneNo a short description of the person a list of all notices the person has uploaded a list of all files the person has uploaded a list of all classes the person belongs to mail id of the person phone number of the person description provides a unique identification symbol for the student full name of the student example 067BCT004 Anurag Acharya anurag_ach $P$BCfMJQ2h74SsHa.uqR903JHNk8kOCn/ Psycho 067A020212R, 068C010110B 067A022212R, 068C041213B 067BCTA anurag.acharya@hotmail.com 9841465878
17
18 Teacher
Attribute TeacherID fullName userName password post profile noticeList fileList classList facultyID email phoneNo description provides unique identification symbol full name of the teacher username for login password for login post of the teacher a short description of the person alphanumeric alphanumeric alphanumeric alphanumeric char alphanumeric example bct001 Manish Aryal manish_aryal $P$BCfMJQ2h74SsHa.uqR903JHNk8kOCn/ hod (Not Available) 067A020212R, 068C010110B 067A022212R, 068C041213B [067BCTA, 069BCEC] EX mail@keckist.edu.np 01-12345678
Corridor
Attribute noticeList
example
067C121212P
18
19
19
20
20
21
21
22
22
23
23
24
17 Cost Estimation
The following factors will draw financial expenses for the proposed system to be a fully-functional software: Domain Name and Web Space cost Cost for application registration on respective markets Platform and language specific trainings and courses
18 Gantt Chart
The following is a Gantt chart representing the scheduling of the project for the initial version of the software (V.1.0.0).
24
25
19 References
Feasibility Analysis Guide, Department of Computer Science, Cornell University
http://www.cs.cornell.edu
Drewry, Tony, Logical Data Structures (LDSs) - Getting started, University of West of England, 2005 http://www.cems.uwe.ac.uk/tdrewry/lds.htm Prof. H. Levent AKIN, Department of Computer Engineering, Boazii University, Istanbul, Turkey http://www.cmpe.boun.edu.tr/~akin/ IEEE Recommended Practice for Software Requirement Specifications, IEEE Standard 830ISM4331 IEEE Recommended Practice for Software Design Descriptions, IEEE Standard 10161998
25