You are on page 1of 39

GGCS Alumni Portal

(Session 2017-2021)
By
Azka Sarfraz BSSIT-17-32
&
Aqsa Arif BSSIT-17-09

Govt. Graduate College, Sahiwal


Affiliated with BZU, Multan
Pakistan
GGCS Alumni Portal

Session (2017-2021)

Submitted By
Azka Sarfraz BSSIT-17-32
&
Aqsa Arif BSSIT-17-09
Project Supervisor
Muhammad Sajjad

Department of Computer Science


Govt. Postgraduate College, Sahiwal
Final Approval
GGCS Alumni Portal
The Documentation is submitted to the Department of Computer Science, Govt. Graduate
College, Sahiwal affiliated with Baha Uddin Zakariya University, Multan for the partial
fulfillment of the requirement for the BS Information Technology (4-years).

Approved on: _____________________ By:


Azka Sarfraz BSSIT-17-32
Aqsa Arif BSSIT-17-09

Internal Examiner External Examiner


Signature: Signature:

____________________________ _____________________________
Muhammad Sajjad Name:
Assistant Professor __________________________________
Organization & Designation:
__________________________________
Head of CS Department
Signature:

___________________________
Prof. Nazir Ahmad
Assistant Professor
Govt. Graduate College, Sahiwal.

i
Dedication
“Dedication is a devotion to which we love, who our benefactors are,
who pray for us and who made us capable of doing all these, under this
head; they are my PARENTS and our TEACHERS. So, we have
devoted this report to our beloved and kind parents and teachers.”

 Acknowledgment
ii
With the blessings of Almighty Allah and the prayers of our parents, we have made
this attempt to achieve the goal that was set for us to complete the BS degree.
Although the project was complex and complicated, we put our maximum effort to
fulfil the goal. We would like to express our deepest appreciation to all those who
provided us with the possibility to complete this report. A special gratitude we give
to our final year project supervisor, Mr. Muhammad Sajjad, whose contribution
in stimulating suggestions and encouragement, helped me to coordinate my project
especially in writing this report.

Furthermore, I would also like to acknowledge with much appreciation the crucial
role of the staff of the Information Technology Department of GGCS, who
permitted to use all required equipment and the necessary material to complete the
task. Last but not least, many thanks go to the head of the department, Mr. Nazir
Ahmed who has invested his full effort in guiding me to achieve the goal. I have to
appreciate the guidance given by other supervisors as well as panels, especially in
our project presentation that has improved our presentation skills thanks to their
comments and advice.

Azka Sarfraz

Aqsa Arif

Abstract
iii
“GGCS Alumni Portal” is an android app developed for managing various
activities in the library. For the past few years, the number of educational
institutions is increasing rapidly. Thereby the number of Libraries is also
increasing for the accommodation of the students studying in this institution. And
hence there is a lot of strain on the person who is running the library and software’s
are not usually used in this context. One very important benefit of using the
Library Management System is, it helps the institution reduce the burden and
workload on the administration staff employees. The system assists institutions in
securely storing and managing the data and information of students. It allows
access to this information by a few authorized staff employees only. We can
improve the efficiency of the system, thus overcoming the drawbacks of the
manual system.

Table of Contents
iv
CHAPTER 1-INTRODUCTION 1
1. Introduction 1
1.1 Objectives 1
1.2 Existing System 2
1.3 Problem statement 2
1.4 Proposed system 2
1.5 Scope of project 2
CHAPTER 2-ANALYSIS 3
2.1 Feasibility Study 4
2.2 User Requirements 6
2.2.1 Functional Requirements6
2.2.2 Non-Functional Requirements 6
2.3 System Requirements 7
2.4 System Requirements specifications 7
2.5 Use case diagram 7
2.6 Behavior specification 7
CHAPTER 3-DESIGN 13
3.1 System Architectural Design 14
3.2 System Software Design 16
3.2.1 Class Diagram 17
3.2.2 State chart Diagram 20
3.2.3 Activity Diagram 24
3.2.4 Sequence Diagram 27
3.3 Database Design 16
3.3.1 ERD 17
3.3.2 Normalization (Bachman diagram) 20
3.4 User Interface Design 16

