0% found this document useful (0 votes)
7 views8 pages

Software Process Models Overview

The document provides an overview of software process models, detailing their components such as specification, design, validation, and evolution. It discusses various software development lifecycle (SDLC) models, business process modeling techniques, and tools like SIPOC diagrams, UML diagrams, and BPMN process maps. Additionally, it highlights the importance of software deployment tools and offers a tutorial on Jenkins for continuous integration and delivery of software projects.
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)
7 views8 pages

Software Process Models Overview

The document provides an overview of software process models, detailing their components such as specification, design, validation, and evolution. It discusses various software development lifecycle (SDLC) models, business process modeling techniques, and tools like SIPOC diagrams, UML diagrams, and BPMN process maps. Additionally, it highlights the importance of software deployment tools and offers a tutorial on Jenkins for continuous integration and delivery of software projects.
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

Software Process Model

What is a Software Process Model?

Software Processes is a coherent set of activities for specifying, designing,


implementing and testing software systems. A software process model is an
abstract representation of a process that presents a description of a process from
some particular perspective. There are many different software processes but all
involve:
 Specification – defining what the system should do;
 Design and implementation – defining the organization of the system and
implementing the system;
 Validation – checking that it does what the customer wants;
 Evolution – changing the system in response to changing customer needs.

Types of Software Process Model

Software processes, methodologies and frameworks range from specific


prescriptive steps that can be used directly by an organization in day-to-day
work, to flexible frameworks that an organization uses to generate a custom set
of steps tailored to the needs of a specific project or group. In some cases a
“sponsor” or “maintenance” organization distributes an official set of documents
that describe the process.
Software Process and Software Development Lifecycle Model

One of the basic notions of the software development process is SDLC models
which stands for Software Development Life Cycle models. There are many
development life cycle models that have been developed in order to achieve
different required objectives. The models specify the various stages of the
process and the order in which they are carried out. The most used, popular and
important SDLC models are given below:

 Waterfall model
 V model
 Incremental model
 RAD model
 Agile model
 Iterative model
 Spiral model
 Prototype model

These models have been discussed in a previous lesson

Software Business Process Model

What is business process modeling?

Business process modeling is a powerful technique that is used by organizations


to improve efficiency, reduce costs, and provide scalability in operations. This
technique is the practice of creating graphical representations or models that
illustrate the steps, activities, and interactions involved in a business process.
Business process modeling helps in visually capturing the flow of work,
information, and resources within a process, making it easier to identify
inefficiencies, bottlenecks, and areas for improvement. The models typically use
standardized notation, such as Business Process Model and Notation (BPMN), to
ensure clarity and consistency in communication.

SIPOC Diagrams
SIPOC diagrams are a tool used in the Six Sigma methodology. Six Sigma was
created in 1986 by an American Engineer named Bill Smith and provides various
techniques and tools for process improvement. One of these business process
modeling tools is a SIPOC diagram.

SIPOC is an acronym that helps stakeholders to identify the key elements of a


process at the outset. The ‘s’ in SIPOC stands for suppliers. The ‘i’ for inputs.
The ‘p’ for the process that you intend on improving. The ‘o’ for outputs. And the
‘c’ is for customers that the outputs are intended for. When completing a SIPOC
diagram, each letter of the acronym is typically written at the top of a column in
a table format. Stakeholders then list out the key elements in each category.

Prior to completing the list, however, the existing business process should be
mapped out. This provides stakeholders with a visualization of how a process
works and helps to identify the elements that are the subject of the acronym.

UML Diagrams

UML, short for Unified Modeling Language, diagrams were developed by


software engineers but have become one of the most popular business process
modeling tools. UML was created to provide a standardized way to analyze,
design, and implement software programs.

There are some 14 different types of UML diagrams, several of which are useful
as business process modeling tools. These diagrams fall into two larger categories
– structural and behavioral diagrams. Structural diagrams analyze the structure of
a process while behavioral focus on its actors and various components.

