0% found this document useful (0 votes)
330 views

Software Engineering Practical 1 To 10

The document discusses a proposed services providing application project. It aims to connect homeowners needing electrical, plumbing, carpentry or other services with experienced professionals through a mobile application. This would allow homeowners to easily find and hire professionals to address issues, rather than spending time searching. It would also help professionals get hired easily and grow their business. The proposed android application is described as dynamic, easy to understand and use with an intuitive interface. The project statement provides details on the problem the application aims to solve and how it would benefit both homeowners and professional services providers.

Uploaded by

DIVYESH PATEL
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
330 views

Software Engineering Practical 1 To 10

The document discusses a proposed services providing application project. It aims to connect homeowners needing electrical, plumbing, carpentry or other services with experienced professionals through a mobile application. This would allow homeowners to easily find and hire professionals to address issues, rather than spending time searching. It would also help professionals get hired easily and grow their business. The proposed android application is described as dynamic, easy to understand and use with an intuitive interface. The project statement provides details on the problem the application aims to solve and how it would benefit both homeowners and professional services providers.

Uploaded by

DIVYESH PATEL
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

2CEIT502: Software Engineering

Practical:1
AIM: To study various Software development life cycle (SDLC) models
prepare a report of their analysis with answering given questions.

Questions:

1. Write one example of software project that would be amenable to the classical waterfall
model.

• For understand classical waterfall model simple example is making Tea. If once we make
Tea, we can’t convert it into milk similarly once we create any software using classical
waterfall we cannot change it. So some static website, blogs or any short duration project,
Automation of existing manual systems, for well understood problems can be developed
using classical waterfall model
• In the olden days, Waterfall model was used to develop enterprise applications like Customer
Relationship Management (CRM) systems, Human Resource Management Systems
(HRMS), Supply Chain Management Systems, Inventory Management Systems, Point of
Sales (POS) systems for Retail chains etc.

2. What is the difference between incremental process model and evolutionary process
model?

Incremental Process Model Evolutionary Process Model


1 In the Incremental model, increments are In the Evolutionary model, the complete
individually designed, tested, and delivered cycle of activities is repeated for each
at successive points in time. version.
2 The user requirements definition, system The complete cycle of activities is repeated
requirements definition and system design for each version.
activities are factored out of the sequence of
incremental deliveries and occur only once,
at the outset of the project.
3 In the incremental model, on the other hand, The aspect of requirements analysis and
compatibility between increments is de design once at the start of the project is not
riguer. present in the evolutionary model in which
the coupling between successive versions
is much looser.Indeed,in the evolutionary
model, compatibility between successive
versions is not assured.

19012011114_Het Patel Page 1


2CEIT502: Software Engineering

4 Increment is developed and checked in entire Evolutionary model is based on


process until adequate system has been developing initial increment, which can
developed. deliver to end user for evolution based on
user feedback modification are made in
initial increment and next increment is
develop.

3. Which model is more suitable for your mini project? Why?

• Waterfall model is more suitable for our mini project.

• Because in mini project we work as customer or developer both so our software definition is
very clear so we can easily create whatever we want and we can also change during the any
steps.
• Here also the phases of it is not overlapped. It can very easily understandable and easy
for the Developer.
• And once we submit it we cannot change anything in project so waterfall model is more
suitable

4. State the parameters to choose suitable life cycle model for any system.

• What kind of software customer need


• The methods and tools to be used
• Time
• Cost
• Available Resources
• Size of team (number of developer)
• What kind of risk in software
• Hardware, software and network capability etc…

5. Which life cycle model is/are widely used in software industry nowadays?

• Iterative Waterfall model and Spiral Model are widely used in software industry now days.
Because in these models we can change software after developed and they are we easy to
use.

• some of the companies are started to using "Agile Methodology" on their


software development because agile methods break tasks into smaller iterations,
or parts do not directly involve long term planning. The project scope and
requirements are laid down at the beginning of the development process.
• Give the comparison of all life cycle models with the options given.

19012011114_Het Patel Page 2


2CEIT502: Software Engineering

6. Give the comparison of all life cycle models with the options given.

Iterative
Features Waterfall Model Prototyping Model Spiral Model
Model

Requirements Frequently
Beginning Beginning Beginning
Specification Changed

Simplicity Simple Intermediate Simple Intermediate

Cost Low Low High Expensive

Overlapping
No No Yes Yes
Phases

Flexibility Rigid Less Flexible Highly Flexible Flexible

Reusability Limited Yes Weak High


Resource
Yes Yes No Yes
Control
Cost Control Yes No No Yes

Promoted Routine
Maintenance Least Glamorous Typical
Maintainability Maintenance

User Only At
Intermediate High High
Involvement Beginning
Expertise
High High Medium High
Required

Documentation
yes yes weak yes
Required

Risk
High Easily Manage Low Low
Involvement

Guarantee of
Less High Good High
success

19012011114_Het Patel Page 3


2CEIT502: Software Engineering

7. Based upon characteristics of different SDLC models, fill the details: Poor, Good, Excellent

Iterative or
Sr. Waterfall Prototype Spiral
Model / Feature Incremental
No model Model Model
Model

Unclear User
1 Poor Good Excellent Good
requirements
Unfamiliar
2 Poor Excellent Excellent good
technology
3 Complex System Good Excellent Excellent Good
Short-time
4 Poor Good Poor Excellent
schedule
Strong project
5 Good Excellent Excellent Good
management

6 Cost limitation Poor Poor Poor Excellent

7 Documentation Good Good Good Excellent

Component
8 Excellent Poor Poor Excellent
reusability

19012011114_Het Patel Page 4


2CEIT502: Software Engineering

Practical:2
AIM: To prepare a problem statement with description of the project you
decided

Project statement: Services Providing Application