CHAPTER 4-IMPLEMENTATION 30
4.1 Source code functions 31

v
4.2 Libraries 35
CHAPTER 5-USER GUIDE 45
5.1 Screen shots 46
5.2 Bibliography 46

vi
Chapter #1
Introduction
1.1 Objectives
The alumni portal is providing a common platform for every organization. Owing to the need to
have all the Alumni (already passed out students) must be connected to the organization,
resulting in sharing their views, experiences, guidance, ideas, strategies, and motivations.
An alumni portal is a platform where the college, alumni and the institute/college students can
interact with each other for their benefit. The students can share their views or queries or
experiences on to portal regarding certain events and internship opportunities.
The Alumni portal application aims to allow old and current students of the college to have
interaction. This allows students/alumni to know about themselves and their current activities.
This portal focuses on the feature of interaction/communication, which will enable the current
students to have interaction with the alumni of the college or organization for getting various
updates on current industry trends, Internship opportunities, project sponsorship, and various
referrals opening in the corporate world.
Alumni portal is providing common platform for every organization. Owing to the need to have
all the Alumni (already passed out students) must be connected to the organization, resulted in
sharing their views, experiences, guidance, ideas, strategies, and motivations. The aim of Alumni
portal application is to allow old and current students of the college to have interaction. This
allows students/alumni to know about themselves and their current activities. This portal focuses
the feature of interaction/communication, which will enable the current students to have
interaction with the alumni of the college or organization for getting various updates on current
industry trends, Internship opportunities, project sponsorship and various referrals opening in the
corporate world. In this project we proposed the Dynamic design of the Alumni portal, enable the
duplex interaction between all alumni and students.
Use of this portal

 Connecting and Networking with different alumni


 Follow current threads and events
 View internship opportunities provided by the alumni
 Referral recruitment drives

Following are the project objectives,

 Connecting and Networking with different alumni


 Follow current threads and events
 View internship opportunities provided by the alumni
 Referral recruitment drives
1.2 Existing System
The students of previous batches have come to college when they need to contact the staff
for any information.
An alumni portal is a platform where the college, alumni, and the institute/college students
can interact with each other for their benefit. The students can share their views or queries
or experiences on to portal regarding certain events and internship opportunities.

1.3 Proposed System


To overcome the problems specified in the “EXISTING SYSTEM” and to provide an efficient
service to the students, we are struggling with these processes. The online process is more
efficient and time-saving than the manual system.

1.4 Scope of the project


This alumni portal would provide a common platform for interaction of alumni, students, and
college altogether.
 Portal provides dynamic features such as active user status, chat rooms, personal
chatting & messaging Virtual alumni meetings
 Job posting
 Internships
 Industry sponsored projects
Entrepreneurial guidance.
Chapter #2
Analysis
SYSTEM ANALYSIS
The requirement gathering process is intensified and focused especially on software. To
understand the nature of the programs to be built, the software engineer (analyst) must
understand the information domain for the software as well as the required function, behaviour,
performance, interface.

2.1 Feasibility Study


A feasibility study is conducted once the problem is clearly understood. A feasibility study is a
high-level capsule version of the entire system analysis and design process. The objective is to
determine quickly at a minimum expense how to solve a problem. The purpose of feasibility is
not to solve the problem but to determine if the problem is worth solving. From the system
analyst perspective, the feasibility analysis is the primary tool for recommendation whether to
proceed to the next phase are to discontinue the project. Feasibility is conducted to identify the
best system that meets all the requirements.

The system has been tested for feasibility in the following points.

 Technical Feasibility

 Economic Feasibility

 Operational Feasibility

2.2 USER REQUIREMENTS


2.2.1 Functional Requirements:
Functional requirements define the capabilities and functions that a system must be able to
perform successfully. The functional requirements of this GGCS Alumni Portal include:

Login

In GGCS Alumni Portal, the user has different accounts systems that will allow admin/ users to
log in to the system.

Create Account
The account will be created for the user who applied for registration. The user now acts as a
member and they have access to the system.

5
Manage Account
The administrator will be able to manage the accounts of users. Admin should have full authority
over the user accounts. Check and verify the user detail, username, and password.

