FLUTE
FLUTE
FLUTE
TECHNOLOGY
FLUTE
Team Members
Name ID
Flute
This Project documentation submitted in partial fulfillment of the requirements for the Degree of
Bachelor of Science in Information Technology.
February 2017
i
Declaration of Originality
We declare that this project is our original work and has not been presented for a degree in any
other university.
This project documentation has been submitted for examination with my approval as university
advisor:
February 2017
ii
ACKNOWLEDGEMENT
First of all, we would like to thank our almighty God, who gives us love, patience, healthy,
wisdom and ability to walk through all the problems and obstacles during the period of our
study.
Our heartfelt appreciation for our advisor Instructor Eyob Wondimkun for his indefatigable
guidance, valuable suggestion, moral support, and constant encouragement in the documentation
part.
Finally but not the least, we would like express our love, thanks, appreciation, and respect for the
ongoing support of our parents and family members, for their continues encouragement and
financial support. And also we would like to thank the teaching staffs of ITSC who have
contributed wholly to the success of this documentation.
iii
ABSTRACT
Flute is a web based system planned to work on the AAiT’s intranet network. The goal of the
project is to solve the existing problem in our campus such as using manual system to announce
the community different activities held on the institute, lack of information and file sharing
mechanism, there is a gap between Instructors and students, staff offices and students. The
designed system will solve such problem by changing a manual system to automated system
and will build an effective information management system to the institute by integrating it on
the campus Intranet network.
The system includes three main modules: The event management module, Discussion module
and file sharing module. using this site every institute’s announcement, conference schedules,
class schedules will be announced, the community can discuss on different issues and also the
community can upload and download educational pdf material which then store on the site.
The system provides question and answer discussion forum for students based on their
department and also it gives a chance to a student to ask any information and question to any
staff office and access it. On the other way the system provides a social media capabilities like
commenting on files and like the information posted on the site.
The community member will be divided into staff member and student and each member will
have its own personal profile. Based on department and section groups will be created to
exchange information.
This application will be developed using PHP programming language for back end or for server
side functionalities, JavaScript, AJAX, HTML, CSS and Bootstrap for front end development
and APACHE and MYSQL for the database.
iv
Table of Contents
List of Figures.............................................................................................................................viii
List of Tables.................................................................................................................................ix
ACRONYMS.................................................................................................................................xi
Chapter 1: INTRODUCTION......................................................................................................1
1.1 Background..........................................................................................................................1
1.7 Scope.....................................................................................................................................9
1.8 Methodology.......................................................................................................................10
2.1 Introduction........................................................................................................................13
2.2 Scope...................................................................................................................................13
v
2.6 User Characteristics..........................................................................................................17
2.11.1 Actors.........................................................................................................................27
vi
2.11.4.15 UC #15: Give comment...........................................................................................38
2.12.1 Performance..............................................................................................................42
2.12.2 Reliability...................................................................................................................43
2.12.3 Availability................................................................................................................43
2.12.4 Security......................................................................................................................43
2.12.5 Maintainability..........................................................................................................43
2.12.6 Portability..................................................................................................................43
vii
3.4.1 Class Diagram.............................................................................................................56
4. Detailed Design.........................................................................................................................61
6.1 Conclusion......................................................................................................................70
6.2 Recommendation...............................................................................................................70
BIBLIOGRAPHY........................................................................................................................72
APPENDIX...................................................................................................................................73
List of Figures
viii
Figure 3.1 Class diagram for Model……………………………...….………….………….……58
Figure 3.3 Login Sequence Diagram.………………………………….………….………….….59
Figure 3.4 Logout Sequence Diagram..……………………………….………….………….…..60
Figure 3.5 Register Sequence Diagram..……………………………….………….………….…61
Figure 3.6 Admin Sequence Diagram.. .……………………………….………….………….…62
List of Tables
ix
Table 4.17: chat class………………………………………..………………………………………. 70
Table 4.18: Attributes description for Chat class………………………………………..…………... 70
Table 4.19: Operation description for Chat class……………………………………….…………… 71
x
ACRONYMS
xi
UC ----------------------- Use Case.
xii
Chapter 1: INTRODUCTION
1.1 Background
This project is one of 2016/17 Final academic project for the graduate class students with B.sc in
information technology form the center of information technology and scientific computing at
AAiT.
Being social animal, we humans have a great desire of living harmoniously, own rules for the
way we should behave as a member of the community. tracing 4/5 centuries back such style as a
result of advancement in technology and industrial revolution were becoming degraded with
differences in working class divisions. Indeed, it was until Tim-Berners Lee invented the web,
which lay the foundation for global connection and access to information.
It is with the web, social medias began to build virtual community and integration among their
members. Facebook, Instagram, link din, YouTube, twitter, online training libraries and some
other Dating sites designed with an intention of being a global community shall not be restricted
with borders.
Here at AAIT we already got LAN network with an always on local servers. The campus
community from securities through college deans usually uses digital appliances like
smartphones, tablets, laptop and desktop computer on their daily basis, which in fact will enable
them access to the LAN of the campus easily and might get informative of what is going on
through internet. The Availability of such appliances and social medias acceptance with in the
community enables the ease of implementation to the project.
As a team we get enthusiastic to bring the campus’s manual systems on hand through a local
LAN. Instructors can create a group/network of his ongoing course and connect with his
students, announce assessments and updates with no need of contacting with class
representatives. post recommendations, share resources, and be able to help them with their
doubts out of class through question and answers. Registrars stuff’s and admins shall use this site
for announcing news, updates upcoming events, public lectures/invited guests and new
clients/customers. The community may share the resources they have with others publically.
1
Implementing this project will cost nothing other than the available LAN infrastructures and
handy devices for accessing the network which in fact is what we almost all have already owned.
The services shall cover only for AAIT as of currently but it of course is scalable and will
support all AAU campuses and research institutions as far as the campuses can connect to the
network.
We believe this project could be advantageous for an upcoming technology like E-learning file
sharing, streaming media like video conferencing and online collaboration with other campuses,
for independently organized events and meetings. Support for integrating AAU with all other
universities and high schools throughout the country in behalf of knowledge sharing. To the
future It shall support educational social media and bring free education to all over the country
like MIT OCW.
2
system there is no system developed to enable communication between users
and the admin
Lack of way for asking help and clarify doubts from their instructors through
the advantage of network: - existing system doesn’t have a way to enable
students/users asking for doubts they face while being remotely shouldn’t
pose restriction.
Lack of social medias/connection: -the system doesn’t have a way user can
create profiles and capable of add friends or connecting with others.
Lack of tweets/posts for the campus community publicly: -the existing system
doesn’t support for such features in which users can poet for what is going on
or what is coming
Lack of providing news feeds, announcements: - despite of having such
system they don’t provide a way to enable all the announcements, upcoming
events and academic schedules or reschedules for students and other users
Lack of users to share what they have with peers: - the existing system
doesn’t support users to upload their files and share additional resources with
other members of the community.
Considering the existing system being manual and tiresome to catchup with new updates the
community needs to have a way to: -
3
Students need to communicate with their course instructors to make the best of
in the course: -they need a way to connect them and capable of asking for helps
when they get trapped with doubts not only from the teachers but also from their
colleagues
Users need a way to connect with the whole community: -users have desires to
have a dynamic way to communicate with their friends in the campus free
When there is a network outage or no internet access users need a way that files,
movies, music etc. accessed from the local server which shall be uploaded by
any interested users
Element Description
The problem of 1.Ease of communication among students with instructors
Affects ... 2. Students who didn’t get the idea of what to do faces difficulties
in this academics.
3. Instructor may not get his students easy unless there is a class or
he/she has to call for the class rep.
And results in ... 1.Loose communication and unclear with each other may be
ddacademic failure too for students.
Benefits of a solution ... 1.instructors will create a group for his/her course and students
fffshall join the group and then.
A. instructor can:
B. Students can:
4
- Ask for their doubts and get clarifications among them and the
dd instructor may help too.
- will get clear with the course and get better understanding of it
Description
And results in ... 1. Other announcement might be added over and hide it
2.might be torn
3.you have to look for it usually or call somebody what is new out
there everyday
Benefits of a solution ... With online news feed/announcements and upcoming events
module:
Description
The problem of ... 1. unable to Share additional resources like movies, music, talks
ffffetc. among peers when there is no internet to access external
ffffwebsites
5
And results in ... Lack of updates about the external world and members unable to
catch up with the programs or shows etc. due to work hours. And
users need to connect to the internet to access them which in turn
results in high traffic and minimal bandwidth.
Benefits of a solution ... Members can upload whatever they have resources for others to
access whenever there is no internet access to the outside network
The main objective of the project is to create a local social media/network for the AAiT
community using the advantage of social networks amusing features and desire of the users to
such medias with tuition free access from local LAN network. In which enabling easy of
connection among users with their course instructors out of class, get notified with news feeds
instructor’s plans, every announcement. In addition, users are capable of creating accounts make
friends, join groups, upload and download files of they want uploaded by peers.
6
1.4.2 Specific Objective
IT is our aim of creating a unique, 24/7 accessible and user friendly web application, the solution
we come up with will be flexible, modular and extensible. It assures a solid structure and
compatible model for the upcoming advanced projects supporting extra features to the future.
Our projects focus will be mainly on creating a local but scalable solution of bringing
educational features from the most popular social medias to support education with social
network capabilities. Review/analyses existing and propose a new and extended efficient system.
Providing an easier mechanism for sharing files. Providing a better method for users be notified
with new updates. Bring advancement for the campus and change the way we learn. Provide a
mechanism users get updates where ever they are through personal their mails. Develop a user
friendly, aesthetic and efficient website for performing the specified tasks. Testing and verifying
the project functionality.
By observing the problems in the existing system. We propose a system FLUTE which solve the
problem in the existing system. Where the institute’s administration and staff office can
announce the event like meeting program, conference schedule held on the campus and class
schedule to the community online through a web browser by using the campus’s intranet network
rather than using a notice board. The system enables a user to ask and get information from any
offices online rather than going to offices in face. The user can login using his/her account
details or new users can set up an account very quickly. They should give the details of their full
name, department, contact number and email. Every student has its own personal profile based
on their department.
The proposed system will solve lack of communication environment between the institutes
community by providing an online discussion forum where every user participate and discuss
about different issues. On this system a community member can react their feeling on the
content or announcement which is posted on the site by giving comment and like. In addition to
this there will be Question & Answer Home-It gives a capability of asking any educational
question and answer between student based on department.
7
In order to facilitate information exchange between students in the same department groups will
be created on each section.
The proposed system provide a student and teacher to upload and download educational
materials such as books and short notes based on their department.
In the proposed system Public announcements are open to all users who have access of intranet
network on the other way Department announcements and public announcements are displayed
to only registered user.
It’s obvious the campus still uses traditional way for different activities for customers. Such tasks
like announcements, class scheduling, registrar related process and other tasks still done
manually. We aim to change this traditional process by easy method internet all paper based
works now no longer used. All campus community can use this website together.
We build this website from and users can use easily from existing things like intranet, computers,
and network materials such hub, switches, routers and they build to serve users.so no cost at all
to invest for this project because all are there before. But sadly our campus community doesn’t
get properly what the materials give to the campus they build to easy community life inside
campus.
There will be no personal cost because it is our final project so we believe if we develop this
website successfully the campus community and we developers may get great satisfaction.it also
save users time they are not confuse and tired longer. We are not plan to give training or it is not
necessary to give personal training because it is a simple web page and users may use different
8
websites so it will be easy normally. Users improve technology their skills above all they can
saved their time and energy.
1.7 Scope
This project resolved on web based file sharing mechanism and information exchange system on
AAiT. And at the end of the project we can give good opportunities for AAiT community by
enabling them to view new information and ask their doubt through the web and it ensuring good
file management and data base management system.
Administrative offices:-
Post any announcement to the community
9
Post all department class schedules
Users:-
Can like and give comments on online announcements
Download class schedules
3. Upload and download pdf files: - This module will be designed for teachers to upload
educational material like a textbook, a reference book, power point to their student and the
student can access it and download. students also can upload such types of file.
4.Question and Answer environment-At this module the student can ask any educational
question and the answers will be giving by any other student and teachers.
The study of the project is limited to only AAiT. The project is not concerned about the other
colleges and schools.
1.8 Methodology
In order to achieve goals and planned results within a defined schedule we will use a Feature
Driven Development (FDD). This methodology is more focused on simple and well-defined
processes, short iterative and feature driven cycles. All the planning and execution in this project
type take place based on the features. And also we will begin with basic practice steps which is
analysis of the existing system.
deployment of use case diagrams we will use Visual paradigm designing tool.
10
development. And HTML, CSS, Bootstrap, JavaScript, AJAX and JQuery for
front end development.
Testing: -this step is the final step which includes testing all the functionalities
The Quality Management Plan for our project will establish the activities, processes, and
procedures for ensuring a quality product upon the conclusion of the project. Our quality
management activities ensure that:
11
1.9.3. Communication Management Plan
12
Chapter 2: Requirement Analysis
2.1 Introduction
This specification document is intended to serve as a reference point during the development
process and captures requirements that need to be met by the final system/application
deliverable. Basic issues addressed in this SRS documentation includes functionality, external
interfaces, performance requirements, attributes and design constraints. The documentation also
will serve as a contract between the developer or the supplier and the customer/users with respect
to what the final product would provide and help achieve. The detailed functional and non-
functional requirements have been provided with a complete use case and sequence diagrams of
how the expected product/system is going to be used/work. Having this clarity will help the
designer to adequately design and implement the desired product.
2.2 Scope
Project Flute is a LAN based web application for AAiT which enables users to share files by
uploading them to the server, create user accounts and connect with friends, instructors to create
course groups and share updates with his students, admins and offices create pages for providing
updates and descriptions to services they provide with updates on scheduling’s.
This project targets people who have access to the intranet and basic knowledge of website
navigation.
The platform developed will accomplish the following tasks for the different groups we have in
the system
Create account
Add/confirm friend requests
View public posts of upcoming events, schedules and news feeds of the faculty and
the stuffs
13
Upload and download files to/from the file Spot, local server for peers don’t have
those files
Chat with other users
give comments on the posts
14
2.3 General Description
Flute is a project to build a flexible and user-friendly, platform-independent web application in
order to replace the traditional paper based system for posting announcements to the notice board
to a web based. This targets primarily on creating adaptive web platform for students, instructors
and admins and offices to exchange latest updated information and news feeds.
As this system will be implemented on the campuses LAN network and the available
infrastructures. The existing network infrastructures performance, multi-user support and
failover recovery capability will pose greater impact on how better the system achieves its
desired plan.
Despite the available infrastructures, the user’s basic knowledge of using the web browsers will
be a critical factor for them to get the most out of the services provided.
The other website is piazza, it gives instructor to make a course page and enable add students
enrolled for a course as a member. The instructor then can give updates, assessment schedules,
and share resources materials for the members, students can ask for questions or give comments,
answer questions quested by the members, and instructor does responses too.
In modern social media website like twitter and Facebook quick tweets/posts are implemented as
a feature for users to raise issues to discus with his/her friends and followers, and what other
friends or followed peoples have raised, ideas, will be shown as a newsfeed at the other friends
and followers.
Here at AAiT there is an intranet based file sharing systems, such as intranet.aait.edu.et,
software download center, despite too limited resources available it provides an ftp service for
15
downloading files and software’s. The 10.5.56.5, ITSC course repository uses as an ftp server for
sharing learning materials.
Like the above systems flute is a system that will provide a combined and concise ways for the
instructors can create course groups and give updates and share resource with enrolled students
by adding them as a member, enrolled students can ask for doubts and comment on raised ideas
out there. And those ideas will be viewed as a news feed to the groups. Admins and stuffs too
will create a page for propagating the services they provide, schedules and service hours etc.
Flute will also enable users to create accounts and chat with friends, upload files to the file spot
to share with and able to download files he wants uploaded by the others.
The system, flute, for general users will provide a functionality of enabling to create accounts
and access files uploaded to the file spot. The system will view the updates and news feeds
posted to the general public for those users. After the user clicked or requested for the files will
be provided for download automatically. The system also provides the users the functionality of
chatting with connected/online available users.
Students in addition to the general users, the product will have a functionality of them to be able
to join the course groups they are currently enrolled and ask for doubts to the course instructors
and the students enrolled too. Also the system will enable the student to give comments and
answers.
Instructors, if they want they have a full access to use the functionality of the general users. In
addition to the general users they have a functionality to create course groups and add enrolled
students as members, remove member and provide updates to his students will be viewed for
them while logged on to the group page.
Admins and stuffs will have a functionality to create their page. With their page the system will
provide them to describe the services they provide, give announcements and events to the
16
general users. The system will enable the admins and stuffs to provide updates to their page
users.
For users to gain the most out of the products provided by the system, basic understanding of
website navigation and an understanding of how to access the websites. Having the above
awareness will enable the users to use the functionalities provided by the product fully.
a) Reliability Requirement- the system must be available 24 hours a day 7 days a week and
365 days a year. The functionalities of the system should always be working.
b) Criticality of the system- the system is important to all users to keep update with ongoing
activities. Especially updates shall be available.
c) Safety and Security consideration- the system and user data shall be kept on a server and
necessary precautions have to be taken for data not to be compromised.
17
2.9 External Interface Requirements
2.9.1 User Interfaces
The website should work and be tested against IE, Firefox, Google Chrome and other websites.
There is a front and back end interface to build this website. We started from front end. Front end
will build with CSS, AJAX, JQuery, HTML, JavaScript. The back end also built in PHP and
their will be MySQL for database.
Sign in page
18
Home page
19
A page for admins to manage members
20
Users Discussion Page
21
File sharing Page
22
Office administrator page
Smartphones
Tablets
Laptops
Desktop/Workstation computers
23
2.9.3 Software Interfaces
Software requirements of the system are very nominal and no other special requirement is there
hence it is economically feasible. Also PHP is open source and thus easily available free of cost.
best support
PHP, JavaScript, AJAX, JQuery, CSS, To implement the web app we have chosen
HTML 5 this languages for their more interactive
support
Since flute is delivered in a web-based system, it will use HTTP for all communications over the
internet.
24
2.10 Functional Requirements
Functional requirements are the main functions that are performed in the projects. This
functional requirements are mainly focus on the project .the functional requirements are must
fulfill to implement.
STUDENT FUNCTIONALITIES
Student includes all students of AAiT in all programs who are currently learning in all
department.
The system shall display all uploaded files on the page which is assigned to display
uploaded files to an eligible users
The system should allow all eligible users to upload a document
The system should allow students to download a document
2.10.2 FR #2 Give comments
The system shall provide an easy interface to give comments about the public
announcements they read
The system shall allow the students to edit the comment he/she gave
The system shall allow the students to remove his/her comment
2.10.3 FR #3 Like a posts
The system shall provide an easy interface to like the public announcements they read
2.10.4 FR #4 Chat
The system shall provide an easy interface to show online status of admin offices
The system shall allow students to ask any question online with admin offices
The system shall allow students to chat with their class mate who is online
2.10.5 FR #5 Participate in the community discussion
The system shall allow students to post their idea to the community page
The system shall allow students to post their comments to the community page
about the posted idea
25
The system shall display all comments on the community page to all users
INSTRUCTOR FUNCTIONALITIES
The system should allow instructors answer any question asked by their student
The system should display Answered questions by the student
2.10.8 FR #8 Announce class event
The system should allow an instructor to announce class events on his course
2.10.9 FR #9 Create groups
The system should allow instructor to add and remove a course group member
Admin offices are different offices which provides services to the institutes community.
The system shall allow an admin office live chat with the community
The system should provide admin offices to provide or answer any doubts asked
by a community with online chat
2.10.11 FR #11 Describe services provided
The system allow an admin office to briefly describe what service they gives
26
2.11 Use Case Models
2.11.1 Actors
The following are the identified Actors in this system.
Student: - represents all students of AAiT in all programs who currently learning.
Office Admin:- represents different offices which provides services to the institutes community.
1. Register/Create account
2. Update profile
3. Login
4. Password reset
5. Upload file
6. Download file
7. Post announcement
8. View announcement
9. Post ideas in the community
10. Create group
11. Add member to the group
12. Remove member from the group
13. Ask question to the group
14. Answer question in the group
15. Give comment
16. Remove a comment
17. Like posts
27
18. Chat
19. View post
20. Describe services provided
21. Remove users
22. Post Class schedule
23. Post Class announcement
24. Log out
28
2.11.3.2 Admin use case diagram
29
2.11.3.3 Instructor and Office Admin Use Case Diagram
30
5. The system checks the validity of the form submitted.
6. The system records the information and displays a confirmation message.
7. The use case ends.
Alternate Case A: The system detects a missing information
31
3. The user clicks “edit” link.
4. The user updates his/her profile and clicks save to record the information to the system.
5. The system saves the change and display a message” profile updated successfully” to the
fdfdfdscreen.
6. The use case ends.
Post condition: The user have updated his/her profile successfully.
32
1. The user forgot his/her password.
2. The user will click the “forgot password?” link under the login form.
3. The system will display the users email and ask if the users email is correct and active.
4. The system will send new password to his/her email
5. The user uses that password to login to his/her account.
6. The use case ends.
Post condition: The users have successfully logged into his/her account.
33
1. The user wants to download a file.
2. The users chooses a file and press the “download” link.
3. The system will start the download process.
4. The system will display a download completion message when finished downloading.
5. The use case ends.
Post condition: The user has downloaded a file.
1. The office admin and system admin wants to announce events to the community.
2. The office admin and system admin writes on the available text area and press the “Post”
fdfdfdbutton.
3. The system displays a posted announcements to the page.
4. The use case ends.
Post condition: The office admin and system admin post announcements.
34
2. The user will go to the home page by logged into the system.
3. The system will display the announcements sorted by time on the home page.
4. The user can read from there.
5. The use case ends.
Post Condition: The user is successfully reading posted announcements.
35
Precondition: the instructor has logged into the system with his/her account
Flow of events:
36
2.11.4.13 UC #13: Ask questions to the group
Use Case Name: Ask question to the group
Actors: Student
Description: enables a student to ask any educational question to their group mate and
dddddddddddInstructor
Precondition: The user is accessing the community page
Flow of events:
37
2.11.4.15 UC #15: Give comment
Use Case Give comment
Actors: Student
Description: enables the student to give a comment
Precondition: the student is accessing the system
Flow of events:
38
2.11.4.17 UC #17: Like posts
Use Case Name: Like posts
Actors: Student
Description: enables the user to like posted ideas
Precondition: the user is accessing the system by logged in with his/her account
Flow of events:
39
Description: enables the admin and office admin to view posts which is posted by any other user
the community page
Precondition: the user has logged into the system with his/her account.
Flow of events:
1. The office admin wants to describe what service they provide to the community.
2. The office admin and system admin writes on their pages.
3. The system displays a service given by office to the community on the office page.
4. The use case ends.
Post condition: The office admin describe their service to the community.
40
Flow of events:
1. The instructor wants to announce class event to the course group member
41
2. The instructor writes his/her announcement on the text box provided.
3. The user clicks the “Post” button to post his/her announcement.
4. The system displays the posted comment.
5. The use case ends.
Alternate case A: The system detects the instructor writes an empty text
A.3 The system detects the instructor writes an empty text
A.4 The system displays a message “u must be write some text to post new event”
A.5 The system gives another chance to the user to give comment.
A.6 The use case continues from step 4 of the basic flow event.
Post condition: The instructor announced new events to the course group member.
42
second on both the server-side and client-side versions of the software.On the server-side
application, accessing the database; whether it is for adding, removing, or displaying
information; shall take no more than 2 seconds. But the time delay for operation which needs
more internet connection will depend on the network connection of the system.
2.12.2 Reliability
We consider having two servers with identical content on them – a primary server and a
secondary server. And a third server monitors the primary server and detects if there is a
problem. If there is, it will automatically update the DNS records and it will be diverted to the
secondary server. Once the primary server is functioning again, traffic will be routed back to the
primary server.
2.12.3 Availability
The system must operate twenty-four hours a day, seven days a week. If the internet service gets
disrupted while sending information to the server, the information should be sent again
for verification.
2.12.4 Security
Accordance to security and access permission of the system each users has his or her own
username and password to use the system or to access data and upload/download files.so users
can login with his or her account in order to access files and information otherwise it is possible
to see only public posts.so FLUTe has great secure, accessible and usable only in authorized
ways by authorized users.
2.12.5 Maintainability
The system should be flexible enough for changes and be capable of any modifications
that would be applied to it.
2.12.6 Portability
The system is expected to be compatible with all web browsers and devices of various
specifications.
43
2.12.7 Usability
The System’s User interface should be user-friendly. Standard layout and colorings will be
used, and also familiar words will be used for developing the system. so that anyone with
a basic knowledge of computers will be able to use it. No special training is needed to use this
application.
One matter that a system isn’t structured to It is designed to serve the AAiT societies meaning
the members are obliged to be an AAiT students, administrator’s It won't accept students from
other college or institutes as a valid member.
The other constraint also registration the system does not support for registration purpose
because registrar office may not give a permission for this feature it is a very risky because there
are a lot of issues in registration purpose. For example students may get a chance to learn in
AAiT campus by their grade so this system will directly relate with ministry of education so they
will not willing this feature to our website.
44
2.15 Logical Database Requirements
- Role
Also it is used to classify the
users using the role column.
-sex
It store users information by
identify their name, age, sex,
-address
address, and id number.
-id
Training-related Requirements
45
Packaging Requirements
The system is delivered as a web based platform. Thus, no packaging requirement, such as
README file containing a minimal guidance for installing and running the software, is needed.
46
Chapter 3: SYSTEM DESIGN
For the development of the system we choose an incremental approach type of called feature-
driven development (FDD) in which a number of dependent phases that are repeated sequentially
with no feedback loops.
Till now we haven’t made any changes or modifications to the previously designated system
design. And from the general point of view the system looks like the context-diagram below.
47
Figure 1.1 Context-Diagram
48
incrementally as a module for the basic system. This approach will also enable to provide new
and creative features to be added at any time. This conceptual approach will be used for the
whole system development in order to achieve a scalable solution.
Despite the conceptual design of the system is designed based on an incremental approach, an
object oriented approach will be used for the diagraming and modeling of the system
components and users. The UML modeling will be used for designing the objects class diagrams
and interactions.
While in the process of the design phase if the interface design and the system performance gets
very high with the consideration of the hardware’s capability for handling the systems final
deliverable, there might be an alternative approach to switch the system design to a fully social
network with the addition of video streaming and wiki features in which the users to have an
advantage of publishing articles and stories.
49
3.3 System Architecture
3.3.1 Subsystem decomposition
3.3.1.1 Activity diagram
Login: - enables the user to login to the system using his/her account information.
If registered the system authenticates his account information deny or accept his/her request
and enable access to the system.
If unregistered the system will notify the user he needs to be authenticated to the system
before logging in and displays a registration form.
If registered user insert invalid username and/or password the system will notify the user to
insert valid username and password and redirect to the sign in page.
50
Admin Activity diagram
View user: - enables the admin to see the number of users and their activities.
Control post:-enables the admin to evaluate uploaded files, stories or comments.
Post Announcement:-The admin can post Announcements.
The Admin can view posted ideas.
The admin can deny or allow comments according to the sites policy.
51
The admin can deny or allow posted ideas according to the sites policy.
52
Upload/Download files activity diagram
53
Upload/Download files activity diagram
54
3.3.1.2 UML Component Diagram
Deployment diagram shows the physical nature or topology of the system, and describes what
runs where. Represents the deployment view of the system.
Nodes are nothing but physical hardwares used to deploy the application. The nodes included in
our system are the following
Database Server: - used to store site data, user information and account data.
Web Server: - middle layer between the internet cloud and the database server used to sort and
organize requests and responses between the client and server.
Modem/ Middle layer device: - used to create connection between the user and the internet
cloud or to provide network communication link.
Internet: - the main communication media between the client/user and server/data provider.
End Device: - an end device in the user side for accessing and retrieving data from the site.
55
Figure 2.6 Deployment diagram
Deployment diagram also describes the topology of the system and configuration of run-time
processing elements and the software components and processes.
56
Figure 3.1 Class diagram
57
3.4.2 Sequence Diagram
3.2 Sequence Diagram
58
The system should allow users to logout
59
The system should allow users to register an account
60
Figure 3.6 Admin Sequence Diagram
4. Detailed Design
61
Table 4.1: Account class
Account
+Create Account:String
+Login:String
+Logout:String
+getNewAccount()
+getLogint()
62
system if he has an account logged to the
already. system if he
has an
account
already.
User
+full name:String
+last name:String
+Email:String
+Password:String
63
Position of (dot)>position of @ + 2
Position of (dot)+3<= total length of email
address and the total character of the Email
is at least 5 characters
Table 4.6: Update Profile
Update profile
+change fullname:String
+change username:String
+Password:String
Student
+student id : String
+update profile : String
+Comment : String
+Post : String
+getStudent id()
+getUpdate profile()
64
Attribute Type Visibility Invariant
Student id Integer Public Student id <> NULL and must contain id number and
shouldn’t contain special characters and integers.
Update profile String Public Update profile <> NULL and must contain first, middle
and last name and shouldn’t contain special characters
and integers.
comment Integer Public comment<>NULL
Doesn’t blank
Doesn’t contain special character
post String Private post <> NULL
New ideas
Suggestions
Announcements
messages
65
Adminstrator
+adduser:String
+ removeUser:String
+announcement:String
+post:String
+verify user:String
+announcement()
+post()
+removeuser Integer Public Remove user <> NULL remove user entirely from the
system.
Post String Public post <>NULL and it must be contain all new
informatioins.
Announcement String Private Announcement <> NULL
new class schedules
upcoming events
seminars
meetings
Verify user
66
Table 4.13: Operation description for Adminstrator class
Instructor
+adduser:String
+ removeUser:String
+create page:String
+chat:String
+describe service:String
+getchat()
+getdescribe service()
+removeuser Integer Public Remove user <> NULL remove user entirely from the
system.
67
Create page String Public Create page <>NULL and it must be contain instructor
name.profile and files and not contain special
character.
Chat String Private Chat<> NULL clients can talk each other.
Describe service String private Describe service<>NULL describe services that are
belongs for clients.
68
Chat
+isonline:String
+isoffline:String
+savechat:String
+saveChat()
+isoffline Integer Public Isoffline <> NULL must check the user is offline.
+saveChat String Public saveChat <>NULL and it must be save the chat
conversations.
Describe service String private Describe service<>NULL describe services that are
belongs for clients.
69
conversation.
6.1 Conclusion
This project provides a web platform for the AAiT community, it makes the manually paper
based system accessible through a web application deployed over the campuses LAN, where
users will be able to share files, chat online with peers and checkout for the updates and
announcements within the campus. Instructors create group for the course they teach, add or
remove their students as a member and give updates easily. Instructor can also respond for the
doubts raised by the members. Students already joined the course group have access to the
resources, updates and recommendations provided by the instructor. Offices and Admins creates
a page for announcing what services they provide and what office hours they are available.
As a team we believe that this system will provide a better and flexible way for keeping the
campuses community up-to-date and eliminates many of the paper works with the physical
notice boards.
6.2 Recommendation
To get the most out from this project user should be aware of what functionalities the system
provides. and therefore the developers or concerned system administrators should give a basic
awareness of the applications the system has and how to use it.
For development it will be better to use the stable releases of the programming languages to
avoid dysfunctionalities as of their might be more deprecation from the beta versions, in fact
using the updated releases would be more preferable for better performance and minimal security
holes.
For running this application redundant should be as it adds more reliability through
synchronization whenever the primary server goes down. And it will also keep running when the
application when their need a maintenance or an upgrading of the system.
70
We believe this project could be further expanded as the campuses geeks arena for computing to
build more additional features to systems, like code repository modules, AAiT’s app store for
sharing applications, geeks network and online collaboration to create a more competent
environment among the schools at AAiT. And therefore ITSC should enable this application as
an open for the programmers who would like the system to be more pleasing under a creative
commence of the center.
71
BIBLIOGRAPHY
2) Document templates for student projects in software engineering, Declan Delaney and
Stephen brown – department of computer science, national university of Ireland, technical report
NUIM-CS-RT2002-05
3) Software requirements specification for project iTest requirement for version 1.3.0 prepared
by Karl E. wagers
Web resource
72
< https://www.lucidchart.com/pages/uml/component-diagram> Date:11.01.2017
The component diagram
< http://www.ibm.com/developerworks/rational/library/dec04/bell/> Date:15.01.2017
APPENDIX
73