You are on page 1of 67

IT355-SE 19IT066

PRACTICAL: 1
AIM:
Explore the Jira as a project management tool for the agile Development. Execute following
Activity in Jira Tool.
1. Free Trial Setup.
2. Create an Epic.
3. Create an Issue.
4. Create Story.
5. Create Subtask.
6. Create Sprint.
SOFTWARE REQUIRED:
➢ Jira Software of Atlassian.
➢ To work with Jira Login to The Link: https://cutt.ly/xUuwJI6

THEORY:
Q. What is Agile Model?
Agile development model is also a type of Incremental model. Software is developed in
incremental, rapid cycles. This results in small incremental releases with each release building on
previous functionality. Each release is thoroughly tested to ensure software quality is maintained.
It is used for time critical applications. Extreme Programming (XP) is currently one of the most
well-known agile development life cycle models.
Every iteration involves cross functional teams working simultaneously on various areas like:
• Planning
• Requirements Analysis
• Design
• Coding
• Unit Testing and
• Acceptance Testing.
At the end of the iteration, a working product is displayed to the customer and important
stakeholders.
Q. Which are various models in Agile?
Scrum, Dynamic Software Development Model, Feature Driven Development, Lean Software
Development

CSPIT-IT 1|Page
IT355-SE 19IT066
Q. Explain various terms available in Scrum Agile development model?
Backlog:
The agile product backlog in Scrum is a prioritized features list, containing short descriptions of
all functionality desired in the product. When applying Scrum, it's not necessary to start a project
with a lengthy, upfront effort to document all requirements.
Stories:
A user story is the smallest unit of work in an agile framework. It's an end goal, not a feature,
expressed from the software user's perspective. A user story is an informal, general explanation of
a software feature written from the perspective of the end user or customer.
Sprint:
A sprint in Scrum is a short period of time wherein a development team works to complete specific
tasks, milestones, or deliverables. Sprints, also referred to as “iterations,” essentially break the
project schedule into digestible blocks of time in which smaller goals can be accomplished.
Epic:
Scrum Epic in Agile Methodology is a big chunk of work which can be divided into smaller user
stories. An Epic can be spread across sprints and even across agile teams. An Epic can be a high-
level description of what the client wants, and accordingly, it has some value attached to it.
Task:
Tasks are the smallest unit used in scrum to track work. A task should be completed by one person
on the team, though the team may choose to pair up when doing the work. Typically, each user
story will have multiple associated tasks.
Practical:
Create Backlog (Epic + Story + Task) for each individual modules and take separate
screenshot.
Setting up project in Jira which we want to manage. Selecting appropriate template for that
project from given choice.

CSPIT-IT 2|Page
IT355-SE 19IT066

Selecting project type whether it is team-managed or company-managed.

CSPIT-IT 3|Page
IT355-SE 19IT066
Adding project details such as project name and project key. Project key is generated by default.

Inviting teammates for project using their email.

CSPIT-IT 4|Page
IT355-SE 19IT066
Roadmap of our project which displays which task should be done before which date.

Creating an issue for Login Module of our project where we describe summary and also assigns
tasks to the employee or team members.

CSPIT-IT 5|Page
IT355-SE 19IT066
Creating an issue for Login Module of our project where we describe summary and also assigns
tasks to the employee or team members.

Creating sprint for scheduling task to be done in given time period.

CSPIT-IT 6|Page
IT355-SE 19IT066
Creating subtasks in modules.

Now we can add tasks and epics to the sprint and once it is done we can click upon start sprint
button over right corner and it will start the sprint.

CSPIT-IT 7|Page
IT355-SE 19IT066
Here once sprint got started, we can see its task and epics status over a Board section and
developers or programmers can move specific tasks from one section to another section so that
we can have track of the tasks.

Final project after adding all modules.

CSPIT-IT 8|Page
IT355-SE 19IT066
LATEST APPLICATIONS:
• JIRA can be a lot more useful for project management teams. It is highly compatible, and
one can configure it with any type of project.
• IRA provides the software industries with the JIRA software cloud services. The cloud
services from JIRA are one of the best cloud services in the market.
• JIRA even helps the person in creating scrum boards for the project. The scrum boards
help the person in tracking sprints and backlogs so that the execution of the project can be
done in a more efficient way.
• JIRA is a tracking tool, as stated earlier. It was previously designed to track down various
bugs and issues in the project.
• JIRA is even useful for managing the various tasks in the company. With the help od the
workflow of JIRA, a person can assign themselves with several tasks and even provide
others with tasks that they should do.

