0% found this document useful (0 votes)
2K views85 pages

Software Engineering Manual

The document provides details of Mr. Patel Vishwa Mahendrabhai's work in the subject of Software Engineering at the Government Engineering College in Gandhinagar, India. It outlines six practical assignments completed as part of the course, including studying the software development life cycle, creating a software requirements specification, using the COCOMO model to estimate effort for a software project, developing various software documents, and studying open source DevOps tools.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views85 pages

Software Engineering Manual

The document provides details of Mr. Patel Vishwa Mahendrabhai's work in the subject of Software Engineering at the Government Engineering College in Gandhinagar, India. It outlines six practical assignments completed as part of the course, including studying the software development life cycle, creating a software requirements specification, using the COCOMO model to estimate effort for a software project, developing various software documents, and studying open source DevOps tools.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 85

3150711 Software Engineering

Government Engineering College


Gandhinagar sec - 28

Certificate

This is to certify that

Mr / Ms ….Patel Vishwa Mahendrabhai …… of class CE 5th


Division B enrollment no. …180130107080… has satisfactory completed

his / her work in subject …….Software Engineering ….

Date : 27 / 10 / 2020

180130107080 1 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Sr. Name of Practical CO Unit/Module Date


No
1 Study the complete Software Development Life Cycle 1 Module 1 29/07/2020
(SDLC) and analyze various activities conducted as a part
of various phases. For each SDLC phase, identify the
objectives and summaries outcomes.
2 Consider any project to be developed in any technology 1 Module 4 05/08/2020
as a Software Architect or Project
Manager. Construct Software Requirement Specification
(SRS) document for the project.
3 Considering your immense expertise in software 3 Module 3 19/08/2020
development, The Absolute Beginners Inc. has recently
allotted you a mega project. The goal of the project is to
create a database of all Hindi films released since 2000.
The software would allow one to generate a list of top ten
hit films, top ten flop films, best comedy films, and so on.
Using your prior experience you have decided the
approximate sizes of each module of the software as
follow:
Data entry (0.9 KDSI)
Data update (0.7 KDSI)
Query (0.9 KDSI)
Report generation and display (2 KDSI)

Also take into consideration the following cost drivers


with their ratings:
Storage constraints (Low)
Experience in developing similar software (High)
Programming capabilities of the developers (High)

180130107080 2 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Application of software engineering methods (High)


Use of software tools (High)

(All other cost drivers have nominal rating).


Now answer the following:
Solve the problem by Applying Basic and intermediate
COCOMO

1. Find Project Type?


2. Find Project Size?
Find Initial Effort 3.Estimation?
Find Adjusted Effort Estimation?
4. Find schedule?
5. Find minimum size of the team you would require to
develop this system?

4 Consider the following Java code segment: 2 Module 5 07/10/2020


5 For your system prepare software documents as 1 Module 4 07/10/2020
mentioned from A to E 2 Module 5
3 Module 6
4
A. Development of Software Requirements Specification
(SRS)
B. Function oriented design using SA/SD
C. Object-oriented design using UML
D. Test case design
E. Implementation using Java and testing

180130107080 3 Patel Vishwa Mahendrabhai


3150711 Software Engineering

6 Study of any any two Open source tools in DevOps for 5 Module 9 14/10/2020
Infrastructure Automation, Configuration Management,
Deployment Automation, Performance Management, Log
Management. Monitoring. (Behat , Watir, Chef,
Supergiant, SaltStack, Docker, Hudson etc)

180130107080 4 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Practical 1: Study the complete Software Development Life Cycle (SDLC) and
analyze various activities conducted as a part of various phases. For each
SDLC phase, identify the objectives and summaries outcomes.

 The full form of SDLC is Software Development Life Cycle.


 The Software Development Life Cycle is a process that produces software with the
highest quality and lowest cost in the shortest time possible.
 SDLC consists of a detailed plan describing how to develop, maintain, replace and alter
or enhance specific software..

 Provides a framework for a standard set of activities and deliverables.


 It is a mechanism for project tracking and control.
 Increases visibility of project planning to all involved stakeholders of the development
process.
 Helps you to decrease project risk and project management plan overhead.

180130107080 5 Patel Vishwa Mahendrabhai


3150711 Software Engineering

SDLC phases are as Follows:

Phase 1: Requirement Gathering :

All the requirements are gathered from stakeholders including customers, industry
experts, and programmers.

Phase 2: Planning

In this stage of the SDLC, the team determines the cost and resources required for
implementing the requirements.

It also details the risks involved and provides sub-plans for protecting those risks.

Phase 3: Design

In this stage basic software architecture is defined according to requirements of the


stakeholder.

Phase 4: Coding

In this stage the actual development starts.

It’s important that every developer sticks to the agreed blueprint

Phase 5: Testing

In this stage, we test for defects and deficiencies. We fix those issues until the product
meets the original specifications.

Phase 6: Deployment

At this stage, the goal is to deploy the software to the production environment so users
can start using the product.

180130107080 6 Patel Vishwa Mahendrabhai


3150711 Software Engineering

1) Waterfall model :

 Waterfall model is also known as Sequential ,Linear or Classical Life Cycle.

 The Waterfall model was the first process model to be introduced.

 The waterfall model used when user requirements are fixed and the size of the project
is small.
 Patiency level is very high because final product is available after long time.

 The waterfall Model illustrates the software development process in a linear sequential
flow.

In The Waterfall approach, the whole process of software development is divided into
separate phases.

1) Requirement Analysis

2) System Design

3) Implementation

4) Testing

5) Deployment

6) Maintenance

In this Waterfall model, typically, the outcome of one phase acts as the input for the next
phase sequentially.

180130107080 7 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Figure : Waterfall model

Phases of the Waterfall Model :

 Requirement Gethering and Analysis :

All possible requirements of the system to be developed are captured in this phase and
documented in a software requirement and specification document.

 Design :

The requirement specifications from first phase are studied in this phase and the system
design is prepared. This system design helps in specifying hardware and system
requirements and helps in defining the overall system architecture.

180130107080 8 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Implementation :

With inputs from the system design, the system is first developed in small programs
called units, which are integrated in the next phase. Each unit is developed and tested for
its functionality, which is referred to as Unit Testing.

 Integration and Testing :

All the units developed in the implementation phase are integrated into a system after
testing of each unit. Post integration the entire system is tested for any faults and failures.

 Deployment of system :

Once the functional and non-functional testing is done; the product is deployed in the
customer environment or released into the market.

 Maintenance :

There are some issues which come up in the client environment. To fix those issues,
patches are released. Also to enhance the product some better versions are released.
Maintenance is done to deliver these changes in the customer environment.

 Advantages :

 Works well for smaller projects where requirements are very well understood.

 Simple and easy to understand and use

 Phases are processed and completed one at a time.

 Easy to arrange tasks.

 Process are well documented

180130107080 9 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Disadvantages :

 Not suitable for the projects where requirements are at a moderate to high risk of
changing.

 Not a good model for complex and object-oriented projects.

 Poor model for long and ongoing projects.

 No working software is produced until late during the life cycle.

 High amounts of risk and uncertainty.

 It is difficult to measure progress within stages.

 Adjusting scope during the life cycle can end a project

 When to use:

 This model is used only when the requirements are very well known ,clear and fixed.

 Product definition is stable.

 Technology is understood.

 There are no ambiguous requirements.

 The project is short.

 Example:

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.