Each day, homeowners encounter numbers of problems associated with their electrical
appliances, wooden structures, water etc... These may seem minor issues but they lead to major
problems if left untreated. Sometimes, people ignore them because they need to spend some time
to look for experienced professionals so this application provide best and time saving solution for
this kind of problem within single application. An on-demand app for plumber, electrician,
carpenter, cable operator etc can help find experienced professionals at ease and hire them
quickly.

On the other hand, plumbers, electricians, and carpenters can use the application to get hired
easily and grow their business. We provide you with a robust app that allows clients to book
professionals. In addition, you get an app solution that lets you grow without making efforts.

This android application is very dynamic and very easy to understand. The interface of the
android application is very easy and anybody can easily work on it. This android application can
provide all the description and important information about the problem.

The Services Providing application is also very useful because the customer doesn’t have to visit
to service provider’s office, he/she can easily book his/her order via this application and he/she
can also pay the payment online in this android application and website. So he/she can book
order without any kind of disturbance. It will provide security for the customer.

Benefits of this Application are Target local audience, provide personalized and loyal service,
more flexible, Build Network between customer and professionals, save time no need to go
outside to find professionals, etc…

Functionalities of Application:

• You can find professionals using your current GPS location.


• Quick response from professionals.
• Easy communication using chat box.
• Various payment methods
• Maintain History of booking and Payment

19012011114_Het Patel Page 1


2CEIT502: Software Engineering

Features of Application:

Sr
No.
Customer Professionals
Simple Fast & Simple Login
1
Registration/Login /Registration Feature
Data Security and
2 Chat With A Customer
Safety
Design User Friendly
3 Data Security and Safety
UI/UX Interface
Use Advanced Search Show Work History &
4
Filter Payment History
Provide Multiple Keep GPS Location
5
Payment Options Tracking
Reply to customer
6 Add Service Feedback
reviews/feedback.
7 Keep Payment History
In-App Chat With a Set Availability and
8
professionals Service Times
9 Keep Payment History

Hardware and Software Requirements:

For application use


Hardware:
Android Smartphone (above Android 6.0)
2GB RAM
More than 8GB internal storage

Software:
Operating system is Android Marshmallow and above
Google Map
Location driver

For application development


Hardware:
Processor: Intel core i3 and above
RAM: 4GB or more
Hard disk 250 GB and more

Software:
Operating system is Windows 10
Front End: Android Studio 4.0
Programming Languages: Kotlin and Java
Database: Google Firebase

19012011114_Het Patel Page 2


2CEIT502: Software Engineering
Practical:3
AIM: Draw various diagram for Services Providing Application

1. Use Case Diagram:

19012011114_Het Patel Page 1


2CEIT502: Software Engineering
2. Class Diagram:

3. State chart diagram:

19012011114_Het Patel Page 2


2CEIT502: Software Engineering

4. Activity Diagram:
Registration/Login activity

19012011114_Het Patel Page 3


2CEIT502: Software Engineering
Customer’s activity

19012011114_Het Patel Page 4


2CEIT502: Software Engineering
Service Provider’s activity

5. Sequence Diagram
19012011114_Het Patel Page 5
2CEIT502: Software Engineering
For customer:

For service provider:

19012011114_Het Patel Page 6


2CEIT502: Software Engineering

6. Data Flow Diagram:

19012011114_Het Patel Page 7


2CEIT502: Software Engineering

19012011114_Het Patel Page 8


2CEIT502: Software Engineering
Practical:4
AIM: Identify the design principle that is being violated in relation to the
given scenario.

Objective: Identify the design principle that is being violated in relation to the given scenario.
Note: A good object oriented design not only meets the specified requirements but also addresses
implicit requirements. There are five design principles which address most of the implicit
requirements:

1.Abstraction: Focus on solving a problem by considering the relevant details and ignoring the
irrelevant.

2.Encapsulation: Wrapping the internal details, thereby making these details inaccessible.
Encapsulation separates interface and implementation, specifying only the public interface to the
clients, hiding the details of Implementation.

3.Decomposition and Modularization: Dividing the problem into smaller, independent,


interactive subtasks for placing different functionalities in different components.

4.Coupling & Cohesion: Coupling is the degree to which modules are dependent on each other.
Cohesion is the degree to which a module has a single, well defined task or responsibility. A
good design is one with loose coupling and strong cohesion.

5.Sufficiency, Completeness and Primitiveness: Design should ensure the completeness and
sufficiency with respect to the given specifications in a very simple way as possible.

Problem: Which of the following design principle(s) have been violated in the following
scenarios?

1. Abstraction
2. Decomposition and Modularization
3. Coupling & Cohesion
4. Encapsulation
5. Sufficiency, Completeness and Primitiveness
6. All

19012011114_Het Patel Page 1


2CEIT502: Software Engineering

No. Description Principle Violated Reason


Important information of a module Here we can't wrapping data
1 is directly accessible by other Encapsulation so anyone can access data
modules directly
If we have too many global
variables it's show common
Too many global variables in the Coupling & Cohesion, Coupling and it is worst
2 program after implementing the Decomposition and coupling and if we have too
design Modularization many variable it is difficult to
divide program into smaller
parts
we can't find easily what is
3 Code breaks in unexpected places All
real reason for code break
if we fail to fulfilled
Unfulfilled requirements in the Sufficiency,
requirements after design has
4 code after the design has been Completeness and
been implemented it's show
implemented Primitiveness
Incompleteness in application
it show many dependencies
5 Cyclic dependency among classes Coupling & Cohesion
and highly coupled
We should divide problem
Huge class doing too many Decomposition and into smaller parts show we
6
unrelated operations Modularization can modify or find errors
easily

It is good to divide module


Several un-related Decomposition and
so we can performed a
7 functionalities/tasks are carried out Modularization ,
program easily we focused
by a single module Abstraction
on relevant details

8 All data of all classes in public Encapsulation Public class easily accessible

