Software Engineering Overview

Software engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software that is, the application of engineering to software. Therefore, developing and maintaining reliable and efficient software systems is the primary concern to software engineering professionals. Software systems should be affordable to develop and maintain and satisfy all the requirements that customers have defined. More recently, it has evolved in response to factors such as the growing impact of large and expensive software systems in a wide range of situations and the increased importance of software in safety-critical applications. Software engineering is different in character from other engineering disciplines due to both the intangible nature of software and the discontinuous nature of software operation. It seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible, physical artifacts.

Degree programs in computer science and in software engineering have many courses in common. Software engineering students learn more about software reliability and maintenance and focus more on techniques for developing and maintaining software that is correct from its inception. While CS students are likely to have heard of the importance of such techniques, the engineering knowledge and experience provided in SE programs go beyond what CS programs can provide. The importance of this fact is so great that students of SE should participate in the development of software to be used in earnest by others. SE students learn how to assess customer needs and develop usable software that meets those needs. Knowing how to provide genuinely useful and usable software is of paramount importance.

  Software Engineering Program Description ( NAQAAE Form 13)

  Software Engineering Program ILO Matrix (NAQAAE Form 11B)


Course Descriptions

Course Code Course NameDescription Week-by-week Content
SE492Software Verification Form 12 Form 11a
SE491Software Component Design Form 12 Form 11a
SE393principle of software arhitecture Form 12 Form 11a
SE494Formal methods in software engineering Form 12 Form 11a
SE493Software quality assurance Form 12 Form 11a
SE392Software Requirements and Specifications Form 12 Form 11a
SE495Security in Software Engineering Form 12 Form 11a
SE496Software Engineering Process Form 12 Form 11a
SE291Introduction to Software Engineering Form 12 Form 11a
SE391Project Management Form 12 Form 11a