180130107080 10 Patel Vishwa Mahendrabhai


3150711 Software Engineering

2) Prototyping Model :

 The Prototyping Model is one of the most popularly used Software Development Life
Cycle Models (SDLC models).

 This model is used when the customers do not know the exact project requirements
beforehand.

 In this model, a prototype of the end product is first developed, tested and refined as per
customer feedback repeatedly till a final acceptable prototype is achieved which forms
the basis for developing the final product.

180130107080 11 Patel Vishwa Mahendrabhai


3150711 Software Engineering

There are 2 approaches for this model:

1. Rapid Throwaway Prototyping :

This technique offers a useful method of exploring ideas and getting customer feedback for
each of them.
In this method, a developed prototype need not necessarily be a part of the ultimately
accepted prototype. Customer feedback helps in preventing unnecessary design faults and
hence, the final prototype developed is of a better quality.

2. Evolutionary Prototyping :

In this method, the prototype developed initially is incrementally refined on the basis of
customer feedback till it finally gets accepted. In comparison to Rapid Throwaway
Prototyping, it offers a better approach which saves time as well as effort. This is because
developing a prototype from scratch for every iteration of the process can sometimes be
very frustrating for the developers.

180130107080 12 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Advantages :

 The customers get to see the partial product early in the life cycle. This ensures a greater
level of customer satisfaction and comfort.

 New requirements can be easily accommodated as there is scope for refinement.

 Missing functionalities can be easily figured out.

 Errors can be detected much earlier thereby saving a lot of effort and cost, besides
enhancing the quality of the software.

180130107080 13 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 The developed prototype can be reused by the developer for more complicated projects in
the future.
 Flexibility in design.

 Disadvantages :

 Costly w.r.t time as well as money.

 There may be too much variation in requirements each time the prototype is evaluated by
the customer.
 Poor Documentation due to continuously changing customer requirements.

 It is very difficult for the developers to accommodate all the changes demanded by the
customer.
 There is uncertainty in determining the number of iterations that would be required before
the prototype is finally accepted by the customer.

 After seeing an early prototype, the customers sometimes demand the actual product to be
delivered soon.

 Developers in a hurry to build prototypes may end up with sub-optimal solutions.

 The customer might lose interest in the product if he/she is not satisfied with the initial
prototype.

180130107080 14 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 When to use:

 The Prototyping Model should be used when the requirements of the product are not
clearly understood or are unstable.
 It can also be used if requirements are changing quickly.
 It is also a very good choice to demonstrate the technical feasibility of the product.
 This model can be successfully used for developing user interfaces, high technology
software-intensive systems, and systems with complex algorithms and interfaces

 Real Time example:


Prototype model is used to make E – Commerce websites such as shopping site.

180130107080 15 Patel Vishwa Mahendrabhai


3150711 Software Engineering

3) Rapid Application Development :

The Rapid Application Development model is based on prototyping and iterative development
with no specific planning involved.

The critical feature of this model is the use of powerful development tools and techniques.

A software project can be implemented using this model if the project can be broken down in to
small modules wherein each module can be assigned independently to separate teams.

These modules can be combined to form final product.

Development of each module involves the various basic steps as in waterfall model analyzing,
designing, coding and then testing, etc.

180130107080 16 Patel Vishwa Mahendrabhai


3150711 Software Engineering

This model consists of 4 basic phases:

1. Requirements Planning :

It involves the use of various techniques used in requirements elicitation like


brainstorming, task analysis, form analysis, user scenarios, FAST (Facilitated Application
Development Technique), etc.

It also consists of the entire structured plan describing the critical data, methods to obtain it
and then processing it to form final refined model.

2. User Description :
This phase includes re-examination and validation of the data collected in the first phase.
The dataset attributes are also identified and elucidated in this phase.

3. Construction :
It includes the actual use of powerful automated tools to transform process and data models
into the final working product.
All the required modifications and enhancements are too done in this phase.

4. Cutover :
All the interfaces between the independent modules developed by separate teams have to
be tested properly.

The use of powerfully automated tools and subparts makes testing easier. This is followed
by acceptance testing by the user.

180130107080 17 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Advantages :

 Use of reusable components helps to reduce the cycle time of the project.

 Feedback from the customer is available at initial stages.

 Reduced costs as fewer developers are required.

 Use of powerful development tools results in better quality products in comparatively


shorter time spans.

 The progress and development of the project can be measured through the various stages.

 It is easier to accommodate changing requirements due to the short iteration time spans.

 Disadvantages :

 The use of powerful and efficient tools requires highly skilled professionals.

 The absence of reusable components can lead to failure of the project.

 The team leader must work closely with the developers and customers to close the project
in time.

 The systems which cannot be modularized suitably cannot use this model.

 Customer involvement is required throughout the life cycle.

180130107080 18 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 It is not meant for small scale projects as for such cases, the cost of using automated tools
and techniques may exceed the entire budget of the project.

When to use :

 RAD should be used when there is a need to create a system that can be modularized in
2-3 months of time.
 It should be used if there’s high availability of designers for modeling and the budget is
high enough to afford their cost along with the cost of automated code generating tools.
 RAD SDLC model should be chosen only if resources with high business knowledge are
available and there is a need to produce the system in a short span of time (2-3 months).

180130107080 19 Patel Vishwa Mahendrabhai


3150711 Software Engineering

4) Incremental Process Model :

 Incremental process model is also know as Successive version model.

 First, a simple working system implementing only a few basic features is built and then
that is delivered to the customer.

 Then thereafter many successive iterations/ versions are implemented and delivered to
the customer until the desired system is released.

 Each incremental version is usually developed using an iterative waterfall model of


development.

Fig : Incremental model

A, B, C are modules of Software Product that are incrementally developed and delivered.

 Requirements of Software are first broken down into several modules that can be
incrementally constructed and delivered.

 At any time, the plan is made just for the next increment and not for any kind of long
term plans.
Therefore, it is easier to modify the version as per the need of the customer.

180130107080 20 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Development Team first undertakes to develop core features (these do not need services
from other features) of the system.

 Once the core features are fully developed, then these are refined to increase levels of
capabilities by adding new functions in Successive versions.

 As each successive version of the software is constructed and delivered, now the
feedback of the Customer is to be taken and these were then incorporated in the next
version.

 Each version of the software have more additional features over the previous ones.

 After Requirements gathering and specification, requirements are then spitted into several
different versions starting with version-1, in each successive increment, next version is
constructed and then deployed at the customer site.

 After the last version (version n), it is now deployed at the client site.

180130107080 21 Patel Vishwa Mahendrabhai


3150711 Software Engineering

180130107080 22 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Types of Incremental model :

1. Staged Delivery Model : Construction of only one part of the project at a time.

180130107080 23 Patel Vishwa Mahendrabhai


3150711 Software Engineering

2. Parallel Development Model :

Different subsystems are developed at the same time. It can decrease the calendar time
needed for the development,
i.e. TTM (Time to Market), if enough Resources are available.