LEARNING OUTCOME:
Making use of iterative principles that the Agile Software Development Methodologies offer, you
can attach an increased value to your deliverable along with enhancing visibility. All for the sake
of bringing in an adaptability to change, these methodologies can also help you reduce project
risks substantially so that you can tread the path of constant change and development.

Question-Answer:
Differentiate Scrum v/s Kanban.
Scrum teams commit to shipping working software through set intervals called sprints. Their goal
is to create learning loops to quickly gather and integrate customer feedback. Scrum teams adopt
specific roles, create special artifacts, and hold regular ceremonies to keep things moving forward.
Kanban is all about visualizing your work, limiting work in progress, and maximizing efficiency
(or flow). Kanban teams focus on reducing the time a project takes (or user story) from start to
finish. They do this by using a Kanban board and continuously improving their flow of work.

CSPIT-IT 9|Page
IT355-SE 19IT066
PRACTICAL - 2
AIM:
Create Wireframe for your given Project.
SOFTWARE REQUIRED:
Figma and to work with Figma Login to The Link: Dashboard |Figma
THEORY:
What is a wireframe?
Wireframing is a way to design a website service at the structural level. A wireframe is commonly used to
layout content and functionality on a page which takes into account user needs and user journeys.
Wireframes are used early in the development process to establish the basic structure of a page before
visual design and content is added.

When does the wireframe take place?


Often used to complete the User-Centred Design process, wireframes are also used at the beginning of the
design phase. A prototype usability test will often be a test of the wireframe provide pages to user
feedback prior to the creative process.

Wireframes can be simply hand-drawn but are often put together using software like Microsoft’s Visio, to
provide an on-screen delivery. However, if the wireframes are going to be used for a prototype usability
test, it is best to create them in HTML. There is some good software that allows you to do this easily
including Axure RP or OmniGraffle (Mac only).

Standard Elements on Wireframe

A wireframe usually includes the following standard elements.

1. Logo
2. Search field
3. Breadcrumb
4. Headers, including page title as the H1 and subheads H2-Hx
5. Navigation systems, including global navigation and local navigation
6. Body content
7. Share buttons
8. Contact information
9. Footer

Q. What is figma design?

Figma is a web-based design tool capable of creating mockups, interaction animations, and
highfidelity prototypes. Many design teams also use Figma as a design system component library.
Additionally, Figma is trusted for its version control, collaboration features, presentation mode, and
code generation.

CSPIT-IT 10 | P a g e
IT355-SE 19IT066

Q. What is figma used for?

Figma is a web-based, collaborative interface design tool used for designing digital products. It has
advanced collaboration features and allows designers to make interactive mockups. It is also capable
of handling a wide range of tasks like designing icon sets, illustrations, logos, and more.

Q. What can figma do?

Figma is a digital product design tool that excels in six areas: 1) Accessibility and collaboration; 2)
Flexibility to iterate and produce deliverables; 3) Ability to build prototypes and test; 4) Establishing a
single source of truth; 5) Smooth handoff to developers; 6) Room for improvement with plugins.

Project: E-Learning App

OUTPUT:
These are the some of the Screens of wireframe of our project which we have created using figma tool.
Our project contains same functionalities which are available in Udemy app.

CSPIT-IT 11 | P a g e
IT355-SE 19IT066

CSPIT-IT 12 | P a g e
IT355-SE 19IT066
This is the low fidelity diagram of login/signup page our project. This is like rough design of the page.

CSPIT-IT 13 | P a g e
IT355-SE 19IT066

This is the first page of our app which is Login Page. Once user login we will redirect him to the home
page of our application.

CSPIT-IT 14 | P a g e
IT355-SE 19IT066

CSPIT-IT 15 | P a g e
IT355-SE 19IT066
This is the signup page for new user of our application. Once they create account in our app, they can take
our services.

CSPIT-IT 16 | P a g e
IT355-SE 19IT066

This is the Featured page where user can latest courses.

CSPIT-IT 17 | P a g e
IT355-SE 19IT066

This is the page of course where user can see detailed information about course.

CSPIT-IT 18 | P a g e
IT355-SE 19IT066

CSPIT-IT 19 | P a g e
IT355-SE 19IT066
This is our Billing page where user can checkout course.

CSPIT-IT 20 | P a g e
IT355-SE 19IT066

This is the search page which is categorized so user can easily find appropriate course.

CSPIT-IT 21 | P a g e
IT355-SE 19IT066

This is My Learning page where user can see their purchased course.

CSPIT-IT 22 | P a g e
IT355-SE 19IT066