2.2.2 Non-Functional Requirements:


A non-functional requirement is a requirement that specifies criteria that can be used to judge the
operation of a system, rather than specific behaviours. Some of the non-functional requirements
include:

 Security
 Usability
 Performance
 Availability
 Reliability
 Accessibility
 Maintainability
 Performance –fast response
 Easy to use
 Easy to understand
 Everyone can be used
 Not technical skills required to use it.
 System will help in saving time and improving efficiency
 Maintainability- easy to maintain
 Performance/ response time- fast response

The non-functional requirements are ordered in descending order of importance. In other words,
the most important requirements are shown first.

6
2.4 SOFTWARE REQUIREMENT SPECIFICATION (SRS)
The software requirement specification of the software system is in the documentation part in
which I analyse what is this system for, what are the features, how can I develop this system,
what are the components of the proposed solution of the system.
2.4.1 System Requirements:

2.4.1.1 Software Requirements


Following software are required for application
• Operating system: Windows 8, 8.1, 10.

• Technology: Coding/language: Java, backend/database: MySQL

• Database: MySQL

• Tool: Android Studio, visual basic

2.4.1.2 Hardware Requirements (Minimum)


• System Intel core i3 or above

• Processor Speed 2.3 GHz or above

• RAM 4 GB RAM

• Hard Disk 128 GB hard disk

• Monitor 14’ color monitor

7
2.5 USE CASE DIAGRAM
In UML, use-case diagrams model the behavior of a system and help to capture the
requirements of the system.

Use-case diagrams describe the high-level functions and scope of a system. These diagrams also
identify the interactions between the system and its actors. The use cases and actors in use-case
diagrams describe what the system does and how the actors use it, but not how the system
operates internally.

Use-case diagrams illustrate and define the context and requirements of either an entire system or
the important parts of the system. You can model a complex system with a single use-case
diagram, or create many use-case diagrams to model the components of the system. You would
typically develop use-case diagrams in the early phases of a project and refer to them throughout
the development process.

Use-case diagrams are helpful in the following situations:

 Before starting a project, you can create use-case diagrams to model a business so that all
participants in the project share an understanding of the workers, customers, and
activities of the business.
 While gathering requirements, you can create use-case diagrams to capture the system
requirements and to present to others what the system should do.
 During the analysis and design phases, you can use the use cases and actors from your
use-case diagrams to identify the classes that the system requires.
 During the testing phase, you can use use-case diagrams to identify tests for the system.

The following topics describe model elements in use-case diagrams:

 Use cases
A use case describes a function that a system performs to achieve the user’s goal. A use
case must yield an observable result that is of value to the user of the system.
 Actors
An actor represents a role of a user that interacts with the system that you are modeling.
The user can be a human user, an organization, a machine, or another external system.
 Subsystems
In UML models, subsystems are a type of stereotyped component that represent
independent, behavioral units in a system. Subsystems are used in class, component, and
use-case diagrams to represent large-scale components in the system that you are
modeling.
 Relationships in use-case diagrams
In UML, a relationship is a connection between model elements. A UML relationship is a
type of model element that adds semantics to a model by defining the structure and
behavior between the model elements.

8
9
10
2.6 BEHAVIOUR SPECIFICATION
A technique for software system behaviour specification appropriate for use in designing systems
with concurrency is presented. The technique is based upon a generalized ability to
define events, or significant occurrences in a software system, and then indicate whatever
constraints the designer might wish to see imposed upon the ordering or simultaneity of those
events.
Behavior Specifications conveniently and efficiently fulfil multiple purposes:

1. Written in everyday business language, they comprehensively and unambiguously


specify the required functionality to be delivered, as agreed by the team;
2. They are the specifications that developers should refer to when they write code. The
only code that should be written by a developer is code to satisfy the Behavior
Specifications. Remember this little motto: “No Behavior Specification? No Code! No
Test!";
3. They also represent the complete set of test cases that are needed for the given
functionality;
4. They are the living, up-to-date, as-built documentation, for the entire team (and
potentially other parts of the business), about the functionality of each software
component; and
5. When implemented as automated tests, they are the executable documentation that
becomes part of a suite of test assets.