Sufficiency ,
9 Design resulting in spaghetti code Completeness And It is because of insufficiency
Primitiveness

Insufficiency and
An algorithm documented as part of Sufficiency ,
incompleteness in design
10 design is not understandable by the Completeness And
phase may lead to this type of
programmers Primitiveness
problem

19012011114_Het Patel Page 2


2CEIT502: Software Engineering
Practical:5
AIM: To study about various Project Management Software (tools)
available in the market.

List of Software:
1. Jira
2. Redmine
3. Aceproject
4. Buildertrend
5. Scoro
6. Proofhub
7. Basecamp
8. Asana
9. Podio
10. Workzone

1.Jira
JIRA is a tool developed by Australian Company Atlassian. This software is used for bug
tracking, issue tracking, and project management. The name "JIRA" is actually inherited
from the Japanese word "Gojira" which means "Godzilla". The basic use of this tool is to track
issue and bugs related to your software and Mobile apps.

It is also used for project management. The JIRA dashboard consists of many useful functions
and features which make handling of issues easy.

Jira Software is a customizable workflow engine. It allows users to track issues, bugs, tasks, and
other work items through a predefined workflow that can be modified to fit users’ requirements.

Here are some of its use cases:

1. For bug tracking. Jira is primarily used for tracking bugs related to software and apps as they
are being developed. It enables teams to find, record, and track bugs. It also provides a
system to assign them to the right person or team at the right time.
2. For product/project management. As a product or project management software, it allows
users to assign the needed tasks to complete the product/project. It also has tools such as
views and reports that provide information about due dates and statuses. The team is able to
collaborate with each other, provide feedback, as well as manage approvals for requests or

19012011114_Het Patel Page 1


2CEIT502: Software Engineering
changes.
3. For project tracking and management. Jira is a preferred project tracking and management
software by software developers and IT teams. It supports both traditional and agile project
management. It is centralized and highly customizable, and its workflows allow users to
control the status of the project and how it transitions to other statuses, providing excellent
tracking information.

Advantages of Jira:

1. It supports roadmap requirements. Jira has tools that enable users to sketch out the big
picture, communicate plans, and connect the bigger roadmap goals to the team’s everyday
tasks.
2. Great for agile. The software provides a single view for all user stories and can generate the
needed reports for various sprints, such a burn down charts, sprint velocity, and others.
Also, users can organize tickets into sprints and releases, and also monitor the workload and
task assignments of the team.
3. Available integration. The issue and project tracking software integrate with many popular
third-party software. For example, integration with Hipchat and Slack makes it easy to
communicate issues and respond to notifications. More than 3000 apps are available at the
Atlassian Marketplace to extend the features of the software.
4. Highly customizable. Jira allows users to create any type of issue. They can also customize
workflows to fit any requirement of a particular company. Users can create and customize
various elements, such as tables, forms, timelines, reports, fields, and more.
5. Works for different types of users. The software can be used by developers, project
managers, engineers, managers, and other non-tech business professionals.

Disadvantages of Jira:

1. Not the best mobile app. Jira users are more than satisfied with its web version, but not so
much with its mobile app. They complain of having to navigate a lot in order to do various
tasks. In contrast, they can all do these actions smoothly in the web version.
2. Complex integration and migration from other application lifecycle management (ALM)
systems. Migrating a project, for example, from Microsoft Team Foundation Server into Jira
involves manually migrating each artifact into Jira, which is very time-consuming.
3. Reports are not reusable. Jira graphical reports cannot be downloaded as an image. Using
other methods alters the resolution of the images, resulting in poor images.
4. Limited file size upload. Users complain that the file size upload is limited to 10MB or less.
Therefore, uploading a photo, video, or document that is more than 10MB in size is not
allowed.
5. Confusing UI. Some people find the user interface a bit cluttered, and filtering tools are not
the easiest to use. Also, some find the configurations confusing, because some parts of the
software still use an older version of their graphical interface, while some parts are newer.

19012011114_Het Patel Page 2


2CEIT502: Software Engineering
Screenshot:
1. Create Account:

2. Invite Teammates:

19012011114_Het Patel Page 3


2CEIT502: Software Engineering
3. Setup JIRA:

4. JIRA dashboard:

19012011114_Het Patel Page 4


2CEIT502: Software Engineering
5. Create Project:

19012011114_Het Patel Page 5


2CEIT502: Software Engineering
6. Create Issues:

7. Code:

19012011114_Het Patel Page 6


2CEIT502: Software Engineering
2. Redmine
Redmine is a flexible project management web application written using Ruby on Rails
framework. Redmine is a free and open source, web-based project management and issue tracking
tool. It allows users to manage multiple projects and associated subprojects. It features per
project wikis and forums, time tracking, and flexible, role-based access control. It includes a
calendar and Gantt charts to aid visual representation of projects and their deadlines. Redmine
integrates with various version control systems and includes a repository browser and diff viewer.

Advantages of Redmine:

1. Redmine is open source, it can be customized to fit your business’s needs.


2. Redmine is responsive, and works much faster than its alternatives.
3. Issue Tracker - Redmine allows in-depth issue tracking complete with workflows and
customization.
4. Release Tracker - Redmine allows releases to be tracked by milestones, collecting relevant
issues in each milestone.
5. Agile Management - With a few free or low-cost add-ons, Redmine becomes a great tool for
Agile project management
6. Easy maintenance
7. Redmine is particularly useful for seeing projects - their estimates, time worked and time
remaining.
8. Highly customizable - it has plenty of plugins which can be integrated into the system

Disadvantages of Redmine:

1. The UI is a little outdated


2. Workflow management is primitive, at best. When compared to the workflow management
support that a tool such as JIRA has, Redmine's workflow management is very out of date.
3. Contains bugs
4. Lacks an overview project main indicators dashboard.

19012011114_Het Patel Page 7