When to use this :

1. Funding Schedule, Risk, Program Complexity, or need for early realization of benefits.

2. When Requirements are known up-front.

3. When Projects having lengthy developments schedules.

180130107080 24 Patel Vishwa Mahendrabhai


3150711 Software Engineering

4. Projects with new Technology.

 Advantages :

 Error Reduction (core modules are used by the customer from the beginning of the phase
and then these are tested thoroughly)

 Uses divide and conquer for breakdown of tasks.

 Lowers initial delivery cost.

 Incremental Resource Deployment.

 Disadvantages :

 Requires good planning and design.

 Total cost is not lower.

 Well defined module interfaces are required.

180130107080 25 Patel Vishwa Mahendrabhai


3150711 Software Engineering

5) Spiral Model :

 Spiral model is one of the most important Software Development Life Cycle models,
which provides support for Risk Handling.

 The exact number of loops of the spiral is unknown and can vary from project to
project depending upon project risks.

 Each loop of the spiral is called a Phase of the software development process.

 As the project manager dynamically determines the number of phases, so the project
manager has an important role to develop a product using spiral model.

 The Radius of the spiral at any point represents the expenses (cost) of the project so
far, and the angular dimension represents the progress made so far in the current
phase.

180130107080 26 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Fig : Sprial model

Each phase of Spiral Model is divided into four quadrants as shown in the above figure.

1. Objectives determination and identify alternative solutions:


Requirements are gathered from the customers and the objectives are identified, elaborated
and analyzed at the start of every phase.
Then alternative solutions possible for the phase are proposed in this quadrant.

2. Identify and resolve Risks:

180130107080 27 Patel Vishwa Mahendrabhai


3150711 Software Engineering

During the second quadrant all the possible solutions are evaluated to select the best
possible solution.

Then the risks associated with that solution is identified and the risks are resolved using the
best possible strategy.

At the end of this quadrant, Prototype is built for the best possible solution.

3. Develop next version of the Product:


During the third quadrant, the identified features are developed and verified through testing.
At the end of the third quadrant, the next version of the software is available.

4. Review and plan for the next Phase:


In the fourth quadrant, the Customers evaluate the so far developed version
of the software. In the end, planning for the next phase is started.

 Why Spiral Model is called Meta Model ?

The Spiral model is called as a Meta Model because it subsumes all the other SDLC models.
For example, a single loop spiral actually represents the Iterative Waterfall Model.

The spiral model incorporates the stepwise approach of the Classical Waterfall Model.

The spiral model uses the approach of Prototyping Model by building a prototype at the
start of each phase as a risk handling technique.

Also, the spiral model can be considered as supporting the evolutionary model – the
iterations along the spiral can be considered as evolutionary levels through which the
complete system is built.

180130107080 28 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Advantages

 Risk Handling:
The projects with many unknown risks that occur as the development proceeds, in that
case, Spiral Model is the best development model to follow due to the risk analysis and risk
handling at every phase.

 Good for large projects: It is recommended to use the Spiral Model in large and complex
projects.

 Flexibility in Requirements: Change requests in the Requirements at later phase can be


incorporated accurately by using this model.

 Customer Satisfaction:
Customer can see the development of the product at the early phase of the software
development and thus, they habituated with the system by using it before completion of the
total product.

 Disadvantages :

 Complex: The Spiral Model is much more complex than other SDLC models.

 Expensive: Spiral Model is not suitable for small projects as it is expensive.

 Too much dependable on Risk Analysis:

180130107080 29 Patel Vishwa Mahendrabhai


3150711 Software Engineering

The successful completion of the project is very much dependent on Risk Analysis.
Without very highly experienced expertise, it is going to be a failure to develop a project
using this model.

 When to Use Spiral model:

 When the project is large.


 Where the software needs continuous risk evaluation.
 Requirements are a bit complicated and require continuous clarification.
 Software requires significant changes.
 Where enough time frame is their to get end user feedback.
 Where releases are required to be frequent.

180130107080 30 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Waterfall Prototype Incremental RAD Spiral Model


Model Model Model Model
Precondition Requirement Clear idea of Core product Clear idea
clearly Quick design should clearly of Reuse
defined define component No
Clear Medium level
Requirement Initial level Initial level Initial level Initial level
Specifications
Feedback from
User No Yes No No No
cost Low High Low Very High Expensive
Risk
Identification Initial level No No No Yes
Understandabili simple Intermediate Intermediate Medium Medium
ty
Customer
Priority Nil Intermediate Nil Nil Intermediate
Elasticity No Yes No Yes No
Practically
Implementation No Medium Low No Medium
usability Basic High Medium Medium Medium

Fig: Software Model Comparision

180130107080 31 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Practical 2 : Consider any project to be developed in any technology as a


Software Architect or Project Manager. Construct Software Requirement
Specification (SRS) document for the project

TOPIC : E – Placement

1) Purpose :

collecting the details of each student and maintain the ascertains is very hard work in offline
placement. This application help them and make work smooth and effective. The System can
used for college to manage the students’ information with regards to placement details. It
helps in searching for a students who is eligible for recruitment criteria. Then whole
recruitment process done using this online platform.

Scope :

The scope of the project is to maintain details and keep records of students updated. As well
as placement schedule of companies is also provided. Based on this the recruitment process
goes on and placement take place.

Overview:

offline placement process is very lengthy and also requires so much time to collect all
information of candidate and to analyze it. Our Application will help recruiters to find an
appropriate candidate in less time. It will be also very helpful for freshers and other
candidates to find their appropriate companies by analyzing company’s details and criteria.
Student can give aptitude test for placement. By this App recruiters can easily get details of
candidates. They can sort out the list of candidates and can find proper candidates they want.

180130107080 32 Patel Vishwa Mahendrabhai


3150711 Software Engineering

2) General section:

Problem statement :

Now a day’s campus placement are conducted in all colleges. Various software and other
sector companies are conducting campus selection for selecting merit candidates .When
campus selection are conducted the students should provide their curriculum details to the
concern officer for attending the campus interviews. This process is maintained manually ,
like maintenance of their resumes in papers. Also student face problems to find job
according to their interest and capabilities. This can be overcome by designing software.

Introduction :

E – Placement is a total management and informative system, Which provides the up – to date
information of all the students in a particular college. E - placement helps the colleges to
overcome the difficulty in keeping records of hundreds and thousands of the students and
searching for a student eligible for recruitment criteria from the whole thing. It helps in effective
and timely utilization of the hardware and software resources.

The administrator will create the user and the user will use the account created by administrator.
When the user enters into his respective page he can update his details , and the details are to be
approved by the administrator. All the user have some common services like changing
password, updating details, searching for details , checking the details , mailing to administrator
and reading the material uploaded by the administrator if the user is a student.

Drawbacks of existing System:

 It takes so much time for a placement officer to collect students’ details and approving
the details provided by them.
 Poor communication between students and placement officer, so here intimating about
new placements is a hard task.

180130107080 33 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Students may not know about company details. Here also poor communication provides a
problem.

Advantages :

 Placement officer can easily collect students’ details , and approve that details provided
by them.
 As it is online application , communication with placement officer is easy to students and
