You are on page 1of 23

SRM Institute of Science & Technology,

NCR Campus, Modinagar, Gaziabad

BACHELOR OF TECHNOLOGY
in
COMPUTER SCIENCE AND ENGINEERING

Software Engineering & Project Management(18CSC206J)

NAME: Anuraj Pariya


REG. NO. : RA2011030030016
DEGREE/BRANCH/SECTION : B.Tech / CSE / F(CS)
YEAR/SEMESTER : 2ND / 4th
Session : 2022-2023
GEO-LOCATION REMINDER APPLICATION
SRM Institute of Science and Technology
NCR Campus, Modinagar

DEPARTMENT OF COMPUTER SCIENECE AND ENGINEERING

Reg. NO. R A 2 0 1 1 0 3 0 0 3 0 0 1 6

BONAFIED CERTIFICATE
It is to be certified that the bonafide practical record submitted by Anuraj Pariya of 4th Semester/ 2nd Year for
Bachelor of Technology degree in the Department of Computer Science and Engineering, NCR Campus, SRM
Institute of Science and Technology, has been done for the course Software Engineering And Management
(18CSC206J), during the academic year session MAR- 2022 – JULY 2022.

Head Of the Department Lab In-charge

--------------------------------- ----------------------------
DR. R.P. MAHAPATRA(HOD) MS.NIHARIKA SAXENA(A.P.)
Department of CSE Department of CSE

Submitted for the University Examination held on_______________________.

--------------------------------------- -------------------------------------------------
Examiner 1 Examiner 2
SRM Institute of Science & Technology, Delhi NCR Campus
Department of Computer Science & Engineering

INDEX
Exp. No.
Experiment Date of Date of Faculty
Name Conduction Submission Signature

1 Identify the Software Project,


Create Business Case, Arrive
at a Problem Statement.
2 Identify the Requirements, System
Requirements, Functional
Requirements, Non-Functional
Requirements.
3 Stakeholder and User Description,
Identify the appropriate Process
Model, Comparative study with
Agile Model
4 Prepare the Flow Chart that use
simple geometric symbols and
arrows to define relationships
when dealing with a project.

5 Prepare the Work, Breakdown


Structure based on timelines and
allow Project managers to plan
their work more efficiently

6 Develop UML Use case Diagram for


the given Project.

7 Develop DFD Model of the


given problem.

10
Experiment No.1

Aim: Identify the Software Project, Create Business Case, Arrive at a ProblemStatement.

Procedure:
Step 1: Introduction/Purpose
 Geolocation Reminders Application that reminds you do something when you arrive at , or
leave , a specific location such as your office , Your Home , or ay other address in your contact
list .
 The main purpose of it is to provide services to customer based on knowledge of their location.
 Cell phones now emulate computers , with enhanced graphical user interface , Integrated
Global Positioning Systems, Wireless data connectivity ,and expand storage capacity.
Project Scope
The main moto of this project to make an application which help us to remind something after reaching the
destination or near by them .
For example :-
 Case1:- Forget brought fresh fruit after your weekly shopping ?
No problem Geolocation Reminders Application will remind you.
 Case2 :- There are several colors you can choose for your reminder . You can also set a
radius
Of a circle in which you will reminded.
 Case 3 :- Snooze is another interesting function . You will be snoozed after preset time
duration and only if you are still in reminded area .

Step 2: Overall Description/Product Perspective


People may have different work from different places. They may forget to keep track of all the work which is
associated at different place , so we proposed a system where user will remind about his work at certain place
where the work is associated with. This system tracks the user location with the help of GPS. System retrieves
the user’s current geological coordinates, with the help of this system tracks user’s current location. To use this
system, user must register by filling up the details required by the system. User must enter the user id and
password in order to login to the system.

Product Features
The main feature of Geolocation Reminders Application is:
 Snooze Alarm
 Map
 Advance Location Tracker
 Easy Handling features and app interface.
This application will be operated in Mobile Phone rather it android or ios. This application will connect to map
and start tracking your location .

Problem statement –
 Accuracy –As per today we can see a lot of application like this but the accuracy of detecting
location is not good as well as some are very slow.
 Unable to auto-detect locations when device locked-Mainly application like this does not have
auto detection of your location which is major issue as when user unlocked his/her device after
that he got the reminder which sometimes led to problem to them as they cross the marked area.
 Not proper mapping system – This type of application which are present in market does not have
properly mapping system which sometimes user unable to find his need location which ultimately
lead the user to uninstall the application from his device.
 Not proper managed system – Those company who are building application like this does not