Behavior Specifications are NOT part of a formal requirements document or legal contract —
they are as-built documentation and test assets.

11
Chapter #3
Design
3.1 SYSTEM ARCHITECTURAL DESIGN
The process of defining a collection of hardware and software components and their
interfaces to establish the framework for the development of a computer system.
System Architectural Design:

The purpose of system architecture activities is to define a comprehensive solution based on


principles, concepts, and properties logically related to and consistent with each other. The
solution architecture has features, properties, and characteristics which satisfy, as far as
possible, the problem or opportunity expressed by a set of system requirements (traceable to
mission/business and stakeholder requirements) and life cycle concepts (e.g., operational,
support) and which are implementable through technologies (e.g., mechanics, electronics,
hydraulics, software, services, procedures, human activity).
System Architecture is abstract, conceptualization-oriented, global, and focused to achieve
the mission and life cycle concepts of the system. It also focuses on high-level structure in
systems and system elements. It addresses the architectural principles, concepts, properties,
and characteristics of the system-of-interest. It may also be applied to more than one system,
in some cases forming the common structure, pattern, and set of requirements for classes or
families of similar or related systems.

The server architecture consists of two components: a dedicated database server platform and
a separate gateway or firewall. The site, and application, that will be installed in the browser
will act as a gateway or firewall. The database contains URLs, their content categories (such
as Services, Business Listing Profiles, or Review Forum), and specifications on which
businesses are listed.
Here only the administrator can log in to the system and query the database using a query
language.

Explanation of the System Architectural design:


This system has four layers of architecture
 Application layer
 Business logic layer
 Data access layer
 Data storage layer

3.1.1 Application Layer


This layer deals with the interaction of entities with the system means how the users and
admin interact with the system, what functionality they want, what they wanted to do, and
what they order the system to do. All the entities will interact with the system user interfaces.

13
That interfaces are application layer constituents. It includes forms, buttons, traffic
navigators, etc.
3.1.2 Business Logic Layer
This defines how the system will act on the user’s requests, queries. The functionality of the
system is defined at this layer. The user when to interacting with the system, gave some
instructions to process, here these instructions, functionality is defined.

3.1.3 Data Access Layer


This layer consists of the mechanism of fetching the data from the database and processing it.
When a user puts his query into the system, that system in response fetches the data from the
database, processes that data, and gives the results to the user. This process of fetching is
done in the data access layer.

3.1.4 Data Storage Layer


This layer consists of the database. It defines how the database is structured and how the data
is stored in it. The database is normalized to 3 rd normal form usually, this layer stores the data
in the database. It includes different methods for creating the database, the selected method
with implementation and usage.

14
Figure 3.1 Data Storage Layer

15
3.2 SYSTEM SOFTWARE DESIGN
System design is the process of designing the elements of a system such as the architecture,
modules and components, the different interfaces of those components and the data that goes
through that system.
System Analysis is the process that decomposes a system into its component pieces for the
purpose of defining how well those components interact to accomplish the set requirements.
The purpose of the System Design process is to provide sufficient detailed data and
information about the system and its system elements to enable the implementation consistent
with architectural entities as defined in models and views of the system architecture.

Elements of a System

 Architecture - This is the conceptual model that defines the structure, behavior and more
views of a system. We can use flowcharts to represent and illustrate the architecture.
 Modules - This are components that handle one specific tasks in a system. A combination
of the modules makes up the system.
 Components - This provides a particular function or group of related functions. They are
made up of modules.
 Interfaces - This is the shared boundary across which the components of the system
exchange information and relate.
 Data - This the management of the information and data flow.

16
3.2.1 Class Diagram
a class diagram in the Unified Modelling Language (UML)  is a type of static structure
diagram that describes the structure of a system by showing the system's classes, their
attributes, operations (or methods), and the relationships among objects.
Purpose of Class Diagrams
1. Shows static structure of classifiers in a system
2. Diagram provides a basic notation for other structure diagrams prescribed by UML
3. Helpful for developers and other team members too
4. Business Analysts can use class diagrams to model systems from a business
perspective
A UML class diagram is made up of:
 A set of classes and
 A set of relationships between classes

What is a Class

