OVERVIEW: Introduction to software engineering Software processes: software processes, Model process, iteration, software specification, software design and implementation software validation, software evolution, automated process support.
Software Requirements: Functional and non-functional requirements, user requirements, system requirements, the software-required documents. Requirements of Engineering: processes feasibility studies, requirements elicitation and analysis, requirements validation, requirement, requirements management. System Model: Context Model, Behavior Models, Data Models, Object models, CASE workbench Software Prototyping: Prototyping in Software Processes, Rapid Prototyping Technique, and User-Interface Prototyping.
Architectural Design: System Structuring, Control Models, Modular Decomposition, And Domain Specific architecture. Object Oriented Design: Object and Object Classes, An object oriented design process, Design Evolution. User Interface Design: User interface design principles, User Interaction, Information Presentation User Support, Interface Evaluation.
VERIFICATION VALIDATION: Verification and validation Planning, Software Inspection, Automated Static Analysis, Clean Room Software Development. Software Testing: Defect Testing, Integration Testing, Object oriented testing, testing workbenches.
Critical System: Critical System, Availability and Reliability, Safety and Security. Critical System Specification: Software reliability specification, Safety Specification.
Project Management: Management Activities, Project Planning, Project Scheduling, and Risk Management. Software Cost Estimation: Productivity, Estimation Techniques, Algorithmic Cost Modeling, Project Duration and staffing. Quality Management: Quality Assurance and standards, Quality Planning, Quality Control, Software Measurements and Metrics.
Legacy System: Legacy System Structure, Legacy System Design and Assessment. Software Re-Engineering: Source Code Translation, Reverse Engineering, Program Structure Improvement, and Program Modularization, Data Re-engineering.