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, modeling 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.
State modelling:
Events, States, Transitions and Conditions; State Diagram; State diagram behaviour; Practical tips. Advanced State Modeling: Nested state diagram; Nested states; Signal generalization; Concurrency; A sample state model, Relation of class and state models; practical. Interaction modelling: Use Case models, Sequence models, Activity models, Use case relationships; Procedural sequence models, special constructs for activity models.
Project Design and planning:
Process planning, Effort estimation, project scheduling and staffing, Software configuration Management plan, Quality plan, Risk Management, Project Monitoring plan Design: Design concepts, Function oriented design, detailed design, verification, Metrics.
Question Paper Pattern:
• The Question paper will have TEN questions
• Each full question will be for 20 marks
• There will be 02 full questions (with maximum of four sub questions) from each module.
• Each full question will have sub questions covering all the topics under a module.
• The students will have to answer FIVE full questions, selecting one full question from each module.
Textbooks
1. Ian Sommerville: Software Engineering, 9th Edition, Pearson Education Ltd, 2011
2. Pankaj Jalote, Software Engineering, Wiley India Pvt Ltd (2010) Paul C Jorgensen Software Testing A CraftMan’s Approach, 2nd edition, CRC Press.
3. MichelBlaha, James Rumbaugh: Object-Oriented Modelling and Design with UML, 2nd edition, Pearson, 2007.
References
1. Stephan R. Schach, “Object oriented software engineering”, Tata McGrawHill,2008
2. Craig Larman, Applying UML and Patterns, 3rd ed, Pearson Education,2005.
Course Outcomes:
Students will be able to
CO1: Identify and define different requirements for the given problem and present in the IEEE format.
CO2: Use modern tool to create dynamic diagrams to represent the design for the given problem.
CO3: Draw class diagram , analyse the different types of association that exists as per the given problem and represent them using UML notations.
CO4: Analyse the given system to identify actors, use cases to design use case diagrams for the given problem using RSA/open source tool.
CO5: Design the static/dynamic models to meet application requirements of the given system and generate code (skeleton) using the modern tool.