The most used behavioral diagram are activity diagrams. They are used to
illustrate the flow of different processes. Other common ones include use case
diagrams and interaction overview diagrams. Commonly used structural UML
diagrams include class diagrams, object diagrams, and component diagrams.

BPMN Process Maps

BPMN, or Business Process Modeling Notation, process maps are essentially an


extension of UML. But unlike UML, BPMN was created solely to provide a
standardized system for the purposes of business process modeling. BPMN is
essentially a flow chart method that illustrates all steps of a business process. One
of its benefits is its flexibility, allowing stakeholders to create diagrams that serve
various purposes.

For example, BPMN diagrams can be used to provide stakeholders with a broad
overview of a process. They can also be used to create highly detailed diagrams
that provide practical guidance to the stakeholders responsible for performing
tasks. It achieves this using a standardized system of elements and symbols. The
four common elements of business process diagrams are:

 Flow objects. These include events, activities, and gateways.


 Connecting objects. Solid lines indicate the transfer of tasks while dashed ones
are messages.
 Swim lanes. These detail responsibilities for sub-tasks and the people or
departments responsible for completing them.
 Artifacts. These are used to add information to a diagram that are not sequence
or message flows.
Software Deployment Tools

Software deployment tools give organizations an easy way to ensure that software
bundles get properly installed. This is a particularly important requirement if you
develop your own software in-house. Packaging the programs and setup processes
together ensures that no element of installation gets overlooked.

Automating software rollouts means that you can deploy new applications on
all machines, or just selected computers overnight while everyone is out of the
office. This is particularly important if the new package requires a computer
reboot in order to deploy correctly.

Remote software deployment

If you manage more than a couple of endpoints, you probably won’t expect to
need to visit each workstation to install the software. Remote software
deployment systems can operate over a network. These networked methods to
deploy software packages can operate just as easily over the internet. They will
enable you to roll out software deployment across several sites from one central
location.

The big advantage of remote software deployment tools is that they enable you to
standardize the software inventory on all your devices. You can create a profile
for each job description and each device type. Once that package is
settled, onboarding new employees into the system becomes very simple.

Remote software deployment systems include task automation, so when a new


software package needs to be deployed on many endpoints, that task can be carried
out by the tool with just one click. Automated software deployment tools also
include status reporting, so it is possible to see if any of the installation processes
failed.
Below are the factors to consider when choosing deployment tools

 Remote management functions


 Task automation
 Bulk rollout option for onboarding a fleet of devices
 Rollout status reporting
 Patch installation options
 A free trial or a demo option that offers an opportunity for a risk-free
assessment
 Value for money, represented by a software deployment management
system that saves time and is offered at a good price

Below are very common deployment tools:

 Jennkins
 Aletra
 Atlassian Bamboo
 Gitlab CI/CD
 Octopus Deploy
 AWS CodeDeploy
 Google Cloud Deployment Manager

JENNKINS TUITORIAL

Jenkins is a powerful application that allows continuous integration and


continuous delivery of projects, regardless of the platform you are working on. It
is a free source that can handle any kind of build or continuous integration. You
can integrate Jenkins with a number of testing and deployment technologies. In
this tutorial, we would explain how you can use Jenkins to build and test your
software projects continuously.

Audience

This tutorial is going to help all those software testers who would like to learn
how to build and test their projects continuously in order to help the developers
to integrate the changes to the project as quickly as possible and obtain fresh
builds.

Prerequisites

Jenkins is a popular tool for performing continuous integration of software


projects. This is a preliminary tutorial that covers the most fundamental concepts
of Jenkins. Any software professional having a good understanding of Software
Development Life Cycle should benefit from this tutorial.

Download Jenkins

The official website for Jenkins is Jenkins. If you click the given link, you can get
the home page of the Jenkins official website as shown below.

By default, the latest release and the Long-Term support release will be available
for download. The past releases are also available for download. Click the Long-
Term Support Release tab in the download section.

You might also like