A description of a group of objects all with similar roles in the system, which consists of:
 Structural features (attributes) define what objects of the class "know"
 Represent the state of an object of the class
 Are descriptions of the structural or static features of a class
 Behavioural features (operations) define what objects of the class "can do"
 Define the way in which objects may interact
 Operations are descriptions of behavioural or dynamic features of a class

Inevitably, if you are modeling a large system or a large business area, there will be
numerous entities you must consider. Should we use multiple or a single class diagram for
modeling the problem? The answer is:
 Instead of modeling every entity and its relationships on a single class diagram, it is
better to use multiple class diagrams.
 Dividing a system into multiple class diagrams makes the system easier to
understand, especially if each diagram is a graphical representation of a specific part
of the system.

17
Alumni 1
Registers 1
 User url: stringg

User_id:integer
 Add_user ()
Post
Roll_no:integer Delete_user ()
Name:string Post_id:integer
0…1 1
Email:string Post_msg:string
Register ()
Status:string 1
Login ()
Post () Add_post ()
Chat () Like ()
logout() Reply ()

Chat Login

Chat_id:integer User_id:integer
Pwd:string
Chat ()
Login ()

Student
Alumni
User_id:integer
Roll_no:integer Admin_id:integer
Name:string Name:string
Email:string Email:string
Register () Register ()
Login () Login ()
Post () Add_event ()
Chat () Add-menu ()
Logout () Logout ()

18
3.2.2 Activity Diagram
Activity diagrams, along with use case and state machine diagrams, are considered behaviour
diagrams because they describe what must happen in the system being modelled.

Stakeholders have many issues to manage, so it's important to communicate with clarity and
brevity. Activity diagrams help people on the business and development sides of an
organization come together to understand the same process and behaviour. You'll use a set of
specialized symbols—including those used for starting, ending, merging, or receiving steps in
the flow—to make an activity diagram, which we’ll cover in more depth within this activity
diagram guide.

Benefits of activity diagrams

Activity diagrams present a number of benefits to users. Consider creating an activity


diagram to:

 Demonstrate the logic of an algorithm.


 Describe the steps performed in a UML use case.
 Illustrate a business process or workflow between users and the system.
 Simplify and improve any process by clarifying complicated use cases.
 Model software architecture elements, such as method, function, and operation.

Basic components of an activity diagram

Before you begin making an activity diagram, you should first understand its makeup. Some
of the most common components of an activity diagram include:

 Action: A step in the activity wherein the users or software perform a given task. In Lucid
chart, actions are symbolized with round-edged rectangles.
 Decision node: A conditional branch in the flow that is represented by a diamond. It
includes a single input and two or more outputs.
 Start node: Symbolizes the beginning of the activity. The start node is represented by a
black circle.
 End node: Represents the final step in the activity. The end node is represented by an
outlined black circle.

19
3.2.3 Sequence Diagram
UML Sequence Diagrams are interaction diagrams that detail how operations are carried
out. They capture the interaction between objects in the context of a collaboration.

20
Sequence Diagrams are time focus and they show the order of the interaction visually by
using the vertical axis of the diagram to represent time what messages are sent and when.

Sequence Diagrams captures:


 the interaction that takes place in a collaboration that either realizes a use case or an
operation (instance diagrams or generic diagrams)
 high-level interactions between user of the system and the system, between the
system and other systems, or between subsystems (sometimes known as system
sequence diagrams)

Purpose of Sequence Diagram


 Model high-level interaction between active objects in a system
 Model the interaction between object instances within a collaboration that realizes a
use case
 Model the interaction between objects within a collaboration that realizes an
operation
 Either model generic interactions (showing all possible paths through the
interaction) or specific instances of an interaction (showing just one path through
the interaction)

Sequence Diagram - Model before Code

Sequence diagrams can be somewhat close to the code level, so why not just code up that
algorithm rather than drawing it as a sequence diagram?
 A good sequence diagram is still a bit above the level of the real code
 Sequence diagrams are language neutral
 Non-coders can do sequence diagrams
 Easier to do sequence diagrams as a team
 Can be used for testing and/or UX Wireframing

