Introduction to Software Principles

10:11 AM / Posted by Alagan /

1.0    Introduction

·        Computer software has become a driving force. It is the engine that drives business decision-making. It serves as the basis for modern scientific investigation and engineering problem solving. It is a key factor that differentiates modern products and services. It is embedded in systems of all kinds : transportation, medical, telecommunications, military, industrial processes, entertainment, office products …etc.

·        Computer software is the product that software engineers design and build. It encompasses programs that execute within a computer of any size and architecture, documents that encompass hard-copy and virtual forms, and data that combine numbers and text but also include representations of pictorial, video and audio information.

·        Today, software takes a dual role : It is a product and, at the same time, the vehicle for delivering a product. 

·        Is an engineering discipline which is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use. It is concerned with the practicalities of developing and delivering useful software.


3.0  Software Products

·        Software Engineers are concerned with developing software products. There are two types of software product:

1.      Generic products : These are stand-alone systems which are produced by a development organization and sold on the open market. Sometimes they are referred as ‘shrink-wrapped software’. Eg; databases, word processors, graphic packages etc. The organization which develops the software controls the software specification

 2.      Bespoke (or customized) products : These are systems developed specifically by a software contractor for a customer. Eg; Control systems for electronic devices, systems written to support a particular business process, air traffic control systems etc. The specification is usually developed and controlled by the organization (customer) buying the software

4.0  Software Process

·        Is a set of activities and associated results which produce a software product. These activities are mostly carried out by software engineers. There are four fundamental process activities which are common to all software processes. These activities are:

 1.      Software Specification: The functionality of the software and constraints on its operation must be defined

 2.      Software development: The software to meet the specification must be produced

 3.      Software Validation: The software must be validated to ensure that it does what the customer wants

 4.      Software evolution: The software must evolve to meet changing customer needs

 5.0   Process Maturity

·        The Software Engineering Institute (SEI) has developed a comprehensive model that is predicted on a set of Software Engineering capabilities that should be present as organizations reach different levels of process maturity

·        SEI uses an assessment questionnaire and a five-point grading scheme to determine an organizations current state of process maturity. The grading scheme determines compliance with a Capability Maturity Model (CMM) that defines key activities required at different levels of process maturity.

The SEI approach provides a measure of the global effectiveness of a company’s software engineering practices and establishes five process maturity levels, which are defined in the following manner



Post a Comment