Software Engineering

Course Objectives:
This course provides a systematic approach towards planning, development, implementation and maintenance of system, also help developing software projects.

  1. Software Process and requirements  (12 hours)
    1. Software crisis
    2. Software characteristics
    3. Software quality attributes
    4. Software process model
    5. Process iteration
    6. process activities
    7. Computer-aided software engineering
    8. Functional and non – functional requirements
    9. User requirements
    10. System requirement
    11. Interface specification
    12. The software requirements documents
    13. Feasibility study
    14. Requirements elicitation and analysis
    15. Requirements validation and management

  2. System model (3 hours)
    1. Context models
    2.  Behavioural models
    3.  Data and object models
    4.  Structured methods    

  3. Architectural design (6 hours)
    1. Architectural design decisions
    2. System organization
    3. Modular decomposition styles
    4. Control styles
    5.  Reference architectures
    6.  Multiprocessor architecture
    7. Client –server architectures
    8.  Distributed object architectures
    9. Inter-organizational distributed computing  

  4. Real-time software design (3 hours)
    1. System design 
    2.  Real-time operating systems
    3.  Monitoring and control systems
    4.  Data acquisition systems

  5. Software Reuse (3 hours)
    1. The reuse landscape
    2.  Design patterns
    3. Generator–based reuse
    4. Application frameworks
    5. 10.5 Application system reuse

  6.  Component-based software engineering (2 hours)
    1. Components and components models
    2. The CBSE process
    3. Component composition

  7. Verification and validation (3 hours)
    1. Planning verification and validation
    2. Software inspections
    3. Verification and formal methods
    4. Critical System verification and validation

  8. Software Testing and cost Estimation (4 hours)
    1. System testing
    2. Component testing
    3. Test case design
    4. Test automation
    5. Metrics for testing
    6. Software productivity
    7. Estimation techniques
    8. Algorithmic cost modeling
    9. Project duration and staffing

  9.  Quality management (5 hours)
    1. Quality concepts
    2.  Software quality assurance
    3. Software reviews
    4.  Formal technical reviews
    5.  Formal approaches to SQA
    6.  Statistical software quality assurance
    7.  Software reliability
    8.  A framework for software metrics
    9.  Matrices for analysis and design model
    10.  ISO standards
    11.  CMMI
    12.  SQA plan
    13.  Software certification

  10. Configuration Management (2 hours)
    1.  Configuration management planning
    2.  Change management
    3.  Version and release management
    4.  System building
    5.  CASE tools for configuration management

Practical
The laboratory exercises shall include projects on requirements, analysis and designing of software system. Choice of project depend upon teacher and student, case studies shall be included too.
Guest lecture from software industry in the practical session.

References:
  1. Ian Sommerville,  Software Engineering , Latest edition
  2. Roger S. Pressman, Software Engineering –A Practitioner’s Approach, Latest edition
  3. Pankaj Jalote, Software Engineering-A precise approach, Latest edition
  4. Rajib Mall, Fundamental of Software Engineering, Latest edition

Evaluation Scheme:
The questions will cover all the chapters in syllabus. The evaluation scheme will be as indicated in the table below:

Chapters

Hours

Marks Distribution*

1

12

20

2

3

5

3

6

10

4

3

5

5

3

5

6

2

3

7

5

10

8

4

8

9

5

10

10

2

4

Total

45

80


*Note: There may be minor deviation in marks distribution

Sponsered Ads