Introduction:
Professional Software Development Attributes of good software, software engineering diversity, IEEE/ACM code of software engineering ethics, case studies. Software Process and Agile Software Development Software Process models: waterfall, incremental development, reuses oriented, Process activities; coping with change, The Rational Unified Process.
Agile Methods, Plan-Driven and Agile Development, Extreme Programming, Agile Project Management, scaling agile methods. Requirement Engineering: Functional and non-functional requirements, The Software requirements document, Requirements specification, Requirements engineering processes, Requirement elicitation and analysis, Requirement validation, Requirement management
What is object orientation?
What is OO development? OO themes; Evidence for usefulness of OO development; OO modelling history, modelling as design Technique: Modelling; abstraction; the three models. Object and class concepts; Link and associations concepts; Generalization and inheritance; A sample class model; Navigation of class models; Practical tips. Advanced objects and class concepts; Associations ends; N-array association; Aggregation, Abstract class; Multiple inheritance; Metadata; Reification; Constraints; Derived data; packages; practical tips
System Models:
Context models, Interaction models. Structural models. Behavioural models. Model-driven engineering Design and Implementation: Introduction to RUP, Design Principles. Object-oriented design using the UML. Design patterns. Implementation issues. Open source development.
Software Testing:
Development testing, Test-driven development, Release testing ,User testing . Test Automation. Software Evolution: Evolution processes. Program evolution dynamics. Software maintenance. Legacy system management.
Assessment Details (both CIE and SEE)
Continuous Internal Evaluation:
1. Three Unit Tests each of 20 Marks
2. Two assignments each of 20 Marks or one Skill Development Activity of 40 marks to attain the COs and POs
The sum of three tests, two assignments/skill Development Activities, will be scaled down to 50 marks
CIE methods /question paper is designed to attain the different levels of Bloom’s taxonomy as per the outcome defined for the course.
Semester End Examination:
1. The SEE question paper will be set for 100 marks and the marks scored will be proportionately reduced to 50.
2. The question paper will have ten full questions carrying equal marks.
3. Each full question is for 20 marks. There will be two full questions (with a maximum of four sub-questions) from each module.
4. Each full question will have a sub-question covering all the topics under a module.
5. The students will have to answer five full questions, selecting one full question from each module
Suggested Learning Resources:
Text Books:
1. Ian Sommerville: Software Engineering, 9th Edition, Pearson Education, 2012.
2. Michael Blaha, James Rumbaugh: Object Oriented Modelling and Design with UML,2nd Edition, Pearson Education,2005.
Reference books:
1. Roger S. Pressman: Software Engineering-A Practitioners approach, 7th Edition, Tata McGraw Hill.
2. Pankaj Jalote: An Integrated Approach to Software Engineering, Wiley India.
3. Stephan R. Schach, “Object oriented software engineering”, Tata McGrawHill,2008
4. Craig Larman, Applying UML and Patterns, 3rd ed, Pearson Education,2005.
Skill Development Activities Suggested
Course outcome (Course Skill Set)
At the end of the course the student will be able to :
CO1 Design a software system, component or process to meet desired needs within realistic constraints L2
CO2 Assess professional and ethical responsibility L1
CO3 Function on multi-disciplinary teams L1
CO4 Use the techniques, skills, and modern engineering tools necessary for engineering practice L2
CO5 Analyze, design, implement, verify, validate, implement, apply, and maintain software systems or parts of software systems L4
Program Outcome of this course
1 Engineering knowledge: Apply the knowledge of mathematics, science, engineering fundamentals, and computer science and business systems to the solution of complex engineering and societal problems. PO1
2 Problem analysis: Identify, formulate, review research literature, and analyze complex engineering and business problems reaching substantiated conclusions using first principles of mathematics, natural sciences, and engineering sciences. PO2
3 Design/development of solutions: Design solutions for complex engineering problems and design system components or processes that meet the specified needs with appropriate consideration for the public health and safety, and the cultural, societal, and environmental considerations. PO3
4 Conduct investigations of complex problems: Use research-based knowledge and research methods including design of experiments, analysis and interpretation of data, and synthesis of the information to provide valid conclusions. PO4
5 Modern tool usage: Create, select, and apply appropriate techniques, resources, and modern engineering and IT tools including prediction and modeling to complex engineering activities with an understanding of the limitations PO5
6 The engineer and society: Apply reasoning informed by the contextual knowledge to assess societal, health, safety, legal and cultural issues and the consequent responsibilities relevant to the professional engineering and business practices. PO6
7 Environment and sustainability: Understand the impact of the professional engineering solutions in business societal and environmental contexts, and demonstrate the knowledge of, and need for sustainable development. PO7
8 Ethics: Apply ethical principles and commit to professional ethics and responsibilities and norms of the engineering and business practices. PO8
9 Individual and team work: Function effectively as an individual, and as a member or leader in diverse teams, and in multidisciplinary settings. PO9
10 Communication: Communicate effectively on complex engineering activities with the engineering community and with society at large, such as, being able to comprehend and write effective reports and design documentation, make effective presentations, and give and receive clear instructions. PO10
11 Project management and finance: Demonstrate knowledge and understanding of the engineering, business and management principles and apply these to one‟s own work, as a member and leader in a team, to manage projects and in multidisciplinary environments. PO11
12 Life-long learning: Recognize the need for, and have the preparation and ability to engage in independent and life-long learning in the broadest context of technological change. PO12