This is the Account page where user can access their information.

LATEST APPLICATIONS:
Figma is a digital product design tool that excels in six areas:

• Accessibility and collaboration.


• Flexibility to iterate and produce deliverables.
• Ability to build prototypes and test.
• Establishing a single source of truth.
• Smooth handoff to developers.
• Room for improvement with plugins.

LEARNING OUTCOME:
In this Practical We have learned most powerful design tool figma and also learned how that helps you to
create anything such as websites, applications, logos, and much more and also in this practical we have
created E-Pay design Screens using figma.

Question & Answer:


Define the term: Fidelity, Low-fidelity wireframe and High-Fidelity wireframe.
Fidelity:
Fidelity refers to the level of detail on a wireframe. There are low, medium, and high-fidelity wireframes.
The type you use depends on the needs of a given project.

Low-Fidelity wireframe:

A low-fidelity wireframe is a skeleton of a digital screen, web page, or application. It’ll have the bare-
bones elements that will be included in the finished project. Low fidelity wireframes give designers and
programmers an idea of where images, text, buttons, and interactive elements might be placed.

Low fidelity wireframes might be developed by hand as a quick sketch or they may be created in a
wireframe tool like Figma or Sketch.

High-Fidelity Wireframes:

CSPIT-IT 23 | P a g e
IT355-SE 19IT066
A high-fidelity wireframe is a realistic prototype that closely resembles the final design of a project. It can
include typography, colors, images, icons, and CTA buttons. These types of wireframes take longer than
the low and medium fidelity kind which means more resources are usually allocated to complete them.

High fidelity wireframes should be reserved for projects that have been approved by all stakeholders and
are cleared for production.

To achieve the level of detail required for high fidelity wireframes, these are typically created with a
digital tool.

REFERENCES:

• https://www.theme-junkie.com/what- is-figma/

• https://designlab.com/figma-101-course/introduction-to-figma/

CSPIT-IT 24 | P a g e
IT355-SE 19IT066
PRACTICAL3

AIM:

Practicing with ‘Version Control System - GIT’. Create repository and mention the demos of push
command and pull request.

SOFTWARE REQUIRED:

Git: https://git-scm.com/

GitHub:

https://github.com/

THEORY:
Git is a distributed, open-source version control system (VCS) that enables you to store code, track
revision history, merge code changes, and revert to earlier code version when needed. Git stores your
source code and its full development history locally in a repository.
You can create a copy of your source code, known as a branch, which you can then work on in parallel to
the main version. When you are ready, you can commit changes to save your progress.
Or you can merge your branch back into the main version. Every time you commit, Git takes a snapshot
of your work and compares it to previous versions with a viewable operation called a diff.

If there's been a change from previous commits, Git stores a new snapshot in the repository.

There are following command:

 git add: git add will promote pending changes from the working directory to the staging area.
 git status: The git status command displays the state of the working directory and the staging area.
 git commit: The git commit command captures a snapshot of the project's currently staged changes.
 git push: The git push command is used to upload local repository content to a remote repository.

Figure: Difference between git and GitHub

CSPIT-IT 25 | P a g e
IT355-SE 19IT066

OUTPUT:
Here first I will go to www.github.com and I will create new repository with name as 19IT081_SE And

also make public.

And also, I will go to setting and changing main to master branch.

Now, I will create folder name as 19IT066_SE and I will initialize with empty repository with git init
command and I will check status using git status.

CSPIT-IT 26 | P a g e
IT355-SE 19IT066

Now, I will use git add command to add all the untracked filed into my next commit.

Now, I am using git commit -m “First commit” command to commit my all files that are in staging area.

CSPIT-IT 27 | P a g e
IT355-SE 19IT066

Now, I will add the URL using git remote add origin https://github.com/RaviParvadiya/19IT081_SE for
the remote repository where your local repository will be pushed.

Now, I will Verify the new remote URL using git remote –v command.

Here. I am Pushing the changes in your local repository up to the remote repository using git push -f
origin master.

Here, I am Creating a new branch using git checkout -b newBranch and I will be pushing all files into
new branch.

CSPIT-IT 28 | P a g e
IT355-SE 19IT066

Here, I will change my branch to master for pulling request.

Now, I will create pull request from master to newBranch and again push all command to master branch.