recruiters, so here intimating about new placements very easy task.
 Here recruiters can also search for the details provided by students on the basis of their
percentage.
 Placement officer can send required materials used for placement preparation to students.
Wirth this option preparation for placements becomes easy.
 As whole placement take place online , students and company hr is able to attend
placement process from home also.

Proposed system :

 User registration : Administrator permit students for registration , companies can also do
registration.
 Inserting the details : Students and companies have to insert their details.
 Updating the details : As time passes students and companies have to update their details.
 Event Details : Administrator update the schedules of placement.
 Recruitment Process : Every company arrange aptitude tests for students.
 Interview : Interview takes place for the students who pass the aptitude test.

180130107080 34 Patel Vishwa Mahendrabhai


3150711 Software Engineering

3) Functional Requirements :

1. New User Registration :


When Students want to get advantage of this Application they have to first
Register themselves by providing their details. . After completion of registration
a User ID and Password will be provided to the user . They can use that id and
password for their job finding and getting purpose.

2. User Log in :
A registered user can login to the system by using his User ID and Password
provided after registration. After Successful login Home page is shown. In home
page user can see details and requirements of different companies.
3. Searching :
User can search company by ,
 Technology
 Location
 Salary
 By company’s review

4. Updating Schedule details :


Administrator will inform the candidates about recruitment process.
5. Providing details of phase of Recruitment process for each company

6. Interview details :

By mail selected candidates will be informed schedule of interview.

7. Updating details :
After some time users have to update their details.

180130107080 35 Patel Vishwa Mahendrabhai


3150711 Software Engineering

4) Interface Requirement:

User Interface :
1. This system is used by administrator ,Students ,faculty , Company HR.
2. Student and company can login after administrator create user account.
3. Administrator upload the details of companies which students can refer .
4. Company HR upload their criteria for recruitment process.
5. Faculty can collect the details of students regarding placement.
6. Company HR provide their aptitude tests and interview schedules.
7. Students can mail Administrator.

Graphical User Interface :


 First the registration and login page will be displayed. After registration and login
Home page will be displayed.
 There will be an option of My profile , Students will insert their details there.
Company will have also their account in which they have to provide their details.
 There will be a dashboard in which administrator will update the company’s
details.
 For recruitment process student can give aptitude test and interview in
company’s page.

Hardware interface :
Processor : Intel core i5
RAM : 4GB
Hard Disk: 1TB

180130107080 36 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Software interface :

Database server : SQL

Development tool : Eclipse, sublime text

Programming Language : java ,HTML , css

Communication interface :
 This website supports all types of web browsers.
 User will be informed about placement process via uploading dashboard by
administrator.
 Selected candidates will be informed for interview via mail by company.

5) Performance requirements :

Response Time : Response time will be less than 1s.

Security: The details of the students will be kept secured by providing password
facility and while updating details after OTP validation.

Efficiency : All the details of the students will be kept updated .

6) Design Constraints :

 Software must be flexible so that user can easily update their details and can
easily go through placement process.
 The system must be able to manage the details of the users very efficiently.
 Using this system placement process can be carry out from any where so that
this application is also useful in pandemic situations like corona.
 All the users have provided their important details so that software must provide
the security of their data.

180130107080 37 Patel Vishwa Mahendrabhai


3150711 Software Engineering

7) Non Functional Requirements :

1. Security Requirements :
Every Login Time Verification by OTP.
OTP and password verification while updating details.
2. Database Requirements:
To store , maintain and access details of the thousands of students and also companies.

3. Performance Requirements:
Sorting facilities for quick access.
4. Accuracy
8) Operational scenario :
 User logged in but he/she forgot their password.
 User forgot to update their details.
 Administrator may have entered wrong details of the company.
 Student may face difficulty to understand recruitment process of particular company.

9) Preliminary Schedule :
 We gave 1 month to discuss about software, cost, deadlines, risk analysis etc.
 2 month for requirement gathering from user and then by analyzing that we made
SRS document and verified that from user.
 2 months for Data collection like details of different companies which wanted to
involve.
 3 months to Design software according to user requirements and .
 2 months for implementation and testing for final product.

180130107080 38 Patel Vishwa Mahendrabhai


3150711 Software Engineering

10%
20%

Discussion
20%
Documentation
Data collection
Designing
testing
30%
20%

10) Preliminary budget:


The budget will depends on the teams that which resources they are going to use like
database , Reviews of the experts and risk analyzers may increase cost.

11) Appendices:

This software will make easy placement process for all candidates, faculties and
interviewers. Also we can save time and from any where we can complete the placement
process.

Reference:

 https://www.myamcat.com/blog/campus-placements-the-essential-steps-in-
placement-process/
 https://cpt.hitbullseye.com/ABB-Placement-Papers.php
 https://cpt.hitbullseye.com/Placement-Papers.php

180130107080 39 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Practical 3 : Considering your immense expertise in software development,


The Absolute Beginners Inc. has recently allotted you a mega project. The
goal of the project is to create a database of all Hindi films released since
2000. The software would allow one to generate a list of top ten hit films, top
ten flop films, best comedy films, and so on. Using your prior experience you
have decided the approximate sizes of each module of the software as follow:

• Data entry (0.9 KDSI)

• Data update (0.7 KDSI)

• Query (0.9 KDSI)

• Report generation and display (2 KDSI)

Also take into consideration the following cost drivers with their ratings:

• Storage constraints (Low)

• Experience in developing similar software (High)

• Programming capabilities of the developers (High)

• Application of software engineering methods (High)

• Use of software tools (High)

(All other cost drivers have nominal rating).

Now answer the following:

• Solve the problem by Applying Basic and intermediate COCOMO

o Find Project Type?


180130107080 40 Patel Vishwa Mahendrabhai
3150711 Software Engineering

o Find Project Size?

o Find Initial Effort Estimation?

o Find Adjusted Effort Estimation?

o Find schedule?

o Find minimum size of the team you would require to develop this system?

Solution :

For the basic procedure, we need to do calculate the basic terms as follows:

1. Project Type

Here, Project is of creating a simple database of movies of Bollywood released into theatres
after 2000. The task is to procure information from the database. Here, we have been also
told that we are prior software developers having immense experience. Hence, this one
would be “ ORGANIC PROJECT TYPE”.

2. Project Size

Here, Project size will be computed by computing all the given KDSI (Kilo-Delivered Source
Instructions)

• Data entry (0.9 KDSI)

• Data update (0.7 KDSI)

• Query (0.9 KDSI)

• Report generation and display (2 KDSI)

Adding all these, we get the project size, which is 4.5 KDSI

180130107080 41 Patel Vishwa Mahendrabhai


3150711 Software Engineering

3. Initial Effort Estimation

For finding Initial Effort Estimation, we have to calculate as per the following formula

Effort = a * (KDSI)b PM, where PM = Person-Months

The value of the constants a, b, c is given below:

Software project a b c

Organic 2.4 1.05 0.38


Semi-detached 3.0 1.12 0.35
Embedded 3.6 1.20 0.32
SO, as per the formula, calculation will be as follows:

Effort = a * (KDSI)^b PM

= 2.4 * (4.5^1.05)

= 11.643