21
22
23
3.3 DATABASE DESIGN
Database Design is a collection of processes that facilitate the designing, development,
implementation and maintenance of enterprise data management systems. Properly designed
database is easy to maintain, improves data consistency and are cost effective in terms of disk
storage space. The database designer decides how the data elements correlate and what data
must be stored.
The main objectives of database design in DBMS are to produce logical and physical designs
models of the proposed database system.

The logical model concentrates on the data requirements and the data to be stored
independent of physical considerations. It does not concern itself with how the data will be
stored or where it will be stored physically.

The physical data design model involves translating the logical DB design of the database
onto physical media using hardware resources and software systems such as database
management systems (DBMS).

Why Database Design is Important?


It helps produce database systems

1. That meet the requirements of the users


2. Have high performance.

Database design process in DBMS is crucial for high performance database system.

Database designing

 Logical model – This stage is concerned with developing a database model based on
requirements. The entire design is on paper without any physical implementations or
specific DBMS considerations.
 Physical model – This stage implements the logical model of the database taking into
account the DBMS and physical implementation factors.

Implementation

 Data conversion and loading – this stage of relational databases design is concerned
with importing and converting data from the old system into the new database.
 Testing – this stage is concerned with the identification of errors in the newly
implemented system. It checks the database against requirement specifications.

Two Types of Database Techniques

1. Normalization
2. ER Modelling

24
3.3.1 ER Diagram

An Entity Relationship (ER) Diagram is a type of flowchart that illustrates how “entities”
such as people, objects or concepts relate to each other within a system. ER Diagrams are
most often used to design or debug relational databases in the fields of software engineering,
business information systems, education and research. Also known as ERDs or ER Models,
they use a defined set of symbols such as rectangles, diamonds, ovals and connecting lines to
depict the interconnectedness of entities, relationships and their attributes. They mirror
grammatical structure, with entities as nouns and relationships as verbs.

ER diagrams are related to data structure diagrams (DSDs), which focus on the relationships
of elements within entities instead of relationships between entities themselves. ER diagrams
also are often used in conjunction with data flow diagrams (DFDs), which map out the flow
of information for processes or systems.

Uses of entity relationship diagrams

 Database design: ER diagrams are used to model and design relational databases, in
terms of logic and business rules (in a logical data model) and in terms of the specific
technology to be implemented (in a physical data model.) In software engineering, an ER
diagram is often an initial step in determining requirements for an information systems
project. It’s also later used to model a particular database or databases. A relational
database has an equivalent relational table and can potentially be expressed that way as
needed.

 Database troubleshooting: ER diagrams are used to analyse existing databases to find


and resolve problems in logic or deployment. Drawing the diagram should reveal where
it’s going wrong.

 Business information systems: The diagrams are used to design or analyse relational


databases used in business processes. Any business process that uses fielded data
involving entities, actions and interplay can potentially benefit from a relational database.
It can streamline processes, uncover information more easily and improve results.

 Business process re-engineering (BPR): ER diagrams help in analysing databases used


in business process re-engineering and in modelling a new database setup.

 Education: Databases are today’s method of storing relational information for educational


purposes and later retrieval, so ER Diagrams can be valuable in planning those data
structures.

25
26
27
3.4 USER INTERFACE DESIGN
User Interface (UI) Design focuses on anticipating what users might need to do and ensuring
that the interface has elements that are easy to access, understand, and use to facilitate those
actions. UI brings together concepts from interaction design, visual design, and information
architecture.
Choosing Interface Elements
Users have become familiar with interface elements acting in a certain way, so try to be
consistent and predictable in your choices and their layout. Doing so will help with task
completion, efficiency, and satisfaction.
Interface elements include but are not limited to:

 Input Controls: buttons, text fields, checkboxes, radio buttons, dropdown lists, list
boxes, toggles, date field
 Navigational Components: breadcrumb, slider, search field, pagination, slider, tags,
icons
 Informational Components: tooltips, icons, progress bar, notifications, message boxes,
modal windows
 Containers: accordion
There are times when multiple elements might be appropriate for displaying content.  When
this happens, it’s important to consider the trade-offs.  For example, sometimes elements that
can help save you space, put more of a burden on the user mentally by forcing them to guess
what is within the dropdown or what the element might be. 

28
29
30
31

You might also like