2CEIT502: Software Engineering
Screenshot:
1. Create Account:

2. Login:

3. MyPage:

19012011114_Het Patel Page 8


2CEIT502: Software Engineering
4. Project Overview:

5. Issue summary:

19012011114_Het Patel Page 9


2CEIT502: Software Engineering
6. Gantt chart:

19012011114_Het Patel Page 10


2CEIT502: Software Engineering
Practical-6
AIM: Prepare Software requirement specification (SRS) document.

ABSTRACT

Nowadays for any services like Plumbing, Electrical, Electronic, Mechanical, Pest Control,
Home Paint and Machine Repairing, if any customer wants to use this type of services then
they can go through a personal meeting or mobile call. It is difficult for customers to find any
service in an emergency at any time and place. So with this project we are going to develop a
website and android app which will help customers to find out a solution for any problems
related to Plumbing, Electrical, Electronic, and Mechanical, Pest Control, Home Paint and
Machine Repairing service. Our website and android application will provide a platform for
all kinds of household services at any time and place. Our project will also provide the
facilities like security, online payment, map navigation and also advertisement.

19012011114_Het Patel Page i


2CEIT502: Software Engineering
INDEX
1 Contents
ABSTRACTi
LIST OF FIGURESiii
1 INTRODUCTION1
1.1. Problem Statement1
1.2. Background1
1.3. Benefit of Application1
1.4. Objectives1
1.5. Purpose2
1.6. Features of Application2
2 FEASIBILITY STUDY2
2.1 Technical Feasibility:3
2.2 Time Schedule Feasibility:3
2.3 Operational Feasibility:3
2.4 Implementation Feasibility:3
2.5 Economic Feasibility:3
3 Literature Survey4
3.1 Literature Survey Table4
4 Hardware and Software Requirements6
4.1 For application use6
4.2 For application development6
5 System Requirement Study6
5.1 Functional Requirement6
5.1.1 Interoperability6
5.1.2 Security7
5.1.3 Accuracy7
5.2 Non-Functional Requirement7
5.2.1 Performance7
5.2.2 Maintainability7
5.2.3 Portability7
5.2.4 Supportability7
6 System Design8
6.1 E-R Diagram8

19012011114_Het Patel Page ii


2CEIT502: Software Engineering
6.2 DFD9
6.2.1 0-level9
6.2.2 1-level for customer10
6.2.3 1-level for service provider11
7 Conclusion and Future Work12
7.1 Conclusion13
7.2 Future work13
8 Reference13

LIST OF FIGURES

Fig 1.ER-Diagram……………………………………………………………………………8
Fig 2.DFD-0-level……………………………………………………………………………9
Fig 3.DFD-1-Level-Customer………………………………………………………………...10
Fig 4.DFD-1-Level-Service Provider…………………………………………………………11

19012011114_Het Patel Page iii


2CEIT502: Software Engineering
1 INTRODUCTION

1.1. Problem Statement


Each day, homeowners encounter numbers of problems associated with their electrical
appliances, wooden structures, water, etc... These may seem minor issues but they lead to
major problems if left untreated. Sometimes, people ignore them because they need to spend
some time to look for experienced professionals so this application provide best and time
saving solution for this kind of problem within single application
An on-demand app for plumber, electrician, carpenter, cable operator can help find
experienced professionals at ease and hire them quickly.
On the other hand, plumbers, electricians, and carpenters can use the application to get hired
easily and grow their business.
It also provides easy communication between customer and professional. In this busy time
people can’t have too much time so they can easily find the services they need and the
professionals also spread their business using the internet or this application. So it is also used
to save time.

1.2. Background
Sometimes we don’t have time to deal with some household issues so we need some
technology that provides the best solution for this real-time problem. So we think the easy
solution for this problem is make one android application now day all have smart phones so it
is more beneficial for all. Now days it is hard to find some expert and also professional can’t
find customer so using this application they can easily communicate.
So it is better to use mobile application instant of going outside and find worker for your
particular problem. Also sometime we face problem to pay for our service and if you don’t
deal with this kind of situation so you have to pay more than service charges so in mobile
application you also compare all the service provider and hired the best provider of your area.
Sometime you don’t know about your area so it is hard to find shops or offices of service
provider so all this kind of problems can solve using one mobile application that’s why we
want to design such kind of application that help customers and professionals.

1.3. Benefit of Application


Benefits of this Application are
• Target local audience
• Provide personalized and loyal service
• More flexible
• Build Network between customer and professionals
• save time no need to go outside to find professionals, etc…

1.4. Objectives
19012011114_Het Patel Page 1
2CEIT502: Software Engineering
1. Each day, homeowners encounter numbers of problems associated with their electrical
appliances, wooden structures, water etc... These may seem minor issues but they lead to
major problems if left untreated. Sometimes, people ignore them because they need to
spend some time to look for experienced professionals so this application provide best
and time saving solution for this kind of problem within single application.

2. An on-demand app for plumber, electrician, carpenter, cable operator can help find
experienced professionals at ease and hire them quickly.

3. Providing quality customer service.

4. Select best service provider based on Ratings and Reviews.

5. On the other hand, plumbers, electricians, and carpenters can use the application to get
hired easily and grow their business.

6. Easy communication between customers and professionals.

1.5. Purpose

1. Household services are easily available.


2. To provide household services any time.
3. Easy online payment.
4. Saving of time.
5. Make available household services through application.

1.6. Features of Application

2 FEASIBILITY STUDY

19012011114_Het Patel Page 2


2CEIT502: Software Engineering
The objective of the feasibility analysis is to determine whether or not the proposed system is
feasible. The feasibility is determined in terms of five aspects. These are: -

2.1 Technical Feasibility:

Technical feasibility study is the complete study of the project in terms of input, processes,
output, fields, programs and procedures. It is a very effective tool for long term planning and
trouble shooting. The technical feasibility study should most essentially support the financial
information of an organization. In this, one has to test whether system can be developed
using the existing technology or not. We have used here the Android framework with SQLite
and languages as Java, Kotlin and xml. From the technology and languages mentioned above
it evident that necessary hardware and software are available for the development and
implementation of the proposed system. We acquired the technical knowledge of working in
Android and then only started the designing of the project.

2.2 Time Schedule Feasibility:

Schedule feasibility is the degree to which a deadline for a strategy, plan, project or process is
realistic and achievable.

2.3 Operational Feasibility:

Operational feasibility checks, whether the end user will be able to work with this new app
or not. If user does not understand or is not able to work with this app then development of
this app is waste of time and money.

2.4 Implementation Feasibility:

Implementation feasibility is the framework of facilitating and accelerating the successful


implementation of a regional energy plan by evaluating whether the plan at hand is fiscally,
technologically, legally, politically, administratively, culturally, and ethically feasible.

2.5 Economic Feasibility:

For proving that system developed is economical, the economic feasibility study takes place
to check the cost of developing a system against the benefits that it provides. If the cost is less
and benefits are more than we can define our system to be economically developed. User
saves time in searching for a particular product to be purchased by simply few clicks. The
registration process is speedier than the registered manually. The saving of papers as all data
are stored computerized. The record is of free of human errors as there is less chance of
mistakes. The above benefits are in terms of saving time, minimize errors and provide
efficiency in work done.

19012011114_Het Patel Page 3


2CEIT502: Software Engineering

3 Literature Survey

3.1 Literature Survey Table

SR Year Title Summery Methods Disadvantage Analysis


No
1. 2018 An Online The online This application 1)system has This paper
System for household is developed online payment discusses about
Household services using by only main theme of
Services application WordPress and MasterCard the online home
provides some of PHP services,
the home services 2)This system numerous
which are most It is developed accommodates services
frequently used. in various the changing provided and
modules needs of the end how the
In this Paper we Like user. ordering and
get some Registration delivery of
information about Module, Service services takes
payment module Module, etc.. place.

Online system
for household
services can be
used by any
authorized user
intending to
seek for
household
services through
an ingenious
web-based
system or a
mobile
application.

19012011114_Het Patel Page 4


2CEIT502: Software Engineering
2. 2020 Web Unlike the other This web 1)Payment To reduce the
Application application, the application methods are not burden in finding
Based on application developed present. apt service
Demand consists of the using PHP as providers this
Home chat bot which front end and 2)Proper GUI is application
Service helps the users to SQL server as not present. provides the
System clarify the queries back end. detailed
posted. information
It is developed which helps the
Feedback Module in various users to get their
is included modules services fulfil
Admin Module, instantly. Unlike
Registration the other
Module, User application, the
Module etc.. application
consists of the
chat bot which
helps the users
to clarify the
queries posted.

3. 2016 Domestic In this paper it They are use 1)We can Unlike the
Android has many Android studio manually insert existing
Application algorithms which for developing location instant application, this
for Home is very useful for application. off using GPS. application uses
Services developing our GPS to fetch
application In this we can the users’
learn about 2)Need to insert location and
various more services assigns nearest
algorithm like service provider
Algorithm to from
fetch latitude his existing
and longitude , location
compare dynamically
latitude and
longitude of
User and
Service Provider
etc…

19012011114_Het Patel Page 5


2CEIT502: Software Engineering

4 Hardware and Software Requirements

4.1 For application use

Hardware:

1. Android Smartphone (above Android 6.0)


2. 2GB RAM
3. More than 8GB internal storage

Software:

1. Operating system is Android Marshmallow and above


2. Google Map
3. Location driver

4.2 For application development

Hardware:

1. Processor: Intel core i3 and above


2. RAM: 4GB or more
3. Hard disk 250 GB and more

Software:

1. Operating system is Windows 10


2. Front End: Android Studio 4.0
3. Programming Languages: Kotlin and Java
4. Back End: SQlite Database

5 System Requirement Study

5.1 Functional Requirement

5.1.1 Interoperability

19012011114_Het Patel Page 6


2CEIT502: Software Engineering
Requirement describes whether a software system is interoperable across different systems.
We developed application using such function or platforms that it is interoperable. We use
android studio and java programming language so this application is interoperable.

5.1.2 Security

The functional requirement describes the security aspect of software requirements. In over
application we use some Security features like when we you login using any new device it is
required to enter otp code. We also provide data security so other people or hacker cannot
access data easily.

5.1.3 Accuracy

Accuracy defines a data entered into the system is correctly calculated and used by the
system and that the output is correct. We focus on accuracy of system so we don’t get
unnecessary data from the user so it is easy to maintain dataflow. If size of data is small so
we give perfect and correct output.

5.2 Non-Functional Requirement

5.2.1 Performance
A performance attribute type of non-functional requirement measures system performance.
We use light weight programing and we developed application in android studio and we
divide modules in proper way so it gives you best performance. You can find service using
your current location and you also apply such filters for find best professional of your area.

5.2.2 Maintainability
Maintainability of a software system is the ease with which the system can be maintained. If
the Mean Time Between Failures (MTBF) is low or Mean Time To Repair (MTTR) is high
for the system being developed, then the maintainability of the system is considered low.

Maintainability is often measured at code level using Cyclomatic complexity. Cyclomatic


complexity says that the lesser complex the code is, the easier it is to maintain the software.

5.2.3 Portability

Portability means the ability of a software system to work in a different environment if the
underlying dependent framework stays the same. Our application work on Android
Marshmallow and above OS.

5.2.4 Supportability

19012011114_Het Patel Page 7


2CEIT502: Software Engineering
Serviceability of a software system is the ability of a service/technical expert to install the
software system in a real-time environment, monitor the system while it is running, identify
any technical issues in the system and provide a solution to resolve the issue. Serviceability is
possible if the system is developed to facilitate serviceability.