Hence, Initial Effort Estimation = 11.643

4. Adjusted Effort Estimation

For adjusted Effort Estimation, we have to calculate EAF(Effort Adjustment Factor)

The product of effort multipliers of all the 15 attributes gives the Effort Adjustment Factor
(EAF).

Cost Drivers Ratings


Very Low Nominal High Very Extra
Low High High
Product

180130107080 42 Patel Vishwa Mahendrabhai


3150711 Software Engineering

attributes
Required 0.75 0.88 1.00 1.15 1.40
software
reliability
Size of 0.94 1.00 1.08 1.16
application
database
Complexity 0.70 0.85 1.00 1.15 1.30 1.65
of the
product
Hardware
attributes
Run-time 1.00 1.11 1.30 1.66
performance
constraints
Memory 1.00 1.06 1.21 1.56
constraints
Volatility of 0.87 1.00 1.15 1.30
the virtual
machine
environment
Required 0.87 1.00 1.07 1.15
turnabout
time
Personnel
attributes
Analyst 1.46 1.19 1.00 0.86 0.71
capability
Applications 1.29 1.13 1.00 0.91 0.82

180130107080 43 Patel Vishwa Mahendrabhai


3150711 Software Engineering

experience
Software 1.42 1.17 1.00 0.86 0.70
engineer
capability
Virtual 1.21 1.10 1.00 0.90
machine
experience
Programming 1.14 1.07 1.00 0.95
language
experience
Project
attributes
Application 1.24 1.10 1.00 0.91 0.82
of software
engineering
methods
Use of 1.24 1.10 1.00 0.91 0.83
software tools
Required 1.23 1.08 1.00 1.04 1.10
development
schedule

For our question, we have been given the following details

• Storage constraints (Low)

• Experience in developing similar software (High)

• Programming capabilities of the developers (High)

180130107080 44 Patel Vishwa Mahendrabhai


3150711 Software Engineering

• Application of software engineering methods (High)

• Use of software tools (High)

(All other cost drivers have nominal rating).

So, using the above data, EAF = 0.7

Adjusted Effort Estimation = EAF * Initial Effort PM

= 0.7 * 11.643

= 8.15 PM

So, Adjusted Effort Estimation = 8.15

5. Schedule

Schedule is time required in months for the development

Here, Time required = 2.5 * (Adjusted Effort Estimation) ^ c

= 2.5 * (8.15) ^0.38

= 5.54

Hence, Schedule = 5.54 MONTHS

6. Team Size

Team Size can be computed as follows

Required number of Team members = Ceiling Function Adjusted Effort/Schedule

= 8.15/5.54  Ceiling

=2

Hence Team size should be of 2

180130107080 45 Patel Vishwa Mahendrabhai


3150711 Software Engineering

180130107080 46 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Practical 4 : Consider the following Java code segment

Solution:

Design Control Flow Diagram:

Cyclomatic Complexity:

Cyclomatic complexity can be calculated as follows:

Cyclomatic complexity = E - N + 2*P

where,

E = number of edges in the flow graph.

180130107080 47 Patel Vishwa Mahendrabhai


3150711 Software Engineering

180130107080 48 Patel Vishwa Mahendrabhai


3150711 Software Engineering

N = number of nodes in the flow graph.

P = number of nodes that have exit point

Here, as per the above formula, we get the following outcome

15-14 +2(1)

Since V(G) is less than 10, the concerned program could be categorized as simple in terms
of its complexity.

180130107080 49 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Practical 5 : For your System prepare Software documents mentioned as A to


E.

A. Development of Software Requirements Specification (SRS)


B. DFD Diagram/ ER Diagram/ Activity Diagram
C. Object-oriented design using UML
D. Test case design
E. Implementation using Java and testing

A. Development of Software Requirements Specification (SRS)

TOPIC : E – Placement

1) Purpose :

collecting the details of each student and maintain the ascertains is very hard work in offline
placement. This application help them and make work smooth and effective. The System can
used for college to manage the students’ information with regards to placement details. It
helps in searching for a students who is eligible for recruitment criteria. Then whole
recruitment process done using this online platform.

Scope :

The scope of the project is to maintain details and keep records of students updated. As well
as placement schedule of companies is also provided. Based on this the recruitment process
goes on and placement take place.

Overview:

offline placement process is very lengthy and also requires so much time to collect all
information of candidate and to analyze it. Our Application will help recruiters to find an

180130107080 50 Patel Vishwa Mahendrabhai


3150711 Software Engineering

appropriate candidate in less time. It will be also very helpful for freshers and other
candidates to find their appropriate companies by analyzing company’s details and criteria.
Student can give aptitude test for placement. By this App recruiters can easily get details of
candidates. They can sort out the list of candidates and can find proper candidates they want.

 General section:

Problem statement :

Now a day’s campus placement are conducted in all colleges. Various software and other
sector companies are conducting campus selection for selecting merit candidates .When
campus selection are conducted the students should provide their curriculum details to the
concern officer for attending the campus interviews. This process is maintained manually ,
like maintenance of their resumes in papers. Also student face problems to find job
according to their interest and capabilities. This can be overcome by designing software.

Introduction :

E – Placement is a total management and informative system, Which provides the up – to date
information of all the students in a particular college. E - placement helps the colleges to
overcome the difficulty in keeping records of hundreds and thousands of the students and
searching for a student eligible for recruitment criteria from the whole thing. It helps in effective
and timely utilization of the hardware and software resources.

The administrator will create the user and the user will use the account created by administrator.
When the user enters into his respective page he can update his details , and the details are to be
approved by the administrator. All the user have some common services like changing
password, updating details, searching for details , checking the details , mailing to administrator
and reading the material uploaded by the administrator if the user is a student.

180130107080 51 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Drawbacks of existing System:

 It takes so much time for a placement officer to collect students’ details and approving
the details provided by them.
 Poor communication between students and placement officer, so here intimating about
new placements is a hard task.
 Students may not know about company details. Here also poor communication provides a
problem.

Advantages :

 Placement officer can easily collect students’ details , and approve that details provided
by them.
 As it is online application , communication with placement officer is easy to students and
recruiters, so here intimating about new placements very easy task.
 Here recruiters can also search for the details provided by students on the basis of their
percentage.
 Placement officer can send required materials used for placement preparation to students.
Wirth this option preparation for placements becomes easy.
 As whole placement take place online , students and company hr is able to attend
placement process from home also.

Proposed system :

 User registration : Administrator permit students for registration , companies can also do
registration.
 Inserting the details : Students and companies have to insert their details.
 Updating the details : As time passes students and companies have to update their details.
 Event Details : Administrator update the schedules of placement.
 Recruitment Process : Every company arrange aptitude tests for students.
 Interview : Interview takes place for the students who pass the aptitude test.

180130107080 52 Patel Vishwa Mahendrabhai


3150711 Software Engineering

7) Functional Requirements :

8. New User Registration :


When Students want to get advantage of this Application they have to first
Register themselves by providing their details. . After completion of registration
a User ID and Password will be provided to the user . They can use that id and
password for their job finding and getting purpose.

9. User Log in :
A registered user can login to the system by using his User ID and Password
provided after registration. After Successful login Home page is shown. In home
page user can see details and requirements of different companies.

