Introduction to Software Engineering


Course Outline: Overview of Software Engineering: history, nature, relation of software engineering to other discipline, software development life cycle, Programming language; Software nature and qualities: product qualities, project qualities, correctness, robustness, usability, maintainability, portability, quality measurements; Software development life cycle: requirement, design, development, testing, maintenance; Software development model: waterfall, agile, spiral, RDD, V model; Software engineering principles: modularity, abstraction, generality, object oriented, component oriented, structured.; Specification and Verification: requirement specification, descriptive specification, testing, analysis, debugging; Modeling and Design: basics of modeling diagram, UI design. Software Project Management: concepts, project metrics, estimation, risks management.