Uploaded by MOOKHAMBIKA N

Software Engineering Course Syllabus

advertisement
20CS416
SOFTWARE ENGINEERING
LTPC
3003
Course Objective:
1. To know the fundamentals of project management activities.
2. To design software using models.
3. To gather knowledge on various software testing, maintenance methods
4. To develop an efficient software system through good group cohesiveness.
5. To verify the quality of software products
Unit I FUNDAMENTALS OF SE AND REQUIREMENT ENGINEERING
9
Software Engineering Fundamentals; Software processes: Software life-cycle and process
models; Process assessment models; Overview of Project Management activities; Software
requirements and specifications: Requirements elicitation; Requirements analysis modeling
techniques; Functional and nonfunctional requirements; User requirements, System
requirements, requirement validation and software requirement specification document.
Prototyping - Basic concepts of formal specification techniques.
Unit II SOFTWARE DESIGN
9
Fundamental design concepts and principles; Design characteristics; System Models - Context,
Behavioral, Data and, Object models, Architectural design- System structuring, Control
models; Structured design; Object-oriented analysis and design; User interface design; Design
for reuse; Design patterns
Unit III SOFTWARE VALIDATION AND MAINTENANCE
9
Software validation: Validation planning; Testing fundamentals, including test plan creation
and test case generation; Black-box and white-box testing techniques; Unit, integration,
validation, and system testing; Object-oriented testing; Inspections. Software evolution:
Software maintenance; Characteristics of maintainable software; Reengineering; Legacy
systems; Software reuse.
Unit IV SOFTWARE PROJECT MANAGEMENT
9
Team management – Team processes, Team organization and decision -making, Roles and
responsibilities in a software team, Role identification and assignment, Project tracking, Team
problem resolution; Project planning and scheduling; Software measurement and estimation
techniques; Risk analysis and management; Software quality assurance; Software configuration
management.
Unit V SOFTWARE QUALITY PROCESS IMPROVEMENT
9
Overview of Quality management and Process Improvement; Overview of SEI -CMM, ISO
9000, CMMI, PCMM, TQM and Six Sigma; overview of CASE tools. Software tools and
environments: Programming environments; Project management tools; Requirements analysis
and design modeling tools; testing tools; Configuration management tools;
Total: 45 Periods
Course Outcomes:
CO1 Analyze a problem, identify and define the computing requirements appropriate to its
solution.
CO2 Design, implement and evaluate a system / computer based system process, component or
program to meet desired needs
CO3 Apply design and development principles in the construction of software systems.
CO4 Apply testing methods for the software products
CO5 Improve the product by checking the quality of the software products
Text Books
1
R. S. Pressman, Software Engineering, a practitioner‘s approach,McGraw Hill,7th Edition,
2010.
2
Ian Sommerville, "Software Engineering", 9th Edition, Addison- Wesley, 2011
References
1
Pankaj Jalote, ―Software Engineering, A Precise Approach‖, Wiley India, 2010.
2
Kelkar S.A., ―Software Engineering‖, Prentice Hall of India Pvt Ltd, 2007.
3
Stephen R.Schach, ―Software Engineering‖, Tata McGraw-Hill Publishing Company
Limited,2007.
Web References
1
https://www.coursera.org/courses?query=object%20oriented%20design
2
https://www.coursera.org/learn/object-oriented-design
3
https://onlinecourses-archive.nptel.ac.in/noc17_cs25
4
https://pl.cs.jhu.edu/oose/
Download