10. Searching :
User can search company by ,
 Technology
 Location
 Salary
 By company’s review

11. Updating Schedule details :


Administrator will inform the candidates about recruitment process.
12. Providing details of phase of Recruitment process for each company

13. Interview details :

By mail selected candidates will be informed schedule of interview.

14. Updating details :


After some time users have to update their details.
180130107080 53 Patel Vishwa Mahendrabhai
3150711 Software Engineering

8) Interface Requirement:

User Interface :
8. This system is used by administrator ,Students ,faculty , Company HR.
9. Student and company can login after administrator create user account.
10. Administrator upload the details of companies which students can refer .
11. Company HR upload their criteria for recruitment process.
12. Faculty can collect the details of students regarding placement.
13. Company HR provide their aptitude tests and interview schedules.
14. Students can mail Administrator.

Graphical User Interface :


 First the registration and login page will be displayed. After registration and login
Home page will be displayed.
 There will be an option of My profile , Students will insert their details there.
Company will have also their account in which they have to provide their details.
 There will be a dashboard in which administrator will update the company’s
details.
 For recruitment process student can give aptitude test and interview in
company’s page.

Hardware interface :

Processor : Intel core i5


RAM : 4GB
Hard Disk: 1TB

180130107080 54 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Software interface :

Database server : SQL

Development tool : Eclipse, sublime text

Programming Language : java ,HTML , css

Communication interface :
 This website supports all types of web browsers.
 User will be informed about placement process via uploading dashboard by
administrator.
 Selected candidates will be informed for interview via mail by company.

9) Performance requirements :

Response Time : Response time will be less than 1s.

Security: The details of the students will be kept secured by providing password
facility and while updating details after OTP validation.

Efficiency : All the details of the students will be kept updated .

10) Design Constraints :

 Software must be flexible so that user can easily update their details and can
easily go through placement process.
 The system must be able to manage the details of the users very efficiently.
 Using this system placement process can be carry out from any where so that
this application is also useful in pandemic situations like corona.
 All the users have provided their important details so that software must provide
the security of their data.

180130107080 55 Patel Vishwa Mahendrabhai


3150711 Software Engineering

12) Non Functional Requirements :

5. Security Requirements :
Every Login Time Verification by OTP.
OTP and password verification while updating details.
6. Database Requirements:
To store , maintain and access details of the thousands of students and also companies.

7. Performance Requirements:
Sorting facilities for quick access.
8. Accuracy

13) Operational scenario :


 User logged in but he/she forgot their password.
 User forgot to update their details.
 Administrator may have entered wrong details of the company.
 Student may face difficulty to understand recruitment process of particular company.

14) Preliminary Schedule :


 We gave 1 month to discuss about software, cost, deadlines, risk analysis etc.
 2 month for requirement gathering from user and then by analyzing that we made
SRS document and verified that from user.
 2 months for Data collection like details of different companies which wanted to
involve.
 3 months to Design software according to user requirements and .
 2 months for implementation and testing for final product.

180130107080 56 Patel Vishwa Mahendrabhai


3150711 Software Engineering

10%
20%

Discussion
20%
Documentation
Data collection
Designing
testing
30%
20%

15) Preliminary budget:


The budget will depends on the teams that which resources they are going to use like
database , Reviews of the experts and risk analyzers may increase cost.

16) Appendices:
This software will make easy placement process for all candidates, faculties and
interviewers. Also we can save time and from any where we can complete the placement
process.

Reference:

 https://www.myamcat.com/blog/campus-placements-the-essential-steps-in-
placement-process/
 https://cpt.hitbullseye.com/ABB-Placement-Papers.php
 https://cpt.hitbullseye.com/Placement-Papers.php

180130107080 57 Patel Vishwa Mahendrabhai


3150711 Software Engineering

B. DFD Diagram/ ER Diagram/ Activity Diagram


Topic : E - Placement

The Figure shows the context level of Data Flow Diagram of E – Placement system.

The external entities interacting with this system are Students, Company and Administrator.

Two databases are used to store data of students and company.

Figure 1 : context level DFD for E – Placement System

To get online Placement Student has to register in the System then student will Authenticate him
self by User ID and Password. The system in turn verifies the user credentials using information
stored in the Students database.

In the data Flow with the label “Apply For Placement” Student will search for company and
select company to apply for placement .

180130107080 58 Patel Vishwa Mahendrabhai


3150711 Software Engineering

In the data Flow label “Take aptitude Test” Company will organize aptitude test for students
and

In “Give Aptitude test ” Student will give aptitude test.

Figure 2 : The Level 1 DFD for E - Placement

The Figure 2 shows the level 1Data Flow Diagram for E –Placement

The process "Registration " has the number 1.1, which indicates that in the level 1 DFD the
concerned process is numbered 1. Other processes are numbered in a similar way.

180130107080 59 Patel Vishwa Mahendrabhai


3150711 Software Engineering

C. Object-oriented design using UML

1) Introduction :

 E – Placement is a total management and informative system, Which provides the up – to


date information of all the students in a particular college.
 E-placement provide platform for online platform which provide ease to student and
company.
 E - placement helps the colleges to overcome the difficulty in keeping records of
hundreds and thousands of the students and searching for a student eligible for
recruitment criteria from the whole thing.
 It helps in effective and timely utilization of the hardware and software resources.
 Student search for companies and collect their information. They appear for placement
and get job in company they want.
 The administrator will create the user and the user will use the account created by
administrator.
 When the user enters into his respective page he can update his details , and the details
are to be approved by the administrator.
 All the user have some common services like changing password, updating details,
searching for details , checking the details , mailing to administrator and reading the
material uploaded by the administrator if the user is a student.

Actors :

Actor Description
Administrator Administrator will create an account for
students .He will approve details inserted By

180130107080 60 Patel Vishwa Mahendrabhai


3150711 Software Engineering

students.
Student Students will apply for job and will pass
through the placement process.
Company Company will hire students by taking aptitude
tests and interview.

List of Use Cases

Use case Description

1 Registration Administrator will create an account for student.


2 Login Student will login by user Id and password
provided by administrator.
3 Inserting Details Students have to insert their details.
4 Apply for job Student will apply for job in selected company
after analyzing.
5 Aptitude test In placement process student will give aptitude
test.
6 Analysis and interview Company will analyze students and prepare a
list for selected students for interview.

180130107080 61 Patel Vishwa Mahendrabhai


3150711 Software Engineering

1) REGISTRATION

Use Case Registration


Description Administrator will create an account for
student.
Actor Administrator
Steps 1. create a new account
2. user Id and password will be
generated.

Figure 1: use case diagram for registration

180130107080 62 Patel Vishwa Mahendrabhai


3150711 Software Engineering

2) LOGIN

Use case Log in


Description Student will log in using User ID and
password provided by Administrator.
Actor Student
Steps 1. Student will enter User Id and
password
2. OTP verification

Figure : 2 user case diagram for Login

180130107080 63 Patel Vishwa Mahendrabhai


3150711 Software Engineering

3) INSERTING DETAILS :

Use case Inserting details


