Software Engineering Practical 1 To 10
Software Engineering Practical 1 To 10
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?
• 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.
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.
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
Overlapping
No No Yes Yes
Phases
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
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
Component
8 Excellent Poor Poor Excellent
reusability
Practical:2
AIM: To prepare a problem statement with description of the project you
decided
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:
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
Software:
Operating system is Android Marshmallow and above
Google Map
Location driver
Software:
Operating system is Windows 10
Front End: Android Studio 4.0
Programming Languages: Kotlin and Java
Database: Google Firebase
4. Activity Diagram:
Registration/Login activity
5. Sequence Diagram
19012011114_Het Patel Page 5
2CEIT502: Software Engineering
For customer:
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.
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
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
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.
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
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.
2. Invite Teammates:
4. JIRA dashboard:
7. Code:
Advantages of Redmine:
Disadvantages of Redmine:
2. Login:
3. MyPage:
5. Issue summary:
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.
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
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.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.
5. On the other hand, plumbers, electricians, and carpenters can use the application to get
hired easily and grow their business.
1.5. Purpose
2 FEASIBILITY STUDY
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.
Schedule feasibility is the degree to which a deadline for a strategy, plan, project or process is
realistic and achievable.
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.
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.
3 Literature Survey
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.
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…
Hardware:
Software:
Hardware:
Software:
5.1.1 Interoperability
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.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.
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
6 System Design
Fig 1.ER-Diagram
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
Fig 3.DFD-1-level-Customer
19012011114_Het Patel Page 10
2CEIT502: Software Engineering
8 Reference
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
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:
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
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)
Self-Evaluation:
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
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).
R3 TC5
R4 TC6
• 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
# 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
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
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
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)