6 System Design

6.1 E-R Diagram

An entity-relationship diagram (ERD) is a graphical representation of an information system


that shows the relationship between people, objects, places, concepts or events within that
system. An ERD is a data modeling technique that can help define business processes and can
be used as the foundation for a relation database.

Fig 1.ER-Diagram

19012011114_Het Patel Page 8


2CEIT502: Software Engineering

6.2 DFD
A data flow diagram is a graphical representation of the “flow” of data through an
information system, modeling its process aspects.

A DFD shows what kind of information will be input to and output from the system, where
the data will come from and go to, and where the data will be stored. It does not show
information about the timing of process or information about whether processes will operate
in sequence or in parallel.

6.2.1 0-level

Fig 2.DFD-0-level

19012011114_Het Patel Page 9


2CEIT502: Software Engineering

6.2.2 1-level for customer

Fig 3.DFD-1-level-Customer
19012011114_Het Patel Page 10
2CEIT502: Software Engineering

6.2.3 1-level for service provider

19012011114_Het Patel Page 11


2CEIT502: Software Engineering

Fig 4.DFD-1-level-Service Provider


7 Conclusion and Future Work

19012011114_Het Patel Page 12


2CEIT502: Software Engineering
7.1 Conclusion
To reduce burden in finding in-house solutions for the services, the proposed system provides
several services by providing service specialists at your doorstep in one click. A systematic
mobile environment to system clients offers ease in accessing our services in a more
comfortable way. With well qualified and background demonstrated professionals we make
all your home cleaning, plumbing, furniture maintenance, electrical works, appliance repair,
house painting, vehicle service and many other services to be done in a click anytime from
anywhere as easy as available. This is very user friendly application and you also choose
various payment option with best security.

7.2 Future work


In future we developed an android application in which we will put a map navigation for the
service provider for find the location of user and the advertisement of shopkeeper where the
shopkeeper can sell his equipment. Also we add feature of QR code. Generating the QR code
in the application itself will be more secured. No need of carrying print outs for proofs as the
data is stored in the application itself. If the QR code is available with the user, the service
provider will validate it by matching the QR code and if it is not available with the user, then
that user is not valid.

8 Reference

[1]: N. M. Indravasan , An Online System for Household Services, International Journal of


Engineering Research & Technology (IJERT) ISSN: 2278-0181 Published by, www.ijert.org
NCESC - 2018 Conference Proceedings
[2]: Sheetal Bandekar, Avril D’Silva, Domestic Android Application for Home Services
[3]: 2020 6th International Conference on Advanced Computing & Communication Systems
(ICACCS), Web Application Based On Demand Home Service System
[4]: http://hservices.ca/
[5]: https://www.justdial.com/
[6]: https://www.peerbits.com/blog/complete-guide-on-demand-home-services-app.html
[7]: https://www.urbancompany.com/
[8]: https://www.capermint.com/blog/on-demand-service-app-urbanclap/
[9]: https://mobisoftinfotech.com/resources/blog/on-demand-home-services-startups/

19012011114_Het Patel Page 13


2CEIT502: Software Engineering
Practical:8
AIM: ESTIMATION TECHNIQUES

Case Study: The SE VLabs Institute has been recently setup to provide state-of-the-art
research facilities in the field of Software Engineering. Apart from research scholars (students)
and professors, it also includes quite a large number of employees who work on different
projects undertaken by the institution. As the size and capacity of the institute is increasing with
the time, it has been proposed to develop a Library Information System (LIS) for the benefit of
students and employees of the institute. LIS will enable the members to borrow a book (or return
it) with ease while sitting at his desk/chamber. The system also enables a member to extend the
date of his borrowing if no other booking for that particular book has been made. For the library
staff, this system aids them to easily handle day-to-day book transactions. The librarian, who has
administrative privileges and complete control over the system, can enter a new record into the
system when a new book has been purchased, or remove a record in case any book is taken off
the shelf. Any non-member is free to use this system to browse/search books online. However,
issuing or returning books is restricted to valid users (members) of LIS only. The final
deliverable would a web application (using the recent HTML 5), which should run only within
the institute LAN. Although this reduces security risk of the software to a large extent, care
should be taken no confidential information (eg., passwords) is stored in plain text.

The SE VLabs Institute has a IT management team of it's own. This team has been given the task
to execute the Library Information System project. The team consists of a few experts from
industry, and a batch of highly qualified engineers experienced with design and implementation
of information systems. It is planned that the current project will be undertaken by a small team
consisting of one expert and few engineers. Actual team composition would be determined in a
later stage. Using COCOMO and based on the team size (small) and experience (high), the
concerned project could be categorized as "organic". The experts, based on their prior
experience, suggested that the project size could roughly be around 10 KLOC. This would serve
as the basis for estimation of different project parameters using basic COCOMO, as shown
below:

Effort = a * (KLOC)b PM
Tdev = 2.5 * (Effort)c Months

For organic category of project, the values of a, b, c are 2.4, 1.05, 0.38 respectively. So, the
projected effort required for this project becomes

Effort = 2.4 * (10)1.05 PM = 27 PM (approx.)

So, around 27 person-months are required to complete this project. With this calculated value for
effort we can also approximate the development time required:

19012011114_Het Patel Page 1


2CEIT502: Software Engineering
Tdev = 2.5 * (27)0.38 Months
= 8.7 Months (approx.)

So, the project is supposed to be complete by nine months. However, estimations using basic
COCOMO are largely idealistic. Let us refine them using intermediate COCOMO. Before doing
so we determine the Effort Adjustment Factor (EAF) by assigning appropriate weight to each of
the following attributes.

The cells with yellow backgrounds highlight our choice of weight for each of the cost drivers.
EAF is determined by multiplying all the chosen weights. So, we get