Description After login Student will insert his/her
academic and other details in profile section
Actors Student
Steps 1. Student will choose insert details
option profile section.
2. An OTP will generated for
verification.
3. After verification he/she will insert
their details.

Figure 3: use case for Inserting and updating details

180130107080 64 Patel Vishwa Mahendrabhai


3150711 Software Engineering

4) APPLY FOR PLACEMENT

Use case Apply for placement


Description Student will analyze company by its
details and apply for job in company
where he/she is eligible.
Actor Student
Steps 1. Analyze all company’s details.
2. Select a company in which he/she
fulfill the criteria.
3. Apply for placement in that
company.

Figure 4: use case diagram for Apply Job

180130107080 65 Patel Vishwa Mahendrabhai


3150711 Software Engineering

5) APTITUDE TEST :

Use case Aptitude test


Description Company will take aptitude test
Actor Student and company
Steps 1. Open company’s page
2. Insert details
3. Give aptitude test
4. Company will declare result.

Figure 5: use case diagram for aptitude test

180130107080 66 Patel Vishwa Mahendrabhai


3150711 Software Engineering

6) ANALYSIS AND INTERVIEW

Use case Analysis and Interview


Description Selected students will appear in
Interview.
Actors Student and company

Steps 1. Company will analyze students


who have passed aptitude exam.
2. They will prepare list of students.
3. Selected students will be
interviewed by company .
4. Approve details by administrator.

Figure 6: use case diagram for Analysis and interview

180130107080 67 Patel Vishwa Mahendrabhai


3150711 Software Engineering

D. Test case design

● Test case for new user login

# TS1

Title Verify "User Login"

Description Scenario might arise while an user is trying


to login

# Summary Dependenc Pre- Post- Execution Execution


y condition condition step output

TC 1 Verify that Employee User is 1.Type in Home


user ID logged in employee page for
already 18130112i ID as the user is
registered sa 18130112 displayed
with registered
2.Type in
correct user of
password
user ID LIS; user's
this_is_pas
and password
sword
password is
this_is_pas 3.Click on

180130107080 68 Patel Vishwa Mahendrabhai


3150711 Software Engineering

sword the 'Login'


button

TC 2 Verify that Employee User is not 1.Type in The


an ID logged in employee "Login"
unregistere 181301xx ID as dialog is
d user of is not a 181301xx shown
LIS is registered with a
2.Type in
unable to user "Login
password
login failed!
whatever
Check
3.Click on your user
the 'Login' ID and
button password"
message

TC 3 Verify that Employee User is not 1.Type in The


user ID logged in employee "Login"
already 18130112 ID as dialog is
registered is a 18130112 shown
with the registered with a
2.Type in
LIS is user, user's "Login
password
unable to password failed!
whatever
login with is Check
incorrect this_is_pas 3.Click on your user
password sword the 'Login' ID and
button password"
message
and try

180130107080 69 Patel Vishwa Mahendrabhai


3150711 Software Engineering

again.

● Test case for search

# TS 2

Title Searching for company

Description Verify different search.

# Summary Dependenc Pre- Post- Execution Execution


y condition condition step output

TC 1 Student Company Student 1.Student Company


search for is present can see press technology
company's in technology search details is
technology application used by button and showed.
uses and has that type.
define company.
2. Search
their
result is
technologi
displayed.
es.

180130107080 70 Patel Vishwa Mahendrabhai


3150711 Software Engineering

TC 2 Student Company Student 1.Student If


search for has define can see press company
company's their their search have more
location. different location button and than one
locations. and area. type. place that
is shown.
2. Search
result is
displayed.

TC 3 Student Company Student 1.Student Student


search for must can see are press can see
company provide they search criteria for
according their eligible for button and different
to criteria. criteria for placement type. companies.
placement. or not.
2. Search
result of
criteria is
displayed.

TC 4 Student Company No search 1.Student " No result


search for provide result. press for this
detail of some search search" is
company details for button and provided.
which is their type.
confidentia registratio
2. Search
l. n which is
details of
hide from
company.

180130107080 71 Patel Vishwa Mahendrabhai


3150711 Software Engineering

student.

TC 5 Student Company No search 1.Student " No such


search for must be result. press details
details that part of the search provided"
is not software. button and is shown.
provided type.
by the
company.

 Test case of placement process

# TS 3

Title Placement process

Description Verify different scenario of placement


process.

# Summary Dependenc Pre- Post- Execution Execution


y condition condition step output

TC 1 Student is Company Student 1.Student Placement


eligible for provide can give open process

180130107080 72 Patel Vishwa Mahendrabhai


3150711 Software Engineering

particular their the tests. company page is


company criteria. page. open.
placement.
2. Student
apply for
placement.

TC 2 Student is Company Student 1.Student You are


not eligible provide can not open not eligible
for their give tests. company is shown.
company criteria. page.
placement.
2. Student
apply for
placement.

TC 3 Student TC 1 Student is Student 1.Student "You


pass first eligible for can go open passed first
round. recruitmen further. company round of
t process. page. placement
process" is
2. Student
shown.
give first
round.

TC 4 Student TC 3 Student Student 1.Student " You


pass pass first can give open passed
second round. interview. company second
round. page. round of
placement
2. Student

180130107080 73 Patel Vishwa Mahendrabhai


3150711 Software Engineering

give process."
second is shown.
round.

TC 5 Student TC 1 Student Student 1.Student " You did


can not fail in first can not go open not pass
pass first round. further. company the first
round. page. round. " is
shown.
2. Student
give first
round.

TC 6 Student TC 3 Student Student 1.Student " You did


can not fail in can not go open not pass
pass second further. company the second
second round. page. round " is
round. shown.
2. Search
give
second
round.

TC 7 Student TC 4 Student Student 1.Student " You are


pass pass in all can give open selected
rounds. rounds. interview. company for
page. interview"
is shown.
2. Search
pass each

180130107080 74 Patel Vishwa Mahendrabhai


3150711 Software Engineering

round.

● Test case of interview process

# TS 4

Title Interview process

Description Scenario of interview

# Summary Dependenc Pre- Post- Execution Execution


y condition condition step output

TC 1 Student Student Student is 1.Student Interview


pass all have to eligible for have to start.
rounds. pass all interview. give
round apptitude
before test and
interview. other
rounds.

2. Student
apply for
interview.

180130107080 75 Patel Vishwa Mahendrabhai


3150711 Software Engineering

TC 2 Student TC 1 Student Student 1.Student Student


crack the have to placed and apply for selected by
interview. give get a job. interview that
interview. and give company.
interview.
"
Congratula
tions you
are
selected"
is shown.

TC 3 Student TC 1 Student Student 1.Student Student is


can not have to did not get apply for not
pass hive job. job. placement selected.
interview. and give
" You are
interview.
not
selected"
is shown.

180130107080 76 Patel Vishwa Mahendrabhai


3150711 Software Engineering

● Test case for update

# TS 5

Title Update details

Description Verify different scenario.

# Summary Dependenc Pre- Post- Execution Execution


y condition condition step output

TC 1 Student Student Student 1.Student " Your


update can login update login. details
details. successfull details. updated" is
2. Student
y. shown.
press
update
button.

3. Student
update
details.

TC 2 Student Student Student 1.Student " Please