LATEST APPLICATIONS:
• GIT in product management – they give up more frequent customer feedback and updates.
• It can be used as a graphical application.
• Government Agencies use GITHUB to share and collaborate processes (They can add their
organizations and create pull request).
• It helps in building real-time web applications and is popularly used in Android applications as
well as many commercial organizations. They increase the team’s productivity with continuous
integration and developments.
• GIT can be used in various Operating systems like Fedora, Windows, Red Hat, and other Linux
systems using GIT commands.
• They are used to develop core Linux kernel.
• Used in many open-source projects like Ruby on Rails, Perl, the Linux Kernel.

LEARNING OUTCOME:
In this practical I learned about version control git and GitHub and also learned about how we can git CLI
to do all changes in Git Repository.

REFERENCES:

CSPIT-IT 29 | P a g e
IT355-SE 19IT066
https://www.educba.com/introduction-to-git/ https://opensource.com/article/19/5/practical-learning-

exercise-git

Question-Answer:
What are the advantages of using Git?

• Faster release cycles


• Easy team collaboration
• Widespread acceptance
• Maintains the integrity of source code

What is difference between GitHub and Bitbucket?

GitHub is focused around public code and Bitbucket is for private. GitHub has a huge open-source
community and Bitbucket tends to have mostly enterprise and business users.

CSPIT-IT 30 | P a g e
IT355-SE 19IT066

PRACTICAL: 4
AIM:

Explore SONARQUBE as Software Coding Analysis Tools for Code Inspection to check the
quality of code with.

THEORY:
SonarQube is an open-source platform developed by Sonar Source for continuous inspection of
code quality to perform automatic reviews with static analysis of code to detect bugs, code
smells on more than 20 programming languages. SonarQube offers reports on duplicated code,
coding standards, unit tests, code coverage, code complexity, comments, bugs, and security
recommendations.
SonarQube can record metrics history and provides evolution graphs. SonarQube provides fully
automated analysis and integration with Maven, Ant, Gradle, MSBuild and continuous
integration tools like Atlassian Bamboo, Jenkins, Hudson, etc.

CODE:
OUTPUT:
 Go to folder where you installed the sonarqube and hover to bin and start the StartSonar
windows batch file.

CSPIT-IT 31 | P a g e
IT355-SE 19IT066
 It will start the service at port number 9000.

 Home page of sonarqube

CSPIT-IT 32 | P a g e
IT355-SE 19IT066

 Token generated by SonarQube for analyzing project.

 Selecting our OS, type of build for analysis purpose

CSPIT-IT 33 | P a g e
IT355-SE 19IT066

 Adding credentials in Jenkins to connect it with SonarQube

 Configuring to connect SonrQube with Jenkins

CSPIT-IT 34 | P a g e
IT355-SE 19IT066

 Configuring to connect SonrQube with Jenkin

CSPIT-IT 35 | P a g e
IT355- SE 19IT066

 Writing windows batch command for configuration of connection.

 Home Page SonarQube project in Jenkins After performing testing

 Home Page of SonarQube project in SonarQube after successful connection with Jenkins

CSPIT-IT 36 | P a g e
IT355- SE 19IT066

 Console Output of SonarQube project in Jenkins

CSPIT-IT 37 | P a g e
IT355- SE 19IT066

LATEST APPLICATION:

• It is use for code analysis.


• It is very powerful tool for continuous inspection of code.
LEARNING OUTCOME:
In this practical we learn about opensource tool sonarqube which is used for
inspection of code and also perform a practical in which we test our github project in
sonarqube.
REFERENCES:
https://docs.sonarqube.org/latest/
https://www.c-sharpcorner.com/article/step-by-step-sonarqube-setup-and-run-sonarqube-
scanner/

CSPIT-IT 38 | P a g e
IT355- SE 19IT066

PRACTICAL - 5
AIM: Installation of J-Unit Testing Framework and Create and run the Test case for java programs with
J-unit.
SOFTWARE REQUIRED: IntelliJ IDEA, Junit Framework THEORY:

JUnit is a unit testing framework for Java programming language. It plays a crucial role test- driven
development, and is a family of unit testing frameworks collectively known as xUnit.
JUnit promotes the idea of "first testing then coding", which emphasizes on setting up the test data for a
piece of code that can be tested first and then implemented. This approach is like "test a little, code a little,
test a little, code a little." It increases the productivity of the programmer and the stability of program code,
which in turn reduces the stress on the programmer and the time.
Features of Junit:

• JUnit is an open-source framework, which is used for writing and running tests.
• Provides annotations to identify test methods.
• Provides assertions for testing expected results.
• Provides test runners for running tests.
• JUnit tests allow you to write codes faster, which increases quality.
• JUnit is elegantly simple. It is less complex and takes less time.
• JUnit tests can be run automatically and they check their own results and provide immediate
feedback. There's no need to manually comb through a report of test results.
• JUnit tests can be organized into test suites containing test cases and even other test suites.
• JUnit shows test progress in a bar that is green if the test is running smoothly, and it turns red
• when a test fails.
Developers who are following test-driven methodology must write and execute unit test first before any
code.
Unit Testing is used to verify a small chunk of code by creating a path, function or a method. The term
“unit” exist earlier than the object-oriented era. It is basically a natural abstraction of an object-oriented
system i.e., a Java class or object (its instantiated form).

Output:

CSPIT-IT 39 | P a g e
IT355- SE 19IT066

1. Sample Java Code

2. Test Class for testing Sample Java Code

CSPIT-IT 40 | P a g e
IT355- SE 19IT066

3. Output for testcases


LATEST APPLICATION:
JUnit testing is used to test the behavior of methods inside classes we have written. We test a method for
the expected results and sometimes exception-throwing cases-whether the method is able to handle the
exceptions in the way we want.
It Provides different Types of Assertions to verify the results of test case execution. It also gives test
runners for running tests effectively. It is very simple and hence saves time. It gives test case results in
simple and elegant way.

LEARNING OUTCOME:
In this practical, learned about JUnit Framework which is a testing Java framework. We have also
performed testing of simple Java class. In JUnit we can use JUnit built in methods to test code.
Reference:

1. https://www.guru99.com/junit-tutorial.html
2. https://junit.org/junit5/ 3.

Question-Answer:
Mention what is the difference between JUnit and TestNG?

CSPIT-IT 41 | P a g e
IT355- SE 19IT066

CSPIT-IT 42 | P a g e
IT355- SE 19IT066

PRACTICAL: 6

AIM: Selenium automated testing tool.


SOFTWARE REQUIRED:

IntelliJ IDEA, selenium-server-standalone-3.9.1, chromedriver, IEDriverServer. selenium3.9.1-nodeps,


selenium-3.9.1-nodeps-sources.

THEORY:
Selenium is an open-source tool that is used for automating the tests carried out on web browsers.
Selenium is open-source, there is no licensing cost involved, which is a major advantage over other
testing tools.

Other reasons behind Selenium’s ever-growing popularity are:

• Test scripts can be written in any of these programming languages: Java, Python, C#, PHP, Ruby,
Perl & .Net.
• Tests can be carried out in any of these OS: Windows, Mac or Linux
• Tests can be carried out using any browser: Mozilla Firefox, Internet Explorer, Google Chrome,
Safari or Opera
• It can be integrated with tools such as TestNG & JUnit for managing test cases and generating
reports
• It can be integrated with Maven, Jenkins & Docker to achieve Continuous Testing

Selenium Suite of Tools

• Selenium RC (Now depreciated)


• Selenium IDE
• Selenium Grid
• Selenium WebDriver

CSPIT-IT 43 | P a g e
IT355- SE 19IT066

OUTPUT:
First, we have to create the java project and set location of project.

After that we have to add some jar file for that import from this below screen.

CSPIT-IT 44 | P a g e
IT355- SE 19IT066

Then we have to write the code in main file of project and after run the project it will pop out the chrome
tab and automatically take the Gmail id which we input in code. It will do with identifier and class name.

CSPIT-IT 45 | P a g e
IT355- SE 19IT066

Accessing chrome driver Write code for email validation

Successfully validated email that it exists.

Chrome showing that “chrome is being controlled by automated software”, i.e., selenium

LATEST APPLICATION:

CSPIT-IT 46 | P a g e
IT355- SE 19IT066

• Selenium WebDriver is used to automate web application testing to verify that it works as
expected. It supports many browsers such as Firefox, Chrome, IE, and Safari. However, using the
Selenium WebDriver, we can automate testing for web applications only.
• Open Source and Portable: - Selenium is an open source and portable Web testing Framework.
• Combination of tool and DSL: - Selenium is combination of tools and DSL (Domain Specific
Language) in order to carry out various types of tests.
• Easier to understand and implement: - Selenium commands are categorized in terms of different
classes which make it easier to understand and implement.
• Less burden and stress for testers: - As mentioned above, the amount of time required to do testing
repeated test scenarios on each and every new build is reduced to zero, almost. Hence, the burden
of tester gets reduced.

LEARNING OUTCOME:

▪ Selenium is a cost-effective and flexible tool developers can use in the automation testing of their
web applications. The most intriguing feature of this software is the ability to test applications
across various web browsers. This ensures that websites do not crash or breakdown in certain
browsers.

REFERENCES:

• https://www.browserstack.com/guide/login-automation-using-selenium-webdriver
• https://www.javatpoint.com/selenium-ide-login-test
• https://dzone.com/articles/selenium-java-tutorial-how-to-test-login-process
• https://www.lambdatest.com/blog/automate-login-page-using-selenium-webdriver/

Question-Answer:
What is Selenium and what is composed of?

Selenium is a suite of tools for automated web testing. It is composed of

• Selenium IDE (Integrated Development Environment): It is a tool for recording and playing back. It
is a Firefox plugin.
• WebDriver and RC: It provide the APIs for a variety of languages like Java, .NET, PHP, etc. With
most of the browsers Web driver and RC works.
• Grid: With the help of Grid, you can distribute tests on multiple machines so that test can be run parallel
which helps in cutting down the time required for running in browser test suites.

CSPIT-IT 47 | P a g e
IT355- SE 19IT066

PRACTICAL-7
AIM: To check and compare performance of websites with GTmetrix.

Theory: GT-Matrix :
It is a website performance analytics tool, created by GT.net, who are well known in the
digital space for the speed monitoring tool. The key objective of GTMetrix is to analyse
the performance of your website and provide you with a list of actionable recommendations
to improve it.

We can examine performance of any website by entering URL on


GTmetrix.Here, I’ve examined
1. https://spotify.com/
2. https://www.jiosaavn.com/

CSPIT-IT 48 | P a g e
IT355- SE 19IT066

From this figure we will get to know issues impacting the performance of the website

CSPIT-IT 49 | P a g e
IT355- SE 19IT066

Providing the detailed examination of each issue.

CSPIT-IT 50 | P a g e
IT355- SE 19IT066

CSPIT-IT 51 | P a g e
IT355- SE 19IT066

Comparison report of Spotify and JioSaavn website

CSPIT-IT 52 | P a g e
IT355- SE 19IT066

Applications:
 It is a free tool that we have found to be used to get detailed reports about site
performance. It creates scores for the pages and also provides recommendations to
fix them.
 It is a tool that analyzes the page speed and performance. It generates scores for our
pages and offers Page Speed and WiSlow.

Conclusion :

CSPIT-IT 53 | P a g e
IT355- SE 19IT066

In this practical I have compared two websites and known the performance of the
website. I have also Explored GTmetrix tool and learned on what parameters does
GTmetrix compare the website.

CSPIT-IT 54 | P a g e
IT355- SE 19IT066

PRACTICAL: 8
AIM: Jenkins devOps tool.

Explore Jenkins DevOps tool as a Continuous Integration.

THEORY:

 Jenkins is a self-contained, open-source automation server which can be used to automate a l sorts
of tasks related to building, testing, and delivering or deploying software.
 Jenkins can be installed through native system packages, Docker, or even run standalone by any
machine with a Java Runtime Environment (JRE) installed.
 Jenkins is, fundamentally, an automation engine which supports a number of automation patterns.
Pipeline adds a powerful set of automation tools onto Jenkins, supporting use cases that span from
simple continuous integration to comprehensive CD pipelines. By modeling a series of related
tasks,users can take advantage of the many features of Pipeline:

1. Code: Pipelines are implemented in code and typically checked into source control, giving
teamsthe ability to edit, review, and iterate upon their delivery pipeline.
2. Durable: Pipelines can survive both planned and unplanned restarts of the Jenkins controller.
3. Pausable: Pipelines can optionally stop and wait for human input or approval before
continuingthe Pipeline run.
4. Versatile: Pipelines support complex real-world CD requirements, including the ability
tofork/join, loop, and perform work in parallel.
5. Extensible: The Pipeline plugin supports custom extensions to its DSL [1] and multiple
optionsfor integration with other plugins.

CODE:

CSPIT-IT 55 | P a g e
IT355- SE 19IT066

OUTPUT:

Figure 1: Dashboard of Jenkins displaying the project for which


the pipeline is set up.

CSPIT-IT 56 | P a g e
IT355- SE 19IT066

Figure 2: Providing the link to the repository and the credentials


for getting the code.

Figure 3: Setting the POLL SCM to check the repository for new
builds after every one minute.

CSPIT-IT 57 | P a g e
IT355- SE 19IT066

Figure 4: Setting the build environment to SonarQube to pass the


code after every successful build.

Figure 5: Final Report of the Successful build.

CSPIT-IT 58 | P a g e
IT355- SE 19IT066

LATEST APPLICATIONS:

 A server that automates the CI/CD process and makes it easier for the 'dev' and 'ops' teams to
