A software development process is a way to improve design and product management by breaking software development work into smaller steps or sub-processes that can be done in parallel or in-order.
The Software Development Process is the structured approach to developing software for a system or project, sometimes called the Software Development Life Cycle (SDLC).
There are several approaches (see Software Development Approaches) that can be used to include waterfall, spiral and incremental development.
These different approaches will focus the testing effort at different points in the development process. However, each approach is composed of the same basic steps of development.
The incremental development approach typically forms the basis for software development within the larger systems.
Software Development Process Steps
The software development process consists of four major steps. Each of these steps is detailed below.
Step 1: Planning
Step 2: Implementing
Step 3: Testing
Step 4: Deployment and Maintenance
Step #1: Planning
An important task in creating a software program is Requirements Analysis. Customers typically have an abstract idea of what they want as an end result, but not what software should do.
Frequently demonstrating live code may help reduce the risk that the requirements are incorrect.
Once the general requirements are gathered from the client, an analysis of the scope of the development should be determined and clearly stated.
Step #2: Implementation
Implementation is the part of the process where software engineers program the code for the project.
Step #3: Testing
Software testing is an integral and important phase of the software development process.
This part of the process ensures that defects are recognized as soon as possible.
It can also provide an objective, independent view of the software to allow users to appreciate and understand the risks of software deployment.
Software testing can be stated as the process of validating and verifying that a software application.
meets the requirements that guided its design, development, works as expected; and can be implemented with the same characteristics.
Step #4: Deployment and Maintenance
Deployment starts after the code is appropriately tested, approved for release, and sold or distributed into a production environment.
This may involve installation, customization, testing, and possibly an extended period of evaluation. Software training and support are important, as the software is only effective if used correctly.
Maintaining and enhancing software to cope with newly discovered faults or requirements can take substantial time and effort, as missed requirements may force software redesign.
Software Development Plan (SDP)
The Software Development Plan (SDP) describes a developer’s plans for conducting a software development effort.
The SDP provides the acquirer insight and a tool for monitoring the processes to be followed for software development.
It also details methods to be used and the approach to be followed for each activity, organization, and resource.
Types of Software Development Approaches
There are three main types of software development approaches. These are:
Waterfall Approach
Incremental Approach
Agile and Scrum
Waterfall Approach
Development activities are performed in order, with possibly minor overlap, but with little or no iteration between activities.
User needs are determined, requirements are defined, and the full system is designed, built, and tested for ultimate delivery at one point in time.
A document-driven approach best suited for highly precedence systems with stable requirements.
The waterfall model is often also referred to as the linear and sequential model, for the flow of activities in this model are rather linear and sequential as the name suggests.
In this model, the software development activities move to the next phase only after the activities in the current phase are over.
Incremental Approach
Determines user needs and defines the overall architecture, but then delivers the system in a series of increments (“software builds”).
The first build incorporates a part of the total planned capabilities, the next build adds more capabilities, and so on, until the entire system is complete.
Agile and Scrum Approach
The Agile software development process and its most popular method, Scrum, use a dynamic and iterative way to build software.
Agile is all about moving quickly, putting out new versions often, and responding to what your users really need, even if that goes against what you had planned.
This means you don’t need a full list of requirements and a full SOW before starting work.
Instead, you move in one direction with the idea that you will change directions along the way.
Software Development Process Metrics
Software metrics should be an integral part of the software development processes.
Program Management Offices (PMO) should gain insight into proposed metrics during source selection, and developers should commit to the consistent use of those metrics, including collecting, analyzing, and reporting.
Be integral to the developer ‘s processes.
Clearly portray variances between planned and actual performance.
Provide early detection or prediction of situations that require management attention.
Support the assessment of the impact of proposed changes on the program.
The refining and petrochemical industries have been low-margin and under continuous pressure from high crude oil price.
The status of the oil and gas market presents an opportunity for
downstream business to optimize their system performance.
An advanced RAM study enables optimization of production
efficiency for high value refinery products (e.g. gasoline, diesel, lube
oils) from understanding the interaction of individual process unit
reliability, plant production slates, storage, and operational flexibility.
In the downstream industry, ACSC Technology has been applied from plant wide performance analysis to distribution network studies, supply chaimodels, life cycle cost analysis through to detailed reliability engineering and failure investigation.
Some of the typical benefits that can be achieved from a RAM analysis using ACSC include:
■ Maximized production of key products
■ Improvement of plant utilization
■ Minimization of investment required to achieve given targets
■ Optimization of storage requirements
■ Quantification of the impact of project implementation
Taro allows you to analyze the reliability, maintainability and
availability of your asset using your understanding of the asset and
How do you benefit from ACSC advanced RAM study?
To forecast the performance of a complex asset, the interactions of many factors which impact the ability of the system
to perform its required function must be assessed in an integrated manner.
The key challenge is to capture all the interactions between inter-related parameters.
ACSC Software application tool kit was specifically developed for the modelling of refining
and petrochemical plants in which the production efficiency is a
complex interaction between reliability, blending and yield rules,
flow routing (including recycle), intermediate storage options and
logistics operations.
ACSC has a track record of being used for analyzing designs of numerous refineries, petrochemical plants, and associated supply chain logistics.
An important strength of ACSC Software is the ability to handle multiple feedstock and product streams along with complex buffer and operational strategies.
This methodology is applied to a wide range of assets, such as:
■ Refineries
■ Petrochemical plants
■ Gas production and distribution networks
■ Utility production and distribution networks
■ Systems involving product transport and logistics (shipping, rail, trucks, pipelines)
Some of the questions ACSC software can help you answer are:
■ Asset design optimization (e.g. storage tank sizing, unit capacity, equipment sparing, etc.)
■ Asset operations optimization (e.g. maintenance philosophy, inventory management, product export, load shedding rules, etc.)
■ Identification of bottlenecks and key performance drivers (i.e., the relation between asset reliability and production)
■ Setting of performance targets (e.g., where to focus reliability improvement efforts)
■ Evaluation and prioritization of investment opportunities (based on NPV calculation of costs and revenues)
Prime Energy Industrial software application areas.
SolidWorks® CAD software provides a complete 3D product development solution for meeting the demands of today’s rapidly evolving oil and gas industry.
With SolidWorks software, engineers can more efficiently use 3D design data at every stage of the development process, realizing productivity gains and reduced costs across the board.
From conceptual design and component selection through design validation and production,
SolidWorks software provides the integrated tools that oil and gas engineers need to accelerate time-to-market, control development costs, improve product quality and innovation, and compete successfully.
OSI PI Emerson DCS OPC
GE DCS Honeywell DCS
Siemens DCS Allan – Bradley DCS/PLC
VMS to Alpha to XP to Windows engineering data conversions
SAP to PLM to Salesforce to SharePoint engineering data conversion.
We support most all HMI and SCADA platforms for all oil and gas applications.