Software Engineering (SE) is concerned with developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. It is important because of the impact of large, expensive software systems and the role of software in safety-critical applications. [2] The development of a large piece of software is perceived as an engineering task, to be approached with the same care as the construction of a skyscraper, for example, and with the same attention to cost, reliability, and maintainability of the final product. It integrates significant mathematics, computer science and practices whose origins are in engineering, see the picture. More about SE: Software Engineering, SE book, SW Requirements, SW Development, Head first Software Development, History of SE, Complexity of Software Engineering, Complexity within Software Engineering
The software-engineering process (software development process, also known as a software development life-cycle (SDLC)) is usually described as consisting of several phases variously defined
but in general consisting of below six-phases:
1) identification and analysis of user requirements, 2) development of system specifications (both hardware and software), 3) software design (perhaps at several successively more detailed levels), 4) implementation (actual coding), 5) testing, and 6) maintenance.
Even with such an engineering discipline in place, the software-development process is expensive and time-consuming. [1] Other Tools: Java Toolkit • API's • Programmer's Corner • Database Tools • Modeling & Design • Multimedia • Maths and Science • SE Summary References
|