details can can not can not enter enter
not login update. wrong id correct id
successfull or or

180130107080 77 Patel Vishwa Mahendrabhai


3150711 Software Engineering

updated. y. password. password"


is shown.

TC 3 Student TC 1 Student Detail is 1.Student " Your


details can update not update details is
not details. approve. details. not
approve by approve"
2.
administrat is shown.
Administra
or.
tor not
approve
details.

TC 4 Student TC 1 Student Details are 1.Student " Your


details update approved. update details
approve by details. details. updated
administrat successfull
2. Details
or. y" is
approved
shown.
by
administrat
or.

180130107080 78 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Practical 6 : Study of any any two Open source tools in DevOps for
Infrastructure Automation, Configuration Management ,Deployment
Automation, Performance Management, Log Management. Monitoring.
(Behat , Watir, Chef, Supergiant, SaltStack, Docker, Hudson etc).

Selenium:

 Selenium is one of the most widely used open source Web UI (User Interface) automation
testing suite. It was originally developed by Jason Huggins in 2004 as an internal tool at
Thought Works. Selenium supports automation across different browsers, platforms and
programming languages.
 Selenium can be easily deployed on platforms such as Windows, Linux, Solaris and
Macintosh. Moreover, it supports OS (Operating System) for mobile applications like iOS,
windows mobile and android.
 Selenium supports a variety of programming languages through the use of drivers specific to
each language. Languages supported by Selenium include C#, Java, Perl, PHP, Python and
Ruby. Currently, Selenium Web driver is most popular with Java and C#. Selenium test
scripts can be coded in any of the supported programming languages and can be run directly
in most modern web browsers. Browsers supported by Selenium include Internet Explorer,
Mozilla Firefox, Google Chrome and Safari.

Automation Testing

Automation testing uses the specialized tools to automate the execution of manually designed
test cases without any human intervention. Automation testing tools can access the test data,
controls the execution of tests and compares the actual result against the expected result.
Consequently, generating detailed test reports of the system under test.

180130107080 79 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Automation testing covers both functional and performance test on an application.

o Functional automation is used for automation of functional test cases. For example,
regression tests, which are repetitive in nature, are automated.
o Performance automation is used for automation of non-functional performance test cases.
For example, measuring the response time of the application under considerable (say 100
users) load.

Fig: Automation testing Life Cycle

Selenium Features:

 Selenium is an open source and portable Web testing Framework.


 Selenium IDE provides a playback and record feature for authoring tests without the need to
learn a test scripting language.
 It can be considered as the leading cloud-based testing platform which helps testers to record
their actions and export them as a reusable script with a simple-to-understand and easy-to-use
interface.

180130107080 80 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Selenium supports various operating systems, browsers and programming languages.


Following is the list:
 Programming Languages: C#, Java, Python, PHP, Ruby, Perl, and JavaScript
 Operating Systems: Android, iOS, Windows, Linux, Mac, Solaris.
 Browsers: Google Chrome, Mozilla Firefox, Internet Explorer, Edge, Opera, Safari, etc.
 It also supports parallel test execution which reduces time and increases the efficiency of
tests.
 Selenium can be integrated with frameworks like Ant and Maven for source code
compilation.
 Selenium can also be integrated with testing frameworks like TestNG for application testing
and generating reports.
 Selenium requires fewer resources as compared to other automation test tools.
 WebDriver API has been indulged in selenium whichis one of the most important
modifications done to selenium.
 Selenium web driver does not require server installation, test scripts interact directly with the
browser.
 Selenium commands are categorized in terms of different classes which make it easier to
understand and implement.
 Selenium Remote Control (RC) in conjunction with WebDriver API is known as Selenium
2.0. This version was built to support the vibrant web pages and Ajax.

Git:

 What is Git?
 Git is an open-source distributed version control system. It is designed to handle minor to
major projects with high speed and efficiency. It is developed to co-ordinate the work among
the developers. The version control allows us to track and work together with our team
members at the same workspace.

180130107080 81 Patel Vishwa Mahendrabhai


3150711 Software Engineering

 Git is foundation of many services like GitHub and GitLab, but we can use Git without using
any other Git services. Git can be used privately and publicly.
 Git was created by Linus Torvalds in 2005 to develop Linux Kernel. It is also used as an
important distributed version-control tool for the DevOps.
 Git is easy to learn, and has fast performance. It is superior to other SCM tools like
Subversion, CVS, Perforce, and ClearCase.

 Features of Git

Some remarkable features of Git are as follows:

 Open Source

Git is an open-source tool. It is released under the GPL (General Public License) license.

 Scalable

Git is scalable, which means when the number of users increases, the Git can easily handle such
situations.

 Distributed

One of Git's great features is that it is distributed. Distributed means that instead of switching the
project to another machine, we can create a "clone" of the entire repository. Also, instead of just
having one central repository that you send changes to, every user has their own repository that
contains the entire commit history of the project. We do not need to connect to the remote
repository; the change is just stored on our local repository. If necessary, we can push these
changes to a remote repository.

 Security

Git is secure. It uses the SHA1 (Secure Hash Function) to name and identify objects within its
repository. Files and commits are checked and retrieved by its checksum at the time of checkout.
It stores its history in such a way that the ID of particular commits depends upon the complete

180130107080 82 Patel Vishwa Mahendrabhai


3150711 Software Engineering

development history leading up to that commit. Once it is published, one cannot make changes to
its old version.

 Speed

Git is very fast, so it can complete all the tasks in a while. Most of the git operations are done on
the local repository, so it provides a huge speed. Also, a centralized version control system
continually communicates with a server somewhere.

Performance tests conducted by Mozilla showed that it was extremely fast compared to other
VCSs. Fetching version history from a locally stored repository is much faster than fetching it
from the remote server. The core part of Git is written in C, which ignores runtime overheads
associated with other high-level languages.

Git was developed to work on the Linux kernel; therefore, it is capable enough to handle large
repositories effectively. From the beginning, speed and performance have been Git's primary
goals.

 Benefits of Git

A version control application allows us to keep track of all the changes that we make in the files
of our project. Every time we make changes in files of an existing project, we can push those
changes to a repository. Other developers are allowed to pull your changes from the repository
and continue to work with the updates that you added to the project files.

180130107080 83 Patel Vishwa Mahendrabhai


3150711 Software Engineering

Fig: Benefits of Git

 Saves Time

Git is lightning fast technology. Each command takes only a few seconds to execute so we can
save a lot of time as compared to login to a GitHub account and find out its features.

 Offline Working

One of the most important benefits of Git is that it supports offline working. If we are facing
internet connectivity issues, it will not affect our work. In Git, we can do almost everything
locally. Comparatively, other CVS like SVN is limited and prefer the connection with the central
repository.

 Undo Mistakes

One additional benefit of Git is we can Undo mistakes. Sometimes the undo can be a savior
option for us. Git provides the undo option for almost everything.

 Track the Changes

Git facilitates with some exciting features such as Diff, Log, and Status, which allows us to track
changes so we can check the status, compare our files or branches.

180130107080 84 Patel Vishwa Mahendrabhai


3150711 Software Engineering

180130107080 85 Patel Vishwa Mahendrabhai

You might also like