collaborate effectively.
 Developers know the test result of every commit made in the source code on the run.
 You only need to commit changes to the source code and Jenkins will automate the rest of the process
for you.
 Every commit made in the source code is built and tested. So, instead of checking the entire source
code developers only need to focus on a particular commit. This leads to frequent new software
releases.

LEARNING OUTCOME:

By Performing this particular practical related to Jenkins DevOps tool as a Continuous Integration, I
learned about how to create pipeline to deploy your code onto the server within a few minutes. I also
learned about how to integrate Jenkins with your application and other development tools to make
the overall task easier.

REFERENCES:

• https://www.jenkins.io/
• Edureka

Question-Answer:
What is difference between Jenkins & Docker?
Jenkins is a continuous integration tool that helps the developers to create the new code as well as test it
simultaneously.
On the other hand, Docker helps the developers to overcome the challenge of deploying the newly
generated applications that work fine on one system but might face an issue in getting executed on other
systems.
Docker is a platform designed for deploying or run applications using containers.
Both Jenkins and Docker act as saviors for the development teams. Where Jenkins helps in continuous
integrations of changes for projects, Docker makes sure that applications run quite smoothly on any
platform, irrespective of the platform and frameworks it was created on.

CSPIT-IT 59 | P a g e
IT355- SE 19IT066

PRACTICAL: 9

AIM: Apply appropriate software process model for given definition. Compare each process model in
detail along with agile concept as case study.

THEORY:
Waterfall Model
The waterfall model is a breakdown of project activities into linear sequential phases, where each
phase depends on the deliverables of the previous one and corresponds to a specialization of
tasks. The approach is typical for certain areas of engineering design.

V Model
The V-model represents a development process that may be considered an extension of the
waterfall model and is an example of the more general V-model. Instead of moving down in a
linear way, the process steps are bent upwards after the coding phase, to form the typical V
shape. The V-Model demonstrates the relationships between each phase of the development life
cycle and its associated phase of testing. The horizontal and vertical axes represent time or
project completeness (left-to-right) and level of abstraction (coarsestgrain abstraction
uppermost), respectively.

CSPIT-IT 60 | P a g e
IT355- SE 19IT066

Incremental model
The incremental build model is a method of software development where the model is designed,
implemented and tested incrementally (a little more is added each time) until the product is
finished. It involves both development and maintenance. The product is defined as finished when
it satisfies all of its requirements. Each iteration passes through the requirements, design, coding
and testing phases. And each subsequent release of the system adds function to the previous
release until all designed functionally has been implemented. This model combines the elements
of the waterfall model with the iterative philosophy of prototyping.

CSPIT-IT 61 | P a g e
IT355- SE 19IT066

Iterative Model
An iterative life cycle model does not attempt to start with a full specification of requirements by
first focusing on an initial, simplified set user feature, which then progressively gains more
complexity and a broader set of features until the targeted system is complete. When adopting the
iterative approach, the philosophy of incremental development will also often be used liberally
and interchangeably.
In other words, the iterative approach begins by specifying and implementing just part of the
software, which can then be reviewed and prioritized in order to identify further requirements.
This iterative process is then repeated by delivering a new version of the software for each
iteration. In a light-weight iterative project the code may represent the major source of
documentation of the system; however, in a critical iterative project a formal software
specification may also be required.

CSPIT-IT 62 | P a g e
IT355- SE 19IT066

RAD model
Rapid application development was a response to plan-driven waterfall processes, developed in
the 1970s and 1980s, such as the Structured Systems Analysis and Design Method (SSADM).
Rapid application development (RAD) is often referred as the adaptive software development.
RAD is an incremental prototyping approach to software development that end users can produce
better feedback when examining a live system, as opposed to working strictly with
documentation. It puts less emphasis on planning and more emphasis on an adaptive process.
RAD may resulted in a lower level of rejection when the application is placed into production,
but this success most often comes at the expense of a dramatic overruns in project costs and
schedule. RAD approach is especially well suited for developing software that is driven by user
interface requirements. Thus, some GUI builders are often called rapid application development
tools.

Spiral model
The spiral model, first described by Barry Boehm in 1986, is a risk-driven software development
process model which was introduced for dealing with the shortcomings in the traditional
waterfall model. A spiral model looks like a spiral with many loops. The exact number of loops
of the spiral is unknown and can vary from project to project. This model supports risk handling,
and the project is delivered in loops. Each loop of the spiral is called a Phase of the software
development process.
The initial phase of the spiral model in the early stages of Waterfall Life Cycle that is needed to
develop a software product. The exact number of phases needed to develop the product can be
varied by the project manager depending upon the project risks. As the project manager
dynamically determines the number of phases, so the project manager has an important role to
develop a product using a spiral model.