EAF = 0.53 (approx.)

Using this EAF value we refine our estimates from basic COCOMO as shown below
Effort|corrected = Effort * EAF
= 27 * 0.53
= 15 PM (approx)
Tdev|corrected = 2.5 * (Effort|corrected)c
= 2.5 * (15)0.38
= 7 months (approx)

19012011114_Het Patel Page 2


2CEIT502: Software Engineering
After refining our estimates, it seems that seven months would likely be enough for completion
of this project. This is still a rough estimate since we have not taken the underlying components
of the software into consideration. Complete COCOMO model considers such parameters to give
a more realistic estimate.

Self-Evaluation:

1. According to the COCOMO model, a project can be categorized into


3 types
5 types
5 types
No such categorization
2. In Intermediate COCOMO model, Effort Adjustment Factor (EAF) is derived from the
effort multipliers by
Adding them
Multiplying them
Taking their weighted average
Considering their maximum
3. Project metrics are estimated during which phase?
Feasibility study
Planning
Design
Development
4. According to Halsetad's metrics, program length is given by the
Sum of total number of operators and operands
Sum of number of unique operators and operands
Total number of operators
Total number of operands
5. Complete COCOMO considers a software as a
Homogeneous system
Heterogeneous system
6. Consider you are developing a web application, which would make use of a lot of web
services provided by Facebook, Google, Flickr. Would it be wise to make estimates for this
project using COCOMO?
Yes, of course
Not at all

19012011114_Het Patel Page 3


2CEIT502: Software Engineering
The Absolute Beginners Inc. is again at your door! This time their demand is, however, simple.
They have a C program, which computes the area of a circle (code shown below). They want it to
be rewritten in Java.

01 int
02 main(int argc, char **argv)
03 {
04 int radius = 12.34;
05
printf("Area of the circle with radius %f is: %f\n", radius,
06
area(radius));
07
08 return 0;
09 }
10
11 float
12 area(float r) {
13 return 22 * r * r / 7;
14 }

Using Halstead's metrics estimate the effort required to recreate this program
Learning Objectives:
1. Determining estimated effort using Halstead's metrics

Parameter Value

Total # of operators
Total # of operands
Total # of unique operators
Total # of unique operands
Program length 43
Program vocabulary 23
Volume 194.51
Difficulty 10.11
Effort 1966.5
Time to implement (in seconds) 109.25

19012011114_Het Patel Page 4


2CEIT502: Software Engineering
Practical:9
AIM: A Library Information System for SE VLabs Institute
The SE VLabs Institute has been recently setup to provide state-of-theart research facilities in the field of Software Engineering. Apart
from research scholars (students) and professors, it also includes quite a large number of employees who work on different projects
undertaken by the institution.As the size and capacity of the institute is increasing with the time, it has been proposed to develop a
Library Information System (LIS) for the benefit of students and employees of the institute. LIS will enable the members to borrow a
book (or return it) with ease while sitting at his desk/chamber. The system also enables a member to extend the date of his borrowing
if no other booking for that particular book has been made. For the library staff, this system aids them to easily handle day-to-day
book transactions. The librarian, who has administrative privileges and complete control over the system, can enter a new record into
the system when a new book has been purchased, or remove a record in case any book is taken off the shelf. Any non-member is free
to use this system to browse/search books online. However, issuing or returning books is restricted to valid users (members) of LIS
only. The final deliverable would a web application (using the recent HTML5), which should run only within the institute LAN.
Although this reduces security risk of the software to a large extent, care should be taken no confidential information (eg., passwords)
is stored in plain text.

Test case preparation could begin right after requirements identification stage. It is desirable (and advisable) to create a Requirements
Traceability Matrix (RTM) showing a mapping from individual requirement to test case(s). A simplified form of the RTM is shown in
table 1 (the numbers shown in this table are arbitrary; not specific to LIS).

Table 1: A simplified mapping from requirements to


test cases
Requirement # Test Case #
R1 TC1

R2 TC2, TC3, TC4

R3 TC5

R4 TC6

19012011114_Het Patel Page 1


2CEIT502: Software Engineering
Table 1 states which test case should help us to verify that a specified feature has been implemented and working correctly. For
instance, if test case # TC6 fails, that would indicate requirement # R4 has not fully realized yet. Note that it is possible that a
particular requirement might need multiple test cases to verify whether it has been implemented correctly. To be specific to our
problem, let us see how we can design test cases to verify the "User Login" feature. The simplest scenario is when both username and
password have been typed in correctly. The outcome will be that the user could then avail all features of LIS. However, there could be
multiple unsuccessful conditions:

• User ID is wrong
• Password is wrong
• User ID & password are wrong
• Wrong password given twice consecutively
• Wrong password given thrice consecutively
• Wrong password given thrice consecutively, and security question answered correctly
• Wrong password given thrice consecutively, and security question answered incorrectly

Table 2: A test suite to verify the "User Login" feature

# TS1
Title Verify "User Login" functionality
Description To test the different scenarios that might arise while an user is trying to login

Post-
# Summary Dependency Pre-condition Execution Steps Expected Output
condition
Verify that user
already Employee 1. Type in employee ID
registered with ID 149405 is a as 149405
User is "Home" page for the user
TC1 the LIS is able registered user of
logged in
2. Type in is displayed
to login with LIS; user's password password this_is_password
correct user ID is this_is_password 3. Click on the 'Login' button
and password

19012011114_Het Patel Page 2


2CEIT502: Software Engineering
# TS1
Title Verify "User Login" functionality
Description To test the different scenarios that might arise while an user is trying to login

Post-
# Summary Dependency Pre-condition Execution Steps Expected Output
condition
Verify that an 1. Type in employee ID The "Login" dialog is
Employee
unregistered User is not as 149405xx shown with a "Login
TC2 ID 149405xx is not a
user of LIS is logged in 2. Type in password whatever failed! Check your user ID
registered user of LIS
unable to login 3. Click on the 'Login' button and password" message

