BTC 502 Software Engineering
2There is immense information available in Internet, which may help you explore the depth of thissubject.“ An Integrated Approach to Software Engineering ”, Pankaj Jalote is your prescribed textbook.You can refer these books for all the coming lectures. Please refer to pages 1 to 21 of your textbook for the portions I will be covering in this lecture.
I think the foremost knowledge you must have in order to study the subject is to know what ismeant by software? As told earlier, you can define software as the collection of computer programs, procedures, rules, and associated documentation and data. This implies that the discipline dealing with thedevelopment of software should not only deal with developing programs, but with developing all the thingsthat constitute the software.“Software Engineering is the systematic approach to the development, operation, maintenance andretirement of software.”“Software Engineering is the application of science and mathematics by which the capabilities of computer equipment are made useful to man via computer programs, procedures, and associated documentation.”
Software Engineering Approach:
The basic software engineering approach is to: Develop methods and procedures for softwaredevelopment that can scale up for large systems and that can be used to consistently produce high-qualitysoftware at low cost and with a small cycle time. The key objectives are consistency, low cost, highquality, small cycle time, and scalability. The basic approach that software engineering takes is to separatethe development process from the development process from the developed product. Design of proper software processes and their control then becomes the primary goal of software engineering.
Phased Development Process:
A development process consists of various phases, each phase ending with a defined output. The phases are performed in an order specified by the process model being followed. The main reason for having a phased process is that it breaks the problem of developing software into successfully performing a