have proper management system.
 Not user friendly-Some of the app which are present in market are not user friendly Which
ultimately user does not attract.
Objectives: -
 We will make our app more accurate and proper detection system of device.
 We will add more features and we will use high level technology to make our application
more relevance. We also going to enable auto detecting feature even the device is locked.
 We will make our application user friendly as well as we will use Google mapping system
for more accurate map.
Experiment No.2

Aim: Identify the Requirements, System Requirements, Functional


Requirements, Non-Functional Requirements

System Requirements
 Functional Requirements: Features
 Register and Login-Visitors use their e-mails as the sole identifiers to register. Fill in
e-mail, password, and re-enter the password when register and use same for login.
 Accurate map and location distance using GPS- Visitors use their location to set the
reminder for where to go and when to go.
 Timely alert and alerts repeating- Visitors will give the access to the clock app in the
phone through which we can set the reminder for the time they have to go.
 Options of set, reset, disable, edit alarm-Visitors will able to set the alarm for a
particular place and will be able to reset, disable and edit the alarm from the app
itself.
 SMS facility- Reminder will be sent to the phones through message also from which
they will be easily get a reminder before half an hour that a reminder is placed. This
feature will be important for people those who are in a no network area.
 User friendly- Easy to use as the visitors will not have to open the app several times
to check the reminder or something. They will get reminders for everything.
 Cost effective- Visitors will just have to pay a minimal charge for the messages
which they will receive on the phone and it will not be compulsory for every user.
Those who want this feature can opt for it or else this app will be free for them.

 Non-Functional Requirements:

 Capacity- Phone must have a empty space of 500mb as we will use this storage for
storing the places the visitor has visited so that he can directly choose from the
history. RAM of 2 Gb the phone must have for a smooth running of the app.
 Availability- The users will be able to download the app from app store and google play store and a
link will be mentioned in our website for both the respective apps for downloading.
 Recoverability- The data will be stored of 3 months with us which can be recovered easily as it will
be stored in app itself.
 Maintainability- The maintenance is not that difficult as we mainly have to manage the places the
user have visited.
Experiment No.3
d

Aim: Stakeholder and user Description, Identify the appropriate Process Model,
Comparative study agile Model.
1. Stakeholder and User Description
Geolocation Reminders Application that reminds you do something when you arrive at, or leave, a
specific location such as your office, Your Home, or any other address in your contact list.
2. Identify the appropriate Process Model
Agile Model

The following is a comparison between Agile and SDLC models


Agile Waterfall

The project development lifecycle is There are many stages to the software
divided into sprints. development process.

It takes a step-by-step method. The waterfall technique is a way of designing in a


progressive order.

Agile methodologies are noted for their adaptability. Because waterfall is a structured software
development technique, it may be extremely strict at
time.

Agile may be thought of as a collection of many The development of software will be done as a single
projects. project.

Agile is a flexible strategy that enables modification. Once the project development begins, there is way to
change the specification.
Agile development is a method of software The technique is excellent for projects with
development in which needs are anticipated to specific needs and unanticipated
change and evolve over time. modifications.
Testing is done simultaneously with software The "Testing" step follows the "Build" phase in
development in the Agile process. this technique.

Agile presents a product mentality in which the This approach demonstrates a project
software product meets the requirements of its end mentality and focuses only on completing
users and adapts to their expectations. the job.

With Time & Materials or non-fixed financing, By obtaining a risk agreement at the start of
the Agile approach performs incredibly the process, it is possible to reduce risk in
effectively. In fixed-price circumstances, it may firm-fixedprice contracts.
create tension.

Small, focused teams with a high level of The ability of a team to coordinate and
coordination and synchronization are synchronize is severely hampered.
preferred.

Almost every day of a project, the product Prior to the start of a project, business
owner and his team create requirements. analysts establish requirements.

The test team may easily participate in Any change in requirements is tough for the
requirement changes. test to commence.

During the SDLC process, the description of To use the waterfall software development
project specifics may be changed at any technique, a detailed description is
moment. required.

Agile Model RAD Model

The Agile paradigm discourages the creation The core concept of RAD is to create
ofprototypes, preferring instead to focus on the rapid and dirty prototypes that are later
methodical development of each incremental developed into production-quality code.
feature at the conclusion of each cycle.
Agile initiatives logically split the The RAD paradigm focuses on building all
solution down into features that are ofan application's functionality by doing it
created and delivered in stages. poorly at first and then gradually improving
the code over time.

