[go: up one dir, main page]

0% found this document useful (0 votes)
93 views31 pages

Jss Science and Technological University (Formerly SJCE), Mysuru

This document summarizes a report on developing a digital notes repository application called "Noteflix" for students of JSS Science and Technological University. It conducted requirement elicitation with students and lecturers to understand problems with manual notes sharing. Students often lost or misplaced notes and had to wait in long lines for photocopies. Lecturers also found manually sharing notes through class representatives unreliable. The application aims to organize all class notes, textbooks, videos and schedules digitally to make them easily accessible. Key requirements gathered from stakeholders included a user-friendly interface and organized notes separated by subject and semester.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views31 pages

Jss Science and Technological University (Formerly SJCE), Mysuru

This document summarizes a report on developing a digital notes repository application called "Noteflix" for students of JSS Science and Technological University. It conducted requirement elicitation with students and lecturers to understand problems with manual notes sharing. Students often lost or misplaced notes and had to wait in long lines for photocopies. Lecturers also found manually sharing notes through class representatives unreliable. The application aims to organize all class notes, textbooks, videos and schedules digitally to make them easily accessible. Key requirements gathered from stakeholders included a user-friendly interface and organized notes separated by subject and semester.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 31

JSS SCIENCE AND

TECHNOLOGICAL UNIVERSITY
(formerly SJCE),
MYSURU

A report submitted to partial fulfilment of curriculum prescribed for

Software Engineering
CS530
Amogh Deshpande 01JST17CS017
Anoop Krishna Y 01JST17CS022
Dhananjay V Jahagirdar 01JST17CS046
Madan G S 01JST17CS078
Santosh S 01JST17CS 140

Submitted to :- Dr. Trisiladevi C. Nagavi


Assistant Professor
Department of Computer Science and Engineering
Abstract

The purpose of this project is to solve the problems in manual


management of the class notes for the students by providing a digital
notes repository. In recent times, where technology is at an all-time high,
it can easily assist an individual to make his/her life less troublesome.
By receiving a complete set of requirements from the stakeholders we
prepared an efficient design of the end product incorporating all the
features and functionalities desired by stakeholders. The standard
procedures for requirement collection are sincerely obeyed and the all
the steps are clearly explained in this document.
Acknowledgement
We are over helmed in all humbleness and gratefulness to acknowledge
our depth to all those who have helped us to put our ideas and assigned
work, well above the level of simplicity and into something concrete.
We would like also like to extend our gratitude to our Software
Engineering Lecturer, Dr Trisila Devi Nagavi, who guided and provided
us with all the aid we required to bring forth this submission.
We would also like to show gratitude to our HOD, Dr.Pushpalatha.M.P,
for always encouraging and motivating us to explore new arenas.
She has been a constant pillar of support. We would also like to thank all
the different stakeholders of the project who agreed to take out time
from their busy schedules to provide us with in-depth knowledge about
the ground problems of the project.
CONTENTS

1 System requirement engineering

1.1 Inception

1.2 Elicitation

1.3 Elaboration

1.4 Negotiation

1.5 Specification

1.6 Validation

1.7 Requirement Management

2 Conclusion and future work

2.1 Conclusion

2.2 Future Work

2.3 References
INCEPTION
Our institution is comprised of many branches and each branch
have their own textbooks and class notes. The successful management of
any of these notes requires handling of lots of tasks and maintenance.
Currently, all these tasks are done manually and it is unorganized. More
often, this becomes a tedious if not done in a systematic manner. This
puts a lot of needless pressure on a single individual and constraints
them to focusing on the documentation. This reduces the performance on
the part of the student.Further in thos day and age having tthings on
paper or having important resposibilities on the heads of individuals
gives way to a lot of scope of human error ,malpractices and other
intrusions which effectively break the system.

One of our team members (Madan G S), having missed some of