Verify that user


already Employee 1. Type in employee ID The "Login" dialog is
registered with ID 149405 is a shown with a "Login
User is not as 149405
TC3 the LIS is registered user of failed! Check your user
logged in 2. Type in password whatever
unable to login LIS; user's password ID and
with incorrect is this_is_password 3. Click on the 'Login' button password" message
password
Verify that user
already
registered with This test case is 1. Type in employee ID The "Login" dialog is
the LIS is executed after
User is not as 149405 shown with a "Login
TC4 unable to login TC3 execution of TC3
logged in 2. Type in password whatever failed! Check your user ID
with incorrect before executing any
3. Click on the 'Login' button and password" message
password given other test case
twice
consecutively
Verify that user
The "Login" dialog is
already
registered with This test case is 1. Type in employee ID shown with a "Login
as 149405 failed! Check your user
the LIS is executed after
User is not ID and
TC5 unable to login TC4 execution of TC4
logged in
2. Type in password" message; the
with incorrect before executing any password whatever3 security question and
password other test case 3. Click on the 'Login' button input box for the answer
given thrice
are displayed
consecutively

19012011114_Het Patel Page 3


2CEIT502: Software Engineering
# TS1
Title Verify "User Login" functionality
Description To test the different scenarios that might arise while an user is trying to login

Post-
# Summary Dependency Pre-condition Execution Steps Expected Output
condition
Verify that a
Email sent
registered user This test case is
containing
can login after executed after
new 1. Type in the answer
three execution of TC6
password. Login dialog is displayed;
consecutive before executing any as bhargav123
TC6 TC5 The email is an email containing the
failures by other test case. 2. Click on the 'Email new password is received
expected to
correctly Answer to the Password' button
be received
answering the security question
within 2
security is bhargav123.
minute.
question
Verify that a
registered
user's account
Execute the test
is blocked after 1. Type in the answer The message "Your
cases TC3, TC4, and User
three account has been
TC5 once again (in account as bhargav1234
TC7 consecutive blocked! Please contact
order) before has been 2. Click on the 'Email the
failures and
executing this test blocked Password' button
answering the administrator." appears
case
security
question
incorrectly

19012011114_Het Patel Page 4


2CEIT502: Software Engineering
Practical:10
AIM: To identify the various elicitation techniques and their usage for the
Banking case study.
Note :Requirement elicitation is the process of seeking, discovering, acquiring and elaborating
requirements. This includes learning and understanding the needs of the users. This activity is
communication centric and iterative in nature. The techniques used here are important to get
stakeholder consensus on the Requirements.

Case Study :KHL is a leading global bank that provides standard banking services to its
customers spanning across the globe. The head office is located in London and the bank has a
presence in more than 20 countries with a client base of nearly 500,000.Tuning with time and
ever increasing clients and transactions, the bank has specialized branches for specific customer
segments like consumer, corporate and the SMEs. KHL Bank aims to be a one stop shop for its
customers to address their changing financial needs. KHL bank offers various banking products
and services across its customer segments including Core Banking and Wealth Management
amongst other services. KHL Bank is well known among its clients for world-class processes
and speed of execution of transactions as part of core banking. Currently, KHL bank has made a
proposal for investing around $200 million in setting-up 24x7 banking support facilities for the
customers. The bank has decided to leverage IT for automating several business processes
including:

1)Managing Accounts

2)Transaction Management

The aim of this proposed banking system is to create a paperless bank thereby moving towards e-
banking. FinSoft, a newly established software company has the vision of providing software
solutions in the financial sector. Managing Director (MD) of KHL bank has approached FinSoft
for the computerization of the bank so that there is no more manual way of doing transactions in
any of its branches. As part of automation, the KHL bank users are to be provided with ATM
facility, e-banking facility over internet and phone banking facility over land lines and cellular
networks. FinSoft is doing such a project for the first Time. Requirements development team in
FinSoft has planned for carrying out the requirement elicitation for this project. In the context of
the case study, for the following scenarios identify the most appropriate requirements elicitation
techniques (Brainstorming, Workshops, Questionnaire, Task Analysis, Observation,
Prototyping, Scenario identification)

19012011114_Het Patel Page 1


2CEIT502: Software Engineering
Scenario Requirement elicitation technique
Scenario Requirement elicitation technique
Interrogative conservation with Questionnaire
Managers, Cashiers, Clerks and other In this, Requirement Engineers conduct an interview
Staff for arriving at the requirement for with the clients to understand the requirements
automating transactions
Formal and planned requirement Workshops
discussion in a conference to room Organization may conduct workshops among various
conducted among managers of stakeholders by querying about their expectation and
diversified branches facilitated by requirements from the upcoming system.
anchor.
Survey form circulated among the users Questionnaire
(account holders) who visit the bank, to A document with pre-defined set of objective questions
ease their interactions with bank and respective options is handed over to all stakeholders
to answer, which are collected and compiled.
Analysis for understanding mode of Task Analysis
transactions-Checks, Cash, DD, MT, Team of engineers and developers may analyses the
Gold, etc. operation for which the new system is required. If the
client already has some software to perform certain
operation, it is studied and requirements of proposed
system are collected.
Ethnographers deployed for Observation
understanding the users interactions Team of experts visits the client’s organization or
with bank officials. workplace. They observe the actual working of the
existing installed systems.
UI design of e-banking portal, ATM, Prototyping
Computer Systems Prototyping is building user interface without adding
detail functionality for user to interpret the features of
intended software product. It helps giving better idea of
requirements.
Understanding the process involved in Scenario identification
each transaction like withdraw, deposit, In this, the developers identify and understand the
fund transfer etc. complete scenario of the system.

19012011114_Het Patel Page 2

You might also like