Still no participant
Still no reviews
Course Objectives:
Learning Outcomes:
Course Syllabus:
Module I - Introduction to Software Engineering and Process Models
The evolving role of software, changing nature of software, software myths, software development challenges.
Generic view of process: process framework, the capability maturity model integration (CMMI), process patterns, process assessment, personal and team process models.
Process Models and Software Development Life Cycle Phases, Traditional Life Cycle Models: Waterfall Model, ‘V’ Model, Prototyping Model, the Iterative Waterfall Model, the Spiral Model, Evolutionary model, Component-Based Software Engineering (CBSE). Rapid software development models: Agile methods, Extreme programming, Rapid application development (RAD).
Module II - Software Requirement Analysis and Specification
Software Requirement Engineering: Functional and non-functional requirements, user requirements, system requirements, interface specification, the software requirements document.
Requirement Engineering Process: Requirement Inception, Identification of Stakeholders, Feasibility studies, requirements elicitation and analysis, requirements validation, requirements management.
System models: Context models, behavioral models, data models, object models, structured methods.
Module III – Object Oriented Analysis and Design
Introduction to OOAD with OO Basics – Unified Process – UML diagrams – Use Case –Case study – the Next Gen POS system, Inception -Use case Modelling – Relating Use cases – include, extend and generalization – When to use Use-cases. Class Diagram–– Elaboration – Domain Model – Finding conceptual classes and description classes – Associations – Attributes – Domain model refinement – Finding conceptual class Hierarchies – Aggregation and Composition – Relationship between sequence diagrams and use cases – When to use Class Diagrams.
Module IV – Dynamic OO Modeling
Dynamic Diagrams – UML interaction diagrams – System sequence diagram – Collaboration diagram – When to use Communication Diagrams – State machine diagram and Modelling –When to use State Diagrams – Activity diagram – When to use activity diagrams Implementation Diagrams – UML package diagram – When to use package diagrams – Component and Deployment Diagrams – When to use Component and Deployment diagrams.
Module V - Software Testing
Structured Design Methodologies: Coupling and Cohesion, Software Testing: Testing Fundamentals, Verification & Validation, Black Box Testing, White Box Testing, Unit Testing, Integration Testing, Object Oriented Testing, System Testing, Alpha and beta testing, Regression testing.
Module VI - Software Quality Assurance
Software Quality Concepts, Software Quality Metrics and its Classification, Software Size Metrics: LOC Metrics, Function Point Metrics, Process point. Software Configuration Management (CM), Software Quality Assurance (SQA), Software Quality and Agile Methods, Automated and Manual Functional Testing: Acceptance testing, Mock objects, User interface testing (HTTPUnit, Canoo), Performance testing. Software Metrics and Analytics, Quality and Process Standards and Guidelines
Module VII - Risk Management in Software Engineering Projects
Risk management: Reactive vs. Proactive Software Risk, Risk Identification, Risk projection, Risk refinement, Risk mitigation, monitoring & management - The RMMM Managing people.
Text Books:
Reference Books:
Rakesh Kumar Ray, M. Tech. in Computer Science, BPUT Odisha. His research area includes the application of machine learning and image processing in the fields of smart agriculture. Programming Skill: C Programming C ++ Programming Java and J2EE C# Programming