After each iteration, the Agile team only Customers may be shown screen
shows the client finished work. mockups and prototypes by RAD teams,
although
these may be based on simplifications
such as database lookup rather than real
calculations.

Spiral Model vs. Agile Model


Agile model Spiral model

The Agile model's core idea is to create agility by The Spiral model's fundamental concept is
eliminating tasks that waste time and effort. risk management.

The Agile strategy emphasizes delivering an The spiral model primarily deals with many
increment to the client after each Time-box, types of unplanned hazards, however, there is
resulting in more frequent customer minimal client engagement.
involvement.

The agile paradigm is best suited for huge The Spiral model is appropriate for projects
projects that can be broken down into tiny that are vulnerable to a variety of hazards
chunks and developed progressively over time. that are difficult to predict at the outset.

Documentation is not used in the agile For the Spiral model, proper documentation is
paradigm. essential.
Experiment No.4

Aim: Prepare the Flow Chart that use simple geometric symbols and arrows to define
relationships when dealing with a project.

Description: A flowchart is a symbolic representation of a solution to a given task. It can be developed for
practically any job. Flowcharting is a tool that can help us to develop and represent graphically program logic
sequence. It also enables us to trace and detect any logical or other errors before the programs are written. It is
made up of shapes and arrows. The shapes, which include rectangles, triangles, and ovals,
represent the steps of a process. Arrows are used to connect these shapes to depict the path, or flow, through the
process.

Start/Stop-Used at the beginning and end of the algorithm to show start and end of the program.

Data (I/O): Represents input, output, or resources used or generated.

Database: Represents a database.

Decision: Indicates a question to be answered—usually yes / no or true / false. The


path may change depending on the answer.
Delay: Indicates a delay or waiting period in a process.

Direct Access Storage (Hard Disk): Represents data storage on a hard drive.

Display: Refers to information being shown to a user, often with a computer monitor.

Document: Represents a document or report.

Internal Storage: Represents data stored in random-access memory (RAM).

Manual Input: Represents the manual input of data into a computer, usually through a
keyboard.
Manual Operation: Indicates a step that must be done manually, not automatically.

Merge: Combines multiple paths.

Multiple Documents: Represents multiple documents or reports.

Off-Page Link: Connects separate elements across multiple pages. Used within complex
charts.

Or: Represents a path that diverges.


Paper Tape: Represents input or output.

Predefined Process: Indicates a complicated process or operation that is well-known or


defined elsewhere.

Preparation: Represents preparation for upcoming steps.

Stored Data: Represents data housed on a storage device.


Flow Chart: -

Open App

Set Location and


time as reminder

Is location No Continue to detect location and


nearby or set
time reached?
count time.

Yes
Yes

Display notification and start ringing.


Is there any
another
reminder?

Stop ringing and off notification. No


Experiment No.5

Aim: Prepare the Work, Breakdown Structure based on timelines and allow Project managers to plan their
work more efficiently

Description: A project is characterized by time-limited activities and is assigned fixed time frames and costs.
When it is finished, a project must fulfill the stakeholder needs it was designed to address. The project
management has to plan for the schedule, the fixed costs and the functional completeness of the project and
assign responsibilities. The WBS helps make this planning consistent and provides for effective project
execution.

Geo-Location Reminder
Application

Initial Phase Requirement Designing Phase Coding Phase Final Phase


Analyzing Phase

Planning and Module Analysis of Cost,


Identify the Gather Effort and resources
project Requirements defining roles development

Check for Design system Development of Demo


Create Business
feasibility Architecture project
Case

Final testing and


Problem finalize the SRS Design various Component and Deployment
Statement diagrams Unit Testing

Fig:- Work Breakdown Structure .

Various phases involved in our software development involves: -


1. Initial Phase: - Initial phase involves identification of the project and come to know about what
exactly we are going to make. During this phase, we define objective and features of the software
and come up with a problem statement.
2. Requirement Analyzing Phase: - This is the most important phase in the project. In this we gather
all the various type of requirements (i.e., functional and non-functional requirements) needed for
the software development and after complete gathering of the data, we check for its feasibility,
reliability, and various other factors.
3. Designing Phase: - The next phase is about to bring down all the knowledge of requirements
analysis, and design of the software project. This phase is the product of the last two. In this phase,
we define roles and responsibility of the team members and starts designing system architecture
with the help of various diagrams like DFDs, Use Case Diagram, etc.
4. Coding Phase: - This is the phase where actual development begins, and the programming is built.
The implementation of design begins concerning writing code. We design various modules and
does unit and component testing to verify whether the project is working according to needs or not.
5. Final Phase: - This is the last phase in the development of the software which involves analysis of
costing, efforts and resources, giving the demo of the system and finally implementation of the
software that we built

