find and solve ||
Please wait.....

Software Design Processes

Software systems are now omnipresent. Software is used to help run the manufacturing industry, schools, universities, health care, finance, and government. The computational power and sophistication of computers have increased ever since, while their costs have been reduced dramatically. The specification, development, management, and evolution of these software systems make up the discipline of software engineering.

The more powerful a computer is the more sophisticated programs it can run. Even simple software systems have a high inherent complexity so engineering principles have to be used in their development. The discipline of software engineering discusses systematic and cost-effective software development approaches, which have come out from past innovations and lessons learned from mistakes. Software Engineering principles have evolved over the past fifty years of contributions from numerous researchers and software professionals.

To solve actual problems in an industry setting, a software engineer or team of engineers must incorporate a development strategy th; encompasses the process, methods, and tools layers and the genre phases. This strategy is often referred to as a process model or a software engineering paradigm. A process model for software engineering is chosen based on the nature of the project and application, the methods and tools 1 be used, and the controls and deliverables that are required.

In the software development process, the focus is on the activities directly related to the production of the software, for example, design coding, and testing. A development process model specifies some activities that according to the model, should" be performed and the order in which they should be performed.

In the software development process, the focus is on the activities directly related to the production of the software, for example, design coding, and testing. A development process model specifies some activities that according to the model, should" be performed and the order in which they should be performed.

As the development process specifies the major development and quali1 assurance activities that need to be performed in the project, the development process forms the core of the software process. The management process is decided based on the development process. Due to the importance of the development process, various models have been proposed.


Upon completion of this Unit, you should be able to:

• Explain what is meant by software engineering.

• Know more about Program maintenance.

• Know about software product and software process Models.

What is meant by Software Engineering?

Software Engineering is an engineering discipline whose focus is the cos1 effective development of high-quality software systems. It is a sub disciplin1 of Computer Science that attempts to apply engineering principles to th1 creation, operation, modification, and maintenance of the software components of various systems.

Software engineering is an engineering discipline that is concerned with all aspects of software production. Software engineering is concerned with the practicalities of developing and delivering useful software. The cost c software engineering includes roughly 60% of development costs and 40°1 of testing costs. Structured approaches to software development include system models, notations, rules, design advice, and process guidelines. Coping with increasing diversity demands for reduced delivery times, and developing trustworthy software are the key challenges facing Software Engineering.

What is engineering?

Engineering is the application of well-understood scientific methods to the construction, operation, modification, and maintenance of useful devices and systems.

What is software?

The software comprises the aspects of a system not reduced to tangible devices. Eg., computer programs and documentation. It is distinguished from hardware, which consists of tangible devices, and often exists as collections of states of hardware devices. The boundary between hardware and software can be blurry, as with firmware and microcode.


A system is an assemblage of components that interact in some manner among themselves and, possibly, with the world outside the system boundary.

We understand systems by decomposing them into Subsystems System components.

It is very difficult to separate the software components of a system from the other components of a system.

Self Assessment Questions

1) What is Engineering?

2) Define Software.

Definitions of Software Engineering

Software Engineering is the systematic approach to the development, operation, maintenance, and retirement of software. This is the definition as per IEEE. According to Bauer, Software Engineering is nothing but the establi and use of sound engineering principles to obtain economical software that is reliable and works efficiently on real machines

There is yet another definition for software engineering. It is the app of science and mathematics by which the capabilities of co equipment are made useful to humans via computer programs, procedures, and associated documentation. This is by Boehm.

An engineering approach to software engineering is characterized by practical, orderly, and measured development of software. The principle aim of this approach is to produce satisfactory systems on time and within budget. There is a good reason for tackling the problem of planning, developing, evaluating, and maintaining software using the engineering approach. Quite simply this approach is needed to avoid ch; developing software.

The engineering approach is practical because based on proven methods and practices in software development approach is orderly and development can be mapped to fit cu: requirements. Finally, this approach is measured, during each software metrics are applied to products to gauge quality, cost, and re of what has been produced

Software Maintenance

Maintenance refers to the support phase of software develo1 Maintenance focuses on CHANGE associated with error correction adaptations required as the software environment evolves, and ch due to enhancements brought about by changing customer requirements improved capability on the part of developers. Four types of Maine are typically encountered


Even with the best quality assurance activities, it is likely that the cu will uncover defects in the software. Corrective maintenance chang1 software to correct defects.


Over time, the original environment (e.g., CPU, operating system, bu: rules, external product characteristics) for which the software was developed is likely to change. Adaptive Maintenance results in a modification to the software to accommodate changes to its external environment.


As software is used, the customer/user will recognize additional functions that will provide benefit. Perfective Maintenance extends the software beyond its original functional requirements. Developers can also initiate enhancements by utilizing their experience on a similar project and replicating the same on earlier developed systems

Mahira  khanna

Mahira khanna

I have the skills you need for you company blog, website, or other content materials

If felt valuable to you, feel free to share it.


Report Response