CSPIT-IT 63 | P a g e
IT355- SE 19IT066

Agile model
Agile is an umbrella term for a set of methods and practices based on the values and principles
expressed in the Agile Manifesto that is a way of thinking that enables teams and businesses to
innovate, quickly respond to changing demand, while mitigating risk. Organizations can be agile
using many of the available frameworks available such as Scrum, Kanban, Lean, Extreme
Programming (XP) and etc.

CSPIT-IT 64 | P a g e
IT355- SE 19IT066

The Agile movement proposes alternatives to traditional project management. Agile approaches are
typically used in software development to help businesses respond to unpredictability which refers to
a group of software development methodologies based on iterative development, where requirements
and solutions evolve through collaboration between self-organizing cross-functional teams.
The primary goal of being Agile is to empower the development team with the ability to create
and respond to change in order to succeed in an uncertain and turbulent environment. The agile
software development approach is typically operated in rapid and small cycles. This results in
more frequent incremental releases with each release building on previous functionality.
Thorough testing is done to ensure that software quality is maintained.

CSPIT-IT 65 | P a g e
IT355- SE 19IT066

Practical:
Your definition name, Group Members and proper justification of process model for
given definition

Definition name:

E-Learning: E-learning is a type of learning conducted digitally via electronic media,


typically involving the internet. It can be accessed via most electronic devices including
a computer, laptop, tablet or smartphone, making it a versatile and easy way for students
to learn wherever they are.
Group Members:
1) 19IT081 –
RAVIKUMAR PARVADIYA
2) 19IT065 – KISHAN
MANIYA
3) 19IT066 – AYUSH
MAVANI Justification:

The Waterfall Model is best suited for our application E-Learning. As the Incremental
model says that we increment some changes gradually according to user needs until they are
satisfied.

LEARNING OUTCOME:
We studied different SDLC models and their characteristics, from that we conclude that the
Incremental model is best suited for our application. So, we are going to develop software by
using the Incremental Model.
Question-Answer:

Case Study of Company applying Agile Model (2-3) pages you all can printout but it should be
formatted properly.

AGILE CASE STUDY:

Wireless Warehouse Initiative


Wireless Warehouse Initiative Transforms Materials Management Operations and Improves
Delivery Speed by 66% The Challenge:

CSPIT-IT 66 | P a g e
IT355- SE 19IT066

With increasing logistics and labor costs threatening to seriously impact profit margins, the
company’s supply chain sectors in North America saw a need for improved material management
to meet rising demands for order accuracy while increasing productivity and reducing costs. The
major challenges they faced were overhead control issues such as inaccurate inventory counts,
shipping errors, receiving errors, and a need to improve delivery speeds.
Analysis concluded that improvements would best be achieved by substituting technology for
potentially error-prone human activities such as receiving, putaway, picking, shipping and
inventory counting. Providing an automated means for data to be conveyed directly from the
warehouse floor into SAP’s Supply Chain Management (SCM) software rather than via a manual
counting and recording process would improve accuracy, reduce overhead costs, and provide
real-time supply chain visibility.
Solution:

The organization decided to take advantage of radio frequency (RF) automation and SAP
integration within the warehouse to achieve optimum supply chain efficiency and productivity.
Midway through the project, it became apparent to the company that they did not have the
appropriate level of project management capacity available in-house. They called upon PM
Solutions to provide a senior-level project manager to lead the “North America Program Team”
in the implementation of a warehouse RF solution for the final third of the project duration. PM
Solutions’ project manager immediately assumed responsibility for developing and managing the
overall project plan, which consisted of three distinct components:

• Install shop floor wireless network


• Build, configure, and connect Radio Frequency devices
• Incorporate RF-associated SAP changes
PM Solutions’ project manager performed the roles of project manager and system integrator,
being responsible for overseeing requirements gathering, systems design, procurement and
installation of the necessary hardware and software, and coordinating user acceptance testing.
Results:

The new RF solution was delivered on schedule and more than 18% under budget. The biggest
gains from this implementation were improved inventory accuracy and increased productivity.
The expected delivery speed of parts from the warehouse was reduced by 66% (from 24 hours to
8 hours), producing a significant improvement in overall time to market. This successful project
laid the groundwork for subsequent operational improvement initiatives now underway at the
client’s locations in the US and Europe.

CSPIT-IT 67 | P a g e

You might also like