Software Engineering Tutorial
Software Engineering Introduction
- Computer software is a product or program code developed by software engineers.
- The applications of computer software are: Telecommunication, military, medical sciences, online shopping, office products, IT industry etc.
- A Software consists of data and the related documents.
- The software is the key element in all computer based systems and products.
- The main purpose behind software engineering is to give a framework for building a software with best quality.
Software engineering definitions
- The establishment and use of sound engineering principles in order to obtain economical software that is reliable and works efficiently on real machines.
- Software engineering is a systematic and disciplined approach towards the development of the software operation and maintenance.
- Software engineering is an engineering branch associated with the development of software product using well-defined scientific principles, methods and procedures.
Characteristics of a software
- Software should achieve a good quality in design and meet all the specifications of the customer.
- Software does not wear out i.e. it does not lose the material.
- Software should be inherently complex.
- Software must be efficient i.e. the ability of the software to use system resources in an effective and efficient manner.
- Software must be integral i.e. it must prevent from unauthorized access to the software or data.
Software engineering - Layered technology
The layered technology consists of:
1. Quality focus
The characteristics of good quality software are:
- Software engineering is a fully layered technology.
- To develop a software, we need to go from one layer to another.
- All these layers are related to each other and each layer demands the fulfillment of the previous layer.
- Correctness of the functions required to be performed by the software.
- Maintainability of the software
- Integrity i.e. providing security so that the unauthorized user cannot access information or data.
- Usability i.e. the efforts required to use or operate the software.
- It is the base layer or foundation layer for the software engineering.
- The software process is the key to keep all levels together.
- It defines a framework that includes different activities and tasks.
- In short, it covers all activities, actions and tasks required to be carried out for software development.
- The method provides the answers of all 'how-to' that are asked during the process.
- It provides the technical way to implement the software.
- It includes collection of tasks starting from communication, requirement analysis, analysis and design modelling, program construction, testing and support.
- The software engineering tool is an automated support for the software development.
- The tools are integrated i.e the information created by one tool can be used by the other tool.
- For example: The Microsoft publisher can be used as a web designing tool.