->Risk Identification and Plan.


No project can be developed without any risk involved in it. So, much like various other software, our
software too involves various kind of risks which need to be identified and manage them in order to have a
better working of the software. Let’s have a look at some of the risk involved in our project:-
1. Technology risk: - The first and the most basic risk which can affect our project development is the
technology risk which involves failure of the hardware and software components used for the
development of the software. Now, to avoid the risk/decrease the chances of this risk, we have been
using the latest hardware and at the same time keeping alternate options available on the standby for
case of emergency. Also, we have ensured that all the hardware has it own insurance (in form of
warranty) so that we don’t have to suffer a lot financially in case of system failure.
2. People’s Risk: - This involves the refusal of the team members to work and not completing the task due
to some issues. Unlike hardware and software failure risk, which can be handled easily by replacing it
with new ones or using standby hardware, this risk needs good communications among the team
members to avoid any kind of unwanted situation.
3. Estimation Risk: - This risk is one of the most important one among all the risk involved in the software
development because estimation plays a vital role in determining not only the efforts, but also the time
required and budget of the project. Any error in estimation or missing any estimation can hamper the
entire development process. To handle this, we must be precise with our estimation and should re-
validate the estimation if possible.
Experiment No.6

Aim: Develop UML Use case Diagram for the given Project

Description:
According to the UML specification a use case diagram is a diagram that shows the
relationships among actors and use cases within a system
Components of Use Cases:
1. Use Cases: A use case describes a sequence of actions that provide a measurable value to an actor. A
use case is drawn as a horizontal ellipse on a UML use case diagram.
 Use Case Names Begin with a Strong Verb
 Name Use Cases Using Domain Terminology
 Place Your Primary Use Cases in The Top-Left Corner of The Diagram
 Imply Timing Considerations by Stacking Use Cases.
2. Actors: An actor is a person, organization, or external system that plays a role in one or more interactions
with your system (actors are typically drawn as stick figures on UML Use Case diagrams).
 Place Your Primary Actor(S) In the Top-Left Corner of The Diagram
 Draw Actors to The Outside of A Use Case Diagram
 Name Actors with Singular, Business-Relevant Nouns
 Associate Each Actor with One Or More Use Cases
 Actors Model Roles, Not Positions
 Actors Don’t Interact With One Another
 Introduce an Actor Called “Time” to Initiate Scheduled Events
3. Relationships: There are several types of relationships that may appear on a use case diagram:
 An association between an actor and a use case
 An association between two use cases
 A generalization between two actors
 A generalization between two use cases

4. System Boundary Boxes: The rectangle around the use cases i s called the system boundary box and as
the name suggests it indicates the scope of your system – the use cases inside the rectangle represent the
functionality that you intend to implement.
 Indicate Release Scope with a System Boundary Box.
 Avoid Meaningless System Boundary Boxes.
Use Case Diagram: -
Experiment No.7

Aim: Develop DFD Model of the given problem


Description: Data flow diagram is graphical representation of flow of data in an information system. It is
capable of depicting incoming data flow, outgoing data flow and stored data. The DFD does not mention
anything about how data flows through the system. DFD does not contain any control or branch elements.
Components:

1. External Entity an outside system that sends or receives data, communicating with the system being
diagrammed. They are the sources and destinations of information entering or leaving the system. They might
be an outside organization or person, a computer system or a business system. They are also known as
terminators, sources and sinks or actors. They are typically drawn on the edges of the diagram.

2. Process any process that changes the data, producing an output. It might perform computations, or sort data
based on logic, or direct the data flow based on business rules. A short label is used to describe the process,
such as “Submit payment.”

3. Data store files or repositories that hold information for later use, such as a database able or a membership
form. Each data store receives a simple label, such as “Orders.”

4. Data flow the route that data takes between the external entities, processes and data stores. It portrays the
interface between the other components and is shown with arrows, typically labeled with a short data name, like
“Billing details.”

DFD rules:
● Each process should have at least one input and an output.
● Each data store should have at least one data flow in and one data flow out.
● Data stored in a system must go through a process.
● All processes in DFD go to another process or a data store.
DFD Model: -

USER

Request

Geolocation
Reminder
Response Application.

Set Reminder

Response

Create, Read, Update


Delete MAP

DATA BASE

You might also like