the classes due to his health issues, identified this issue as a common one
amongst most students of our institution. So,we decided to address this
issue by coming twith a software which would facilitate notes repository
service for students and the teachers too. The software would effectively
take care of all the classnotes, textbook, question papers and Calender of
Events in a digitalized manner. This system shall provide the students
with a platform where they can share their notes with their fellow
classmates. We saw a lot of scope of automation for the management of
notes usually handled manually by the stakeholders and so decided to
undertake the developing a software solely on providing better
undertakings for the students and not on futile tasks such as manual
documentation of their classnotes.
For the end users that is the students, the product would act as an
interface to maintain and organize their notes. It would allows his/her to
monitor their documents. The software would keep the students well
informed about the class notes being uploaded.

The software service would also extend to the Teaching staff of


our Institution consisting of Lecturers and students. We thought of
providing a safe and secure experience to our stakeholders by providing
unique Login ID and Password. It has a very promising Graphical User
Interface for ease of use for the end stakeholders.

Understanding the domain was our next step. The software is


designed wih a point of view of providing students with a systematic and
ordered collection of notes and documents needed for the students.
Lastly, giving the selected students a privilage to verify the notes, in-
hand overview and the adminstrators are provided with the control over
the notes being uploaded. The end stakeholders can access this database
using an Android Application.
ELICITATION
We approached the different stakeholders and interacted with them in
order to gather all requisites that they desire in the software. Topics on
which questions were raised by our group to the stakeholders:

First, we asked the following questions to students of our college:


1. How often do you misplace your notes?
2. Where do you get the notes from?
2. What do you do if you lose your notes?
3. How do you maintain/organize your notes?
4. What do you want from our app?
5. How often do you write notes?
6. How do you complete the notes if you miss few classes?
7. What do you think if we come up with a digital solution to solve
this problem?

Then we talked to some of the lecturers of CSE Department and we put


forward these following questions:
1. Isn't it too much to rely on one person (CR) to forward the notes
you intended to share to the whole class?
2. What do you think if we come up with a digital solution to solve
this problem?
The section below lists and elaborates all the meetings that were
conducted with the different stakeholders for the purpose of collecting
their perspective upon the product and their desired requirements. For
the purpose of doing so we approached them with requests of meeting at
an agreed location and also briefed them about the purpose of the meet.
Stakeholders 1:
1. Akshay Anand, Seventh Semester, CSE who is the Chief Co-rdinator
of the executive committee of LCC.
2. Vijeth Vaishnav, Third Semester, CSE.

This is the transcript of the meeting conducted with the stakeholders for
the project. The objective of this meeting was to collect the requirements
for the product from these stakeholders and to understand the current
problems facing by them.

1. We asked the students how often they misplaced their notes due to
various reasons. Forgetting to get the right notes to a class was one of
the reason. They forget where they had written their notes and where
they keep it after writing it.
2. Next, we asked them where they got their notes from. Currently the
first years and few of the higher semesters are getting their notes from
MCV Xerox Centre. The long queues just before the internals and the
Semester End Exams was the major issue. The paper used for Xerox is
waste and most of the notes are not passed on to the juniors.
3. Next, we asked the students what they would do if they lost their
notes. The most common answer was “Ask for a friend to send a PDF of
their notes” and study from it. We asked them what if the message sent
by your friend gets deleted or you cannot find the PDF he/she sent you?
And the answer was the same, ask another person to send their notes. It
is a recurring problem to which a solution is need to be found.

4. Next, we asked them how they organized their notes. This was their
biggest hurdle. Most of the stake holders said they lost or could not find
the right notes during the right time.

5. Next, we gave our brief description about our Android Application


which solves all these problems. We explained about how easy it is to
maintain all their notes in a single app and never stand in queues to get
their notes Xeroxed.
Requirements Acquired:

1. User-Friendly GUI:
All the stakeholders (students) wanted a user-friendly Graphical User
Interface for ease of use.

2. Neatly Organized:
Every student wanted a neatly organized structure where all the notes are
separated based on the subjects and their semester.

Vijeth Vaishnav, 2nd year CSE.


Akshay Anand, 4th year CSE.

