Nservices24-Converted 2 - Removed
Nservices24-Converted 2 - Removed
Nservices24-Converted 2 - Removed
PROJECT REPORT
ON
“NSERVICES24”
Submitted
To
SUBMITTED BY:-
PATIL KALPESH MANOJ
( ROLL NO :- 1839868)
We also humbly thankful to our Principal Dr.Shruti Tiwari and our course
ordination for their valuable suggestions & co-ordination in developing our
project. We would like to thank our Internal guide Prof. Snehal Ukirade for her
valuable assistance & guidance imported which has enable us to complete this
documentation according to prescribed standards of Suresh Gyan Vihar
University.
Thus it is our model and obligatory duty to take project as a part of our studies
with great enthusiasm and seriousness. For this we have gone through a
development program of 3 months.
2. Current /Existing System
Study
2.1 MAJOR COMPONENTS
2.2 MINIMUM HARDWARE / SOFTWARE CONFIGURATION
2.3 DRAWBACKS OF EXISTING SYSTEM
2. 1 Major Components
In each and every system there is a particular system component through the system is
running till now. All system has common component like maintain Service Provider details
and User information.
Here Admin can have the authorization to see the all Service Provider and user details in
website.
Hardware Requirement:
HDD 20 GB or Higher
Software Requirement:
Front-End ASP.NET
3.1 INTRODUCTION
3.2 OBJECTIVE
3.3 SCOPE
3.4 TYPE OF PROJECT
3.5 TECHNOLOGIES
3.6 APPLICABILITY OF THE SYSTEM
3. 1 Introduction
It can be accessed from website and android application
This project is based on C2C [Customer to Customer]
Here user can easily get services from service Providers
Users and Service Providers can make their profiles
Users and service providers can update their profile from website and application
User can easily get the nearest available service.
Admin can access all the information of users and service Providers
3.2 Objective
Users can easily get any local service whichever would be available in the
nearest area
Users do not need to go elsewhere to find out to a service provider.
Users can easily contact any service provider, at any time and at anywhere.
Here service providers can easily get work.
To help communicate users and service providers
Service providers can easily earn money by getting work
3.3 Scope
3.5 Technology /
Environments MVCFramework-
Introduction
MVC Components
Model
The Model component corresponds to all the data-related logic that the user works with. This
can represent either the data that is being transferred between the View and Controller
components or any other business logic-related data. For example, a Customer object will
retrieve the customer information from the database, manipulate it and update it data back to
the database or use it to render data.
View
The View component is used for all the UI logic of the application. For example, the
Customer view will include all the UI components such as text boxes, dropdowns, etc. that
the final user interacts with.
Controller
Controllers act as an interface between Model and View components to process all the
business logic and incoming requests, manipulate data using the Model component and
interact with the Views to render the final output. For example, the Customer controller will
handle all the interactions and inputs from the Customer View and update the database using
the Customer Model. The same controller will be used to view the Customer data.
ASP.NET MVC
ASP.NET supports three major development models: Web Pages, Web Forms and MVC
(Model View Controller). ASP.NET MVC framework is a lightweight, highly testable
presentation framework that is integrated with the existing ASP.NET features, such as
master pages, authentication, etc. Within .NET, this framework is defined in the System.
Web. Mvc assembly. The latest version of the MVC Framework is 5.0. We use Visual
Studio to create ASP.NET MVC applications which can be added as a template in Visual
Studio.
Provides an extensible and pluggable framework, which can be easily replaced and
customized. For example, if you do not wish to use the in-built Razor or ASPX View
Engine, then you can use any other third-party view engines or even customize the
existing ones.
Does not use the concept of View State (which is present in ASP.NET). This helps in
building applications, which are lightweight and gives full control to the developers.
Android has been the best-selling OS worldwide on smartphones since 2011 and on tablets
since 2013. As of May 2017, it has over two billion monthly active users, the largest installed
base of any operating system, and as of December 2018, the Google Play store features over
2.6 million apps.
Feature of Android
2) Alternate Keyboards
Android supports multiple keyboards and makes them easy to install; the SwiftKey, Skype,
and 8pen apps all offer ways to quickly change up your keyboard style. Other mobile
operating systems either don’t permit extra keyboards at all, or the process to install and use
them are tedious and time-consuming.
3) Infrared Transmission
The Android operating system supports a built-in infrared transmitter, allowing you to use
your phone or tablet as a remote control.
4) No-Touch Control
Using Android apps such as Wave Control, users can control their phones touch-free, using
only gestures. Have messy hands but need to turn off your screen or change a song? Simple.
This could prove especially useful if you’re driving, so you can keep both eyes on the road.
5) Automation
The Tasker app lets you not only control app permissions but also automate them. Do you
only want your location services to be active during the day? Want to create a customized
way to start your music—for example, with a voice command and at a certain volume?
Tasker can help.
6) Wireless App Downloads
Accessing app stores on any mobile device can be frustrating, but iOS makes it a little more
difficult—download an app on your computer, and it won’t sync to your mobile device until
you plug in and access iTunes. Using the Android Market or third-party options like
AppBrain, meanwhile, let you download apps on your PC and then automatically sync them
your Droid, no plugging required.
7) Storage and Battery Swap
Android phones also have unique hardware capabilities. Google’s OS makes it possible to
remove and upgrade your battery or to replace one that no longer holds a charge. In addition,
Android phones come with SD card slots for expandable storage.
8) Custom Home Screens
While it’s possible to hack certain phones to customize the home screen, Android comes with
this capability from the get-go. Download a third-party launcher like Nova, Apex or Slide and
you can add gestures, new shortcuts, or even performance enhancements for older-model
devices.
9) Widgets
Apps are versatile, but sometimes you want information at a glance instead of having to open
an app and wait for it to load. Android widgets let you display just about any feature you
choose, right on the home screen—including weather apps, music widgets, or productivity
tools that helpfully remind you of upcoming meetings or approaching deadlines.
10) Custom ROMs
This is a big one. Because the Android operating system is open source, developers can
tweak the current OS and build their own versions, which users can download and install in
place of the stock OS. Some are filled with features, while others change the look and feel of
a device. Chances are if there’s a feature you want; someone has already built a custom ROM
for it.
3.6 Applicability of the system
Viewing available near services and User can send the request to the Service Provider at
anytime and anywhere
Service Provider can have the authorize to accept or cancel the request
Service provider can get the notification for new request which send by user
4. Software Analysis
4.1 PRELIMINARY INVESTIGATION
4.2 PROBLEM IDENTIFICATION
4.3 FEASIBILITY STUDY
4.3.1 TECHNICAL FEASIBILITY
4.3.1 TECHNICAL FEASIBILITY
4.3.2 ECONOMICAL FEASIBILITY
4.3.3 OPERATIONAL FEASIBILITY
4.3.4 MANAGEMENT FEASIBILITY
4.3.5 TIME FEASIBILITY
4.4 REQUIREMENT ANALYSIS
4.4.1 FACT FINDING TECHNIQUES
4.4.2 TIME LINE CHART
4.4.3 MODEL WITH JUSTIFICATION
4.4.4 FLOW CHART
4.4.5 DFD AND/OR UML
4.4.6 PROCESS / CONTROL SPECIFICATION
4.4.7 DATA DICTIONARY
4.1 Preliminary Investigation
In our case as we were developing Nservices24 (Locale Services) site it provides answers of
questions like.
To create or develop new system first we have to study the [C2C] Customer to
Customer system, analysis difficult problem faced by the operator of that system.
System analysis therefore understands such problems and proposes a new system in
which the above problems are rectified.
The main purpose of feasibility analysis is to check the economic viability of the purpose
system. The result of the feasibility study will indicate whether to proceed with the
proposed system or not. If the results of the feasibility study are positive, then we can
proceed to develop a system otherwise the project should not be perused.
The technical issue usually raised during the feasibility stage of the investigation includes
the following: -
Proposed system requires development tools and software such as visual studio 2017 Express
and Android Studio and for developing purpose system, we need various resources such as
computer systems, internet connection for e-help, recommended disk space and memory
speed as mentioned in technical requirement.
As existing system is manual, where data may not accurate, up-to-date available on
time. But proposed will be computerized, so we can overcome all limitations of
existing system.
This system will reduce the paperwork and quality of data will be improved.
Users of the system will be registered as a user of the website and Android
Application by the Services Provider or Service getter department of the Website and
App.
Here there are two types of users 1. Services Provider 2. Services Getter
Record Review:-
As we have started this project from the scratch; there were no previous
records or documentation available therefore no record review has being done
for our project.
But our project guide made it a point to conduct a project status meeting every
week; just to know the status of the project.
In this meeting we have the opportunity to present our ideas and innovations
in front of our project manager; which were later discussed in the meeting and
further decision were taken on the same. At the end of every meeting a MOM
(minutes of meeting) is prepared.
Minutes of meeting is the careful recording of a meeting, i.e., the writing of
minutes, is an essential part of meeting though it involves time and expense
even after the meeting has ended.
There are no strict rules in writing minutes. Minutes may be written in detail
or in brief depending on the anticipated readership. But the main element are
always the same (sometimes some of them are omitted):
4.4.2 Time Line Chart
SDLC- IterativeModel
In the Iterative model, iterative process starts with a simple implementation of a small set of
the software requirements and iteratively enhances the evolving versions until the complete
system is implemented and ready to be deployed.
An iterative life cycle model does not attempt to start with a full specification of
requirements. Instead, development begins by specifying and implementing just part of the
software, which is then reviewed to identify further requirements. This process is then
repeated, producing a new version of the software at the end of each iteration of the model.
In this incremental model, the whole requirement is divided into various builds. During each
iteration, the development module goes through the requirements, design, implementation
and testing phases. Each subsequent release of the module adds function to the previous
release. The process continues till the complete system is ready as per the requirement.
A new technology is being used and is being learnt by the development team
while working on the project.
Resources with needed skill sets are not available and are planned to be used
on contract basis for specific iterations.
There are some high-risk features and goals which may change in the future.
It is extremely necessary to know the advantages of the Iterative model, before implementing
it in the Software Development Life Cycle (SDLC). The biggest advantage of this model is
that, it is implemented during the earlier stages of software development process, which
allows developers and testers to find functional or design related flaws as early as possible,
which further allows them to take corrective measures in a limited budget. Other benefits or
advantages of this model are:
Some working functionality can be developed and early in the software development
life cycle (SDLC).
It is easily adaptable to the ever changing needs of the project as well as the client.
Risks are identified and resolved during iteration; and each iteration is an
easily managed.
In iterative model less time is spent on documenting and more time is given
for designing.
One can get reliable user feedback, when presenting sketches and blueprints of
the product to users for their feedback.
Even though, iterative model is extremely beneficial, there are few drawbacks and
disadvantages attached to it, such as, each phase of an iteration is rigid with no overlaps.
Also, system architecture or design issues may arise because not all requirements are
gathered in the beginning of the entire life cycle. Other disadvantages of iterative model are:
Different symbols are used for different states in flowchart, For example: Input/output
and decision making has different symbols. The table below describes all the symbols that are
used in making flowchart.
UML is a way of visualizing a software program using a collection of diagrams. The notation
has evolved from the work of Grady Booch, James Rumbaugh, Ivar Jacobson, and the
Rational Software Corporation to be used for object-oriented design, but it has since been
extended to cover a wider variety of software engineering projects. Today, UML is accepted
by the Object Management Group (OMG) as the standard for modeling software
development.
Class diagram
Package diagram
Object diagram
Component diagram
Composite structure diagram
Deployment diagram
Activity diagram
Sequence diagram
Use case diagram
State diagram
Communication diagram
Interaction overview diagram
Timing diagram
Use Case Diagram for Admin
Use Case Diagram for User
Use Case Diagram for Service Provider
Sequence Diagram for Admin Login
Sequence Diagram for User Login
Sequence Diagram for User Register
Sequence Diagram for Send Request
Sequence Diagram for Update Profile
Activity Diagram for Admin
Activity Diagram for User
1.1
5.1
Activity Diagram for Service Provider
2.1
3.1
4.4.6 Process / Control Specification
User Login
4.4.7 Data Dictionary
Update anomaly: - Data inconsistency resulting from data redundancy and partial update
Normal Forms: - These are the rules for structuring relations that eliminate anomalies .
→ A relation is said to be in first normal form if the values in the relation are
atomic for every attribute in the relation . By this we mean Simply that no
attribute value can be a set of values or, as it sometimes expressed , a
repeating group.
Transitive Dependencies :-
If two non key attributes depend on each other as well as on the primary key
then they are said to be transitively dependent .
The above normalization principles were applied to decompose the data in
multiple tables. Thereby making the data to be maintained in a consistent state .
Design Flow
Architecture with Data Design:
In this design we describe all the aspects to related to external data and entities for
the software to be built. Here, we consider the data connected resources with our system
and connection with the database.
In architectural data design, we follow the two abstraction: -
High level abstraction (Data abstraction):
Data abstraction is the collection of data that describes the data objects like
name, weight, dim, etc.
In this architectural design, consider the data flows of the system. For
knowing the flow of the system. We , consider some phases of the analysis
like data flow diagram and process specification which gives the detail
transaction and transform flow.
for:
Software Operation
In this we define the quality with correction, reliability, usability, efficiency and
integrity.
In our system there are many different modules and submodules are exists and to
manage their quality we follow all above factors.
Correction:
Title Description
Front End ASP.NET MVC (C#)
Android
User Registration
User Login
Service Provider Registration
Service Provider
Service Provider List
7. Software Testing
7.1 TEST CASES & TEST DATA DESIGN
7.2 OUTPUT COMPARISON
7.3 TESTING STRATEGIES
7.4 UNIT TESTING
7.5 INTEGRATION TESTING
7.6 SYSTEM TESTING
7.7 ALPHA TESTING
7.1 Test Cases & Test Data Design
1 Correct username & System, should accept It. Get login User
password of Student.
3 Correct username & System should accept It. Get login of admin.
password of admin.
5 User keeps blank fields for System should give User not gets registered.
registration. warning to fill blank fields.
6 Admin keeps blank fields System should give Admin not gets Login.
for Login. warning to fill blank fields.
We performed different testing to compare the many requirements and constraint related
to the system. we compare many outputs and data with predefined document and the user
satisfaction.
A testing strategy is a general approach to the testing process rather than a method of
devising particular system or component tests. Different testing strategies may be adopted
depending on the type of system to be tested and the development process used. There are
two different strategies available: Top-Down Testing and Bottom-Up Testing.
In Top-Down Testing, high levels of a system are tested before testing the detailed
components. The application is represented as a single abstract component with sub-
components represented by stubs. Stubs have the same interface as the component but very
limited functionality.
After the top-level component has been tested, its sub-components are implemented and
tested in the same way. This process continues recursively until the bottom - level
components are implemented. The whole system may then be completely tested. Top-down
testing should be used with top-down program development so that a system component is
tested as soon as it is coded. Coding and testing are a single activity with no separate
component or module testing phase.
If top-down testing is used, unnoticed design errors may be detected at an early stage in the
testing process. As these errors are usually structural errors, early detection means that
extensive re-design re-implementation may be avoided. Top-down testing has the further
advantage that we could have a prototype system available at a very early stage, which itself
is a psychological boost. Validation can begin early in the testing process as a demonstrable
system can be made available to the users.
Bottom-Up Testing is the opposite of Top-Down. It involves testing the modules at the
lower levels in the hierarchy, and then working up the hierarchy of modules until the final
module is tested. This type of testing is appropriate for object-oriented systems in that
individual objects may be tested using their own test drivers. They are then integrated and the
object collection is tested.
UNIT Testing is defined as a type of software testing where individual units/ components of
a software are tested.
In SDLC, STLC, V Model, Unit testing is first level of testing done before integration testing.
Unit testing is a WhiteBox testing technique that is usually performed by the developer.
Though, in a practical world due to time crunch or reluctance of developers to tests, QA
engineers also do unit testing.
Hence it is also termed as 'I & T' (Integration and Testing), 'String Testing' and sometimes
'Thread Testing'.
Testing takes place from top to bottom, following the control flow or architectural
structure (e.g. starting from the GUI or main menu). Components or systems are
substituted by stubs. Below is the diagram of ‘Top down Approach’:
Testing takes place from the bottom of the control flow upwards. Components or systems
are substituted by drivers. Below is the image of ‘Bottom up approach’:
7.6 System Testing
System Testing is the testing of a complete and fully integrated software product. Usually,
software is only one element of a larger computer-based system. Ultimately, software is
interfaced with other software/hardware systems. System Testing is actually a series of
different tests whose sole purpose is to exercise the full computer-based system.
Alpha testing takes place at the developer's site by the internal teams, before release
to external customers. This testing is performed without the involvement of the
development teams.
The following diagram explains the fitment of Alpha testing in the software development
life cycle.
8. Software Implementation
8.1 USER TRAINING
8.2 USER MANUAL
8.1 USER TRAINING
User training is designed to prepare the user for testing and converting the system. User
involvement and training take place parallel with programming for three reasons.
1. The system group has time available to spend on training while the
programs are being written.
2. Initiating a user training program use the system group a clear image of
the users interest in the new system.
3. A trained user participates more effectively in the system
A well designed user manual can reduce the overall cost of training and support.
User documentation for modem system is almost always electronic and is usually integrated
part of the system. User manual are the important organizational assests.
Components of user manuals
→ Title and version of software release
→ Table of content
→ Features of product
→ Installation guide and system requirement
→ Getting started
→ Sample Scenario
→ Glossary of the terms used in the manual
9. Limitations / Constraints
Though we tried our best to develop this system, there are some limitation to the system that
is being developed. Due to time constraint in our project, we had to cover lots of requirement
that were given to us and along with that we have to learn entire new language. Some
limitations of Nservices24 portal are:
We can enhance our system by providing SMS facilities through which system
users will be inform latest news and updates.
We can further implement video conferencing and chatting facility which will
make our user to be in touch with each other.
Book:
Website:
https://www.android.com/
https://www.androidhive.info/
https://firebase.google.com/
https://console.developers.google.com/
https://www.tutorialspoint.com/
https://medium.com/
https://www.journaldev.com/
https://github.com/
https://docs.microsoft.com/
https://www.tutorialsteacher.com/mvc/asp.net-mvc-tutorials
https://getbootstrap.com/
https://mindorks.com
https://www.w3schools.com/