Software Engineering
0%
Course Title: Software Engineering
Course No: CSIT.324
Nature of the Course: Theory + Lab
Semester: 6
Full Marks: 60 + 20 + 20
Pass Marks: 24 + 10 + 10
Credit Hours: 3
Course Description
Course Objectives
Course Contents
1.1. Software Concepts
- Definition, characteristics and application domain of software
- Changing Nature of Software
1.2. Software Engineering Concepts
- Definition of software engineering and software process
- Software engineering practices
- Software Development Myths
- Software Process Structure
2.1. Traditional Process Models
- Waterfall Model
- Prototype Model
- Rapid Application Development Model
- Spiral Model
2.2. Modern Process Models
- Agile Process: Extreme Programming, Scrum
- Aspect Oriented Software Development Model
3.1. Requirements Types and Documentation
- Functional and non-functional requirements
- The software requirements document
- Requirements specification
3.2. Requirements Engineering Process
- Requirements engineering processes
- Requirements elicitation and analysis
- Requirements validation
- Requirements management
4.1. System Modeling
- Context models
- Interaction models
- Structural models
- Behavioural models
- Model-driven engineering
4.2. Architecture Design
- Architectural design decisions
- Architectural views
- Architectural patterns
- Application architectures
- Web Application Design
- Mobile Application Design
5.1. OO Design Principles and UML
- Object Oriented design principle and process
- Unified Model Language 2.0
5.2. UML Diagrams
- Use Case Diagram
- Activity Diagram
- Sequence Diagram
- Class Diagram
- Component Diagram
- Deployment Diagram
5.3. CASE Tools
- CASE and I-CASE Tools
6.1. Configuration Management Activities
- Software Configuration Management Activities
- Change management
- Version and Release management
6.2. Software Maintenance and Re-Engineering
- Software Maintenance
- Software Re-Engineering
7.1. SQA Concepts and Process
- Elements of software Quality Assurance
- SQA Process and product characterise
- SQA Task, Goal and Metrics
- Statistical Software Quality Assurance
7.2. Reliability and Standards
- Software Reliability
- ISO 9000 Quality standards
8.1. Testing Approaches
- Strategic Approach of Software Testing
- Black Box and White Box Testing Approach
- Unit and Integration Testing
- Validation and System Testing
8.2. Specialized Testing
- Testing Object Oriented software
- Testing Web Application
- Testing Mobile Application
- Testing Tools
9.1. Project Planning and Activities
- Project Activities
- Project Planning
9.2. Risk and Cost
- Risk Management
- Cost Estimation
Laboratory Works
- 1.CASE Tools and UML
- 2.Project Work
Text Books
- 1.Sommerville, I. (2010). Software engineering. 9th Edition, Wokingham, England: Addison-Wesley Pub. Co.
- 2.Pressman, R.S (2014)., 'Software Engineering – A Practitioner's Approach', 8th Edition, New Delhi, McGraw Hills
Reference Books
- 1.LethbridgeTimothy and LaganiereRobert (2010). Object-oriented Software Engineering: Practical Software Development using UML and Java. New Delhi, McGraw Hills
- 2.Pankaj Jalote,(2005) 'An Integrated Approach to Software Engineering', 3rd Edition,New Delhi, Narosa Publishing House.
- 3.Pfleeger, S. L., & Atlee, J. M. (2010). Software engineering: theory and practice (4th ed). N.J. Prentice Hall.
- 4.Schwaber, K., &Beedle, M. (2002). Agile software development with Scrum. Upper Saddle River, NJ: Prentice Hall.