Stakeholders 2:
1. Dr. Trisiladevi C Nagavi, CSE Department.
2. Prof. Bindiya AR, CSE Department.
3. Prof. Ashritha R Murthy, CSE Department.

This is the transcript of the meeting conducted with the stakeholders for
the project. The objective of this meeting was to collect the requirements
for the product from these stakeholders and to understand the current
problems facing by them.
1. We asked the lecturers whether it was difficult to rely on a single
person (CR) to forward the notes you intended to share with the whole
class. The answer we got was “Yes, sometimes the CR might forget to
forward the notes/message sent to him and it’s a major issue we are
facing now”. So we gave a brief explanation on how our Android
Application gives a platform to share notes to students.

Requirements Acquired:

1. Video Lectures:
The lecturers wanted video lectures to be added to the app so that
students can refer to the videos whenever the miss classes or didn’t
understand a concept. NPTEL video links can be added to the app for
students to refer.

2. Textbook PDF’s:
Textbook PDF’s can be provided to the students via ‘Noteflix’ so that
students instead of buying a book can refer the textbook using this app.
We considered this requirement to be implemented in this application.

3 Check for malwares:


Malware detection and security was a major issue. Currently in this beta
version we are not implementing this feature due to lack of technical
skills.
4. Check for duplicates:

Checking for duplicates was another major issue where a person


can spam the same notes and the database gets filled with the same
notes. We came up with a verification technique where a
privileged person must verify the notes within three days and the
Non-verified notes gets removed from the database.

Dr. Trisiladevi C Nagavi, CSE Department


Prof. Bindiya AR, CSE Department

Prof Ashritha R Murthy, CSE Department


ELABORATION:

A detailed explanation for the information obtained from the


stakeholders is presented by elaboration phase. The requirements
specified by one stakeholder may be repeated by another stakeholder.
When the requirements collected are analysed all together, a kind of
pattern may be recognized.
Who are the stakeholders?
1. Students.
Students play the major role of the stakeholder as they are the people
who utilize this software to the maximum amount. They are given the
highest priority.
2. Teachers/Faculty.
The role of the teacher or a faculty is to assign privilege to certain
number of students who in turn will verify the uploaded documents.
Even the lecturers or faculty can verify the uploaded documents. They
come next to the students in the priority.
3. Long distance learning.
Many students learning at distant places wish to access the notes of a
particular institution or the notes of a particular lecturer taking classes.
They can utilize this software in order to study the course. They also
play an important as that of the students.
We have listed the major stakeholders as above. By taking the
requirements from the above, we build our software in order to meet
there demands.
After analysis we got the following common requirements from the
stakeholders. Some of them are as mentioned below:
1. Availability of notes in an easy storable/ downloadable format.
(preferably PDF format)
2. Easy uploading of notes must be possible.
3. Verification of the uploaded notes (chances of incorrect notes to
be uploaded)
4. Availability of notes in a sorted or ordered manner even after
addition of many other documents onto the software.
5. If possible to have the video lectures of the course related to the
notes. (the links of the particular videos can be provided in the
software)

The pattern may be elaborated to facilitate the formation of complete


and consistent requirement document. Problems in realizing the product
are inevitable. The pattern allows easy identification of such problems
and through the reuse of defined and tested solutions to the known
problems it guides us throughout the project. Also, it is very important to
understand the problem statement completely before attempting to
design the solution. The scope of usage, technical risks involved and
most essential features that are to be integrated into the system are
recognized and an architectural plan for the project called architectural
prototype is developed.
The architectural plan includes the following things:
1. Scope of usage. ( how far the idea is feasible/feasibility)
2. The technical risks involved. ( which all softwares can be used)
Then after checking the above the prototype is carefully designed for
stability and adaptability to changes.
Elaboration enables organized study of the system to help
accommodating changes in user demands from time to time. The
prototype is carefully evaluated for stability and adaptability to change
and also a validity test is performed to check whether it adheres to the
set vision without compromising time and cost of development. This
facilitates clear understanding of critical use cases in which the product
must prove itself. Elaboration also helps in getting a better picture of
development environment and the way in which the tools and software
components fit in.
With a strategic plan considering component costs and possible reuses,
elaboration also acts as a preface for construction. Any bugs identified in
overall elaboration activities are resolved to convince the customers that
we have a realistic approach to the final product. The outcome of
elaboration phase is the use case model.
Diagram:
Use case model is a model of system’s intended functions and its
environment, and serves as a contract between stakeholders and
developers. It consists of a collection of:
Use cases: Sequence of actions performed by the system which offers
observable and valuable result to a particular actor.
Actor: Defines a coherent set of roles that users of the system can play
when interacting with it. A user can either be an individual or an
external system.
Supplementary specifications: Capture the system requirements that are
not readily identified in use cases.
Analysis model: It is an object model describing realization of use
cases, which serves as an abstraction of Design model. It contains results
of use case analysis, analysis classes and associated documents.
Analysis classes: Identifies major responsibilities which are to be
handled and represents prototypical classes of the system. It is the ‘first-
pass’ at the major abstraction that the system must handle.
Design model: It is an object model describing the realization of use
cases, and serves as an abstraction of implementation model and its
source code. It is used as an essential input to activities in
implementation and test.
Design classes: It is a description of a set of objects that share the same
responsibilities, relationships, operations, attributes and semantics. They
are 37 derived from Analysis classes as a result of design process.
From the flow diagram we get to know that the user has to sign up or
login to the software application at first. A particular username and
password is assigned to the user. The user has to enter the details that is
known to him. Once the user has logged into the system, there will be a
portal for the selection of the particular branch of the student. After the
branch entry it will lead the user to enter the semester. This is the
platform where the user has given all the credentials required, and now it
is possible for the user to upload his/her documents only in the form of a
PDF. Here the lecturer would have assigned certain number of privilege
students who in turn will check / verify the uploaded document that has
been sent any student. Once the document is verified, we will receive a
watermark at the bottom of the document. And this particular document
can be now downloaded for further use. In case if the document
uploaded by any student is not verified, then under 3 days the document
gets automatically deleted/ moved to trash. This will allow us to remove
unwanted documents into this software. In a nutshell it provides the
security to this software application.
Service Facilities:

As a software developer we need to keep in mind that our software


should be platform independent. So the best way to do so is to go for
web based applications rather than going for desktop based application.
Also the stakeholder wanted a simple way of having the database made
available while accessing with the interface being suitable to all. So
during our discussion we came out at the conclusion that there could be
no better and most importantly cheaper way to store the data other than
using cloud services.
Advantages of cloud services:

The data can be accessed from anywhere if you are authorized.


The maintenance is cheaper.
Data security is possible.
In current demand i.e. up to date with the current scenario.
Thus, by using cloud services any number of computers can be
connected to a particular database.

NEGOTIATION
The clients of our software application are the students of our college
and the lecturers/faculty members. We had some sessions with our
stakeholders and noted down their requirements.
The stakeholders cannot completely state their all requirements
explicitly. When the requirements collected from all stakeholders are
collaborated, certain requirements appeared to be unfeasible. It was
highly important for a negotiation strategy to be applied to resolve the
unfeasible/conflicting requirements.Because we have many live
examples of failed projects due to poorly negotiated requirements among
the stakeholders. Negotiation leads to benefits such as understanding the
problem statement, implicit requirements, constraints applicable along
with fostering team learning, resolving ambiguity and complexity,
dealing with uncertainty and finding better solutions. But for utilizing
the benefits of negotiation to fullest, the process implementing the
correct negotiation is necessary. A collaborated discussion regarding
functions, features and priorities and delivery dates with all the
stakeholders can set a common goal for the product outcome and also
resolve the disagreement between the stakeholders. The set of
requirements collected from the discussion needs to be properly
analyzed for the final template to be prepared with rich set of
functionalities which accomplishes the desires of all the stakeholders.
When the final software product is delivered to the stakeholders, a smile
of satisfaction on their faces is expected which in turn will be a fruitful
result of our hard work.
With the above idea in our minds, we put forward these negotiations:
These are some of the functionalities we had to drop because of the
complexities:
1. Currently, in the Beta version we are planning to give the repository
only for the fifth Semester CSE students as it is very expensive to host
the data of all the classes in the firebase DB. Firebase has a storage limit
of 1GB per month and anything in excess of that will be charged a fee of
25$.
2. Search function and reviewing of the uploaded notes had to be
dropped because of the complexity of the algorithm.
3. Video lectures are not feasible because video files are generally larger
in size and will finish up the 1GB per month quota of firebase DB.
Functions we are incorporating as per stakeholder requests:
1. Spam reduction model: We plan on giving some of the users the
privilege of verifying the notes. If the status of the document does not
get verified in 3 days’ time, it gets deleted automatically.
2. Our platform can also be used to share miscellaneous documents such
as calendar of events, old question papers and time table.
3. We provide folders for every subject so that the notes can be
maintained in an orderly fashion.
SPECIFICATIONS

The tools that were instrumental in making this android application


were:

1. Android Studio:

Android studio is the official IDE (Integrated Development


Environment) or tool (layman terms) for developing application
exclusively for Android platform.
It has a strong editor tool for developing creative UI and emulators for
different versions to test and simulate sensors without having actual
Android devices.
It also has a very useful Gradle plugin using which one can create
application files (apks) with different configurations. Moreover it makes
exporting and uploading apk on “playstore” easy with a single click. It
also offers ANT build.
In the recent updates Android studio has brought instant run which
makes testing even faster and easier.
Most of the code for this particular application is written on this
platform. The coding language used to develop the application is JAVA.
Android studio is very efficient as it allows connection with Firebase DB
and bitbucket.(these are the other important tools used in this project).
2. Firebase Database:

Firebase Realtime database is a cloud hosted database that supports


multiple platforms Android, iOS and Web. All the data is stored in
JSON format and any changes in data, reflects immediately by
performing a sync across all the platforms & devices. This allows us to
build more flexible realtime apps easily with minimal effort.
Firebase covers the essentials so you can monetize your business and
focus on your users.
The term essentials are divided into three parts :
1. Building your App
2. Improving the Quality of App
3. Business Growth

To achieve the above essentials these are the tools developed by


firebase:
1. Firebase gives you functionality like analytics, databases, messaging
and crash reporting so you can move quickly and focus on your users.
2. Firebase helps in building applications without server side
programming language.
3. Firebase is built on Google infrastructure and scales automatically, for
even the largest apps.
4. It is supported on different platforms:- Android, iOS, Web, C++ and
Unity.
5. Firebase provides many library functions for querying, inserting,
updating and deleting data.

3. Bitbucket:

Bitbucket is a Git repository management solution designed for


professional teams. It gives a central place to manage git repositories,
collaborate on the source code and guide one through the development
flow. It provides features that include:

1. Access control to restrict access to your source code.

2. Workflow control to enforce a project or team workflow.

3. Pull requests with in-line commenting for collaboration on code


review.

4. Jira integration for full development traceability.

5. Full Rest API to build features custom to the workflow.

Bitbucket enabled us to simultaneously work on our respective tasks.


For example, both designer and back end developer of this application
could work parallelly and were able to integrate in the end using this
software. Thus, saving a lot of time.
Adobe Xd:

Adobe XD is a vector-based user experience design tool for web apps


and mobile apps, developed and published by Adobe Inc. It is available
for macOS and Windows, although there are versions for iOS and
Android to help preview the result of work directly on mobile devices.
XD supports website wireframing, and creating simple interactive click-
through prototypes.
Everything from designing logo to designing user interfaces are done
using this software. Even the prototypes of the application is designed
using this software.
VALIDATION

Requirements should be validated before the software product as a


whole is ready. The validation step is basically a review of requirements
collected, tomake sure that they meet needs of stakeholders and to
identify any problems with the requirement specifications. It is
preferable to fix any bugs in the requirements in the initial stages rather
than dealing with their complex consequences in the final product
because changes in the requirements usually demand changing and re-
testing of design and implementations. Any mismatch in the
requirements interpreted and those which are desired by the stakeholders
may result in an incorrect product to be developed. Our software product
has students from different years. We conducted meetings with all of
them personally and listened to their requirements meticulously. We as a
team, sat together and carefully analysed overall bundle of requirements
and had a constructive discussion to confirm that we have understood all
the aspects appropriately, thus finishing internal validation phase. We
carried out external validation by having another meeting with our
stakeholders to clarify our doubts and to obtain their consent for the final
requirement document that we had created. As our software product has
a scope of development throughout its lifetime, we consider the external
validation phase to be a continuous process. Most of the requirements
passed the validation phase, yet we noticed some problem areas like:

1. We had planned to provide an automatized assistance with an OTP


mechanism for login.
2. We will include software to track back for one time download
facility.
3. We are planning to provide video tutorials in addition to the notes
and textbooks.
4. We had planned to provide a graphical representation of
performance of an individual, so that our software could assist the
user easy and user friendly. Student to choose its future Resources
by recognizing the verified mark with peak performance statistics.
Also, it demands considerable amount of software expertise to
make sure the result of assessments is accurate.
REQUIREMENT MANAGEMENT
It is a set of activities that help the project team to identify, control
and track the requirements and changes can be made to the requirements
at any time of the ongoing project.
These tasks start with the identification and assign a unique
identifier to each of the requirement. After finalizing the requirement
traceability table is developed.The examples of traceability table are the
features, sources, dependencies, subsystems and interface of the
requirement.
Require Management is process of documenting, analysing, tracing,
prioritizing and controlling change on requirements. It is set of activity
that help the project team to identify and track the requirements at any
time ongoing project. It involves communication between the project
team members and stakeholders.Effective Requirements management is
solution to Software Crisis.
It Involves communication between the project team members and
stakeholders (students and lectures). Syllabus change adding or
removing subjects and update resources(notes) these are main issue in
managing requirements. Maintaining new uploaded notes. Verification
by privilege user can reduce spams and viruses.

Require Management is also systematic approach to:


1. Eliciting
2. Organizing
3. Documenting
4. Managing
Six main steps Require Management
1. Investigation and Analyse Resources
2. Feasibility
3. Design and managing the scope of the system
4. Construction and testing Resources upload by user
5. Requirement change management done by privilege users.
6. Release

The institutions may require that different members with different


levels of authorization should be allowed to view Notes that they have
access to, this can be accommodated with the help of passwords and
other means of authentication. This restricted could also serve to restrict
the ability to modify sensitive information to only those who have the
authority to do so. The product can also be modified to allow for share
messaging between the members of a club, this may also need end to
end encryption to make sure that the account remain private. The
account could also be linked with email accounts so that the privilege
user can identify their members. volunteers and participants about
upcoming events. There can also be a connectivity to new updated notes
so that sharing Resources(notes). In these and many other ways the
product may be modified as and when new requirements are given by
the stakeholders. This shows that the product is rugged and flexible
enough to handle changes in requirements even late in its life.
CONCLUSION

The main aim of our product is to provide services to the


stakeholders which make their task of managing or handling the notes,
proper usage in a more efficient and easier manner. The product
provides an easy to use platform for various students both in the college
and also who are at a distant place. Any user can sign in to the software
and can download the documents necessary, which in turn would have
been verified by the privilege members assigned by the faculty. The
product provides a high level security as it is protected by a password
The main aim of our product is to provide services to the stakeholders
which make their task of great platform for the users.
It’s not only the software we have developed, but also we have
taken a great initiative in saving the trees that are being cut all year for
the paper production as the amount of paperwork is reduced. As we all
know that preservation of trees is a great concern and the need of the
hour.

FUTURE WORK
We have fulfilled all the requirement of our stakeholders and we hope
that our product can further be developed with enough resources and
manpower so that it can handle the management of large organisations
such as large-scale companies.

You might also like