Home

CPEN 207:Introduction to Software Engineering

Main block

Credits: 
3

History and overview of software engineering, reasons for studying the software engineering, and role of software engineering in computer engineering. Introduction to the process of creating software systems. Software processes: software life cycle, process model, process assessment models, and software process metrics. Requirements and specification: software requirements specification, requirements analysis modeling techniques, functional and nonfunctional requirements, prototyping, concepts of formal specification techniques. Software design: design concepts and principles, software architecture, structured design; object oriented analysis and design, component level design, design for reuse. Software testing: validation planning, test plan creation and generation, black-box testing techniques, object oriented testing, inspections. Software evolution: different forms of software maintenance, impact analysis, characteristics of maintainable software, reengineering, and software reuse strengths and weaknesses. Software tools and environment: programming 2environments, requirements analysis and design modeling tools, testing tools, configuration management tools, software tools based on databases, tool integration mechanisms. Software project management: organization and management of teams including roles and responsibilities of team and tracking, project scheduling, software measurements, risk analysis, software quality assurance, project management tools.