PSE101 SOFTWARE ENGINEERING CONCEPTS AND METHODOLOGIES
Principles and Motivations: History; definitions; why engineered approach to software development; Software development process models from the points of view of technical development and project management: waterfall, rapid prototyping, incremental development, spiral models, Agile Software Development, Emphasis on computer-assisted environments. Selection of appropriate development process.
Software Development Methods: Formal, semi-formal and informal methods; Requirements elicitation, requirements specification; Data, function, and event-based modeling; Some of the popular methodologies such as Yourdons SAD, SSADM etc; CASE tools-classification, features, strengths and weaknesses; ICASE; CASE standards.
Software Project Management: Principles of software projects management; Organizational and team structure; Project planning; Project initiation and Project termination; Technical, quality, and management plans; Project control; Cost estimation methods: Function points and COCOMO.
Software Quality Management: Quality control, quality assurance and quality standards with emphasis on ISO 9000; Functions of software QA organization does in a project; interactions with developers; Quality plans, quality assurance towards quality improvement; Role of independent verification & validation; Total quality management; SEI maturity model; Software metrics.
Configuration Management: Need for configuration management; Configuration management functions and activities; Configuration management techniques; Examples and case studies.
Software Testing Fundamentals: Basic Terminology, Testing Techniques and strategies.
Brief introduction to various standards related to Software Engineering.