OBJECT ORIENTED MODELING AND DESIGN PATTERNS (13MCA51)

Similar documents
PESIT SOUTH CAMPUS 10CS71-OBJECT-ORIENTED MODELING AND DESIGN. Faculty: Mrs.Sumana Sinha No. Of Hours: 52. Outcomes

PROCESS USE CASES: USE CASES IDENTIFICATION

Objects Identification in Object-Oriented Software Development - A Taxonomy and Survey on Techniques

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

Specification of the Verity Learning Companion and Self-Assessment Tool

CREATING SHARABLE LEARNING OBJECTS FROM EXISTING DIGITAL COURSE CONTENT

Notes on The Sciences of the Artificial Adapted from a shorter document written for course (Deciding What to Design) 1

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Nearing Completion of Prototype 1: Discovery

Software Maintenance

Rover Races Grades: 3-5 Prep Time: ~45 Minutes Lesson Time: ~105 minutes

Designing a Rubric to Assess the Modelling Phase of Student Design Projects in Upper Year Engineering Courses

CPS122 Lecture: Identifying Responsibilities; CRC Cards. 1. To show how to use CRC cards to identify objects and find responsibilities

Implementing a tool to Support KAOS-Beta Process Model Using EPF

M55205-Mastering Microsoft Project 2016

Course outline. Code: ICT310 Title: Systems Analysis and Design

GACE Computer Science Assessment Test at a Glance

November 17, 2017 ARIZONA STATE UNIVERSITY. ADDENDUM 3 RFP Digital Integrated Enrollment Support for Students

Modeling user preferences and norms in context-aware systems

Ontologies vs. classification systems

Class Responsibility Assignment (CRA) for Use Case Specification to Sequence Diagrams (UC2SD)

UML MODELLING OF DIGITAL FORENSIC PROCESS MODELS (DFPMs)

Teaching-Material Design Center: An ontology-based system for customizing reusable e-materials

Data Modeling and Databases II Entity-Relationship (ER) Model. Gustavo Alonso, Ce Zhang Systems Group Department of Computer Science ETH Zürich

Introduction to Modeling and Simulation. Conceptual Modeling. OSMAN BALCI Professor

MINISTRY OF EDUCATION

Using Task Context to Improve Programmer Productivity

Problem and Design Spaces during Object-Oriented Design: An Exploratory Study

An OO Framework for building Intelligence and Learning properties in Software Agents

COURSE LISTING. Courses Listed. Training for Cloud with SAP SuccessFactors in Integration. 23 November 2017 (08:13 GMT) Beginner.

Software Development Plan

LEGO MINDSTORMS Education EV3 Coding Activities

ECE-492 SENIOR ADVANCED DESIGN PROJECT

Ericsson Wallet Platform (EWP) 3.0 Training Programs. Catalog of Course Descriptions

KOMAR UNIVERSITY OF SCIENCE AND TECHNOLOGY (KUST)

Teaching Architecture Metamodel-First

Major Milestones, Team Activities, and Individual Deliverables

On-Line Data Analytics

Group A Lecture 1. Future suite of learning resources. How will these be created?

BUS Computer Concepts and Applications for Business Fall 2012

Pragmatic Use Case Writing

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

An Open Framework for Integrated Qualification Management Portals

FUZZY EXPERT. Dr. Kasim M. Al-Aubidy. Philadelphia University. Computer Eng. Dept February 2002 University of Damascus-Syria

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

Knowledge-Based - Systems

University Library Collection Development and Management Policy

CIS 121 INTRODUCTION TO COMPUTER INFORMATION SYSTEMS - SYLLABUS

Diploma in Library and Information Science (Part-Time) - SH220

Introduction of Open-Source e-learning Environment and Resources: A Novel Approach for Secondary Schools in Tanzania

CONCEPT MAPS AS A DEVICE FOR LEARNING DATABASE CONCEPTS

On Human Computer Interaction, HCI. Dr. Saif al Zahir Electrical and Computer Engineering Department UBC

Java Programming. Specialized Certificate

Learning Methods for Fuzzy Systems

PeopleSoft Human Capital Management 9.2 (through Update Image 23) Hardware and Software Requirements

CWIS 23,3. Nikolaos Avouris Human Computer Interaction Group, University of Patras, Patras, Greece

An NFR Pattern Approach to Dealing with Non-Functional Requirements

MGT/MGP/MGB 261: Investment Analysis

OCR LEVEL 3 CAMBRIDGE TECHNICAL

Please find below a summary of why we feel Blackboard remains the best long term solution for the Lowell campus:

Designing Educational Computer Games to Enhance Teaching and Learning

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY DOWNLOAD EBOOK : ADVANCED MACHINE LEARNING WITH PYTHON BY JOHN HEARTY PDF

Generating Test Cases From Use Cases

Clerical Skills Level I

Deploying Agile Practices in Organizations: A Case Study

Online Marking of Essay-type Assignments

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

UCEAS: User-centred Evaluations of Adaptive Systems

On the Combined Behavior of Autonomous Resource Management Agents

Value Creation Through! Integration Workshop! Value Stream Analysis and Mapping for PD! January 31, 2002!

Clerical Skills Level II

ACCT 100 Introduction to Accounting Course Syllabus Course # on T Th 12:30 1:45 Spring, 2016: Debra L. Schmidt-Johnson, CPA

Class Numbers: & Personal Financial Management. Sections: RVCC & RVDC. Summer 2008 FIN Fully Online

Operational Knowledge Management: a way to manage competence

The Role of Architecture in a Scaled Agile Organization - A Case Study in the Insurance Industry

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

CERTIFIED PROJECT MANAGEMENT SPECIALIST (CPMS) STUDY GUIDE

The open source development model has unique characteristics that make it in some

The Seven Habits of Effective Iterative Development

Integrating E-learning Environments with Computational Intelligence Assessment Agents

IBM Software Group. Mastering Requirements Management with Use Cases Module 6: Define the System

THE HUMAN SEMANTIC WEB SHIFTING FROM KNOWLEDGE PUSH TO KNOWLEDGE PULL

SAM - Sensors, Actuators and Microcontrollers in Mobile Robots

An Interactive Intelligent Language Tutor Over The Internet

A Pipelined Approach for Iterative Software Process Model

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

Computer Science (CS)

Computerized Adaptive Psychological Testing A Personalisation Perspective

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

Radius STEM Readiness TM

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Evaluation of Usage Patterns for Web-based Educational Systems using Web Mining

Managing OO Projects Better

CPMT 1347 Computer System Peripherals COURSE SYLLABUS

PELLISSIPPI STATE TECHNICAL COMMUNITY COLLEGE MASTER SYLLABUS. PROFESSIONAL PRACTICE IDT 2021(formerly IDT 2020) Class Hours: 2.0 Credit Hours: 2.

Learning Microsoft Publisher , (Weixel et al)

UDW+ Student Data Dictionary Version 1.7 Program Services Office & Decision Support Group

An Introduction to the Minimalist Program

Transcription:

PESIT- Bangalore South Campus Hosur Road (1km Before Electronic city) Bangalore 560 100 Department of MCA COURSE INFORMATION SHEET OBJECT ORIENTED MODELING AND DESIGN PATTERNS (13MCA51) 1. GENERAL INFORMATION Academic Year: Jul 2015-Nov 2015 Semester(s): V Title Code Duration (hrs) OBJECT ORIENTED MODELING AND DESIGN PATTERNS 13MCA 51 Lectures 52 Hrs 2. COURSE PRE REQUISITE STATEMENT Students should be familiar in basic object oriented language and designing part Objective of learning object oriented modeling and design pattern helps to design any project in a simple and flexible manner and it reduces the coding part. Object oriented modeling and design is a way of thinking about problems using models organized around real-world concepts.

The fundamental construct is the object, which combines both data structure and behavior. Object oriented models are useful for understanding problems, communicating with application experts, modeling enterprises, preparing documentation and designing programs and databases. 3. COURSE OBJECTIVES Knowledge in: Introducing students to the concepts and terms used in the objectoriented approach to systems analysis and design Highlighting the importance of object-oriented analysis and design and its limitations. Showing how we apply the process of object-oriented analysis and design to software development. Pointing out the importance and function of each UML model throughout the process of object-oriented analysis and design and explaining the notation of various elements in these models. Providing students with the necessary knowledge and skills in using object-oriented CASE tools 4. COURSE OUTCOMES: After completing this course the student will be able to : Construct models to Show the importance of systems analysis and design in solving complex problems. Will be able to differentiate how the object-oriented approach differs from the traditional approach to systems analysis and design. Explain the importance of modeling and how the Unified Modeling Language (UML) represents an object-oriented system using a number of modeling views. Construct various UML models (including use case diagrams, class diagrams, interaction diagrams, state chart diagrams, activity diagrams, and implementation diagrams) using the appropriate notation. Recognize the difference between various object relationships: inheritance, association, whole-part, and dependency relationships.

Show the role and function of each UML model in developing object-oriented software. Apply the Umbrello or Rational Software Suit for the construction of UML models and expressing the appropriate notation associated with each model. Develop an appreciation for and understanding of the risks inherent to large-scale software development, Develop an understanding of the application of OOAD practices from a software project management perspective 5. FACULTY DETAILS Details Name Department R.Jayanthi MCA Room Number 504 Mobile No. 9980667757 E-mail address jayanthir@pes.edu Contact Hours Office Hours 6. VENUE AND HOURS/WEEK All lectures will normally be held in V /VI Floor. Lecture Hours/week: 4Hrs

7. MODULE MAP Clas s # 1 2 3 Chapter # Chapter 1 INTRODUCTI ON Modeling Concepts, Class Topics to be covered What is object orientation? What is OO development? OO themes; Evidence for usefulness of OO development; OO modeling history, Modeling as design technique: Modeling, abstraction; 4 The three models class modeling: object and class concepts; 5 Modeling Links and association concepts; 6 Generalization and inheritance; 7 A sample class model, Navigation of class models; Practice tips. 8 Advanced object and class concepts 9 Association ends, N-ary associations, Aggregation Chapter 2 Advanced Class Modeling, % Of Portion covered Chapt er wise Cumu lative 13.46 13.46 Abstract classes, Multiple inheritance, 10 Metadata 11.53 24.99 11 Reification, Constraints Derived data, State 12 Packages, Practical tips Modeling State Modeling: events, states, 13 Transitions and conditions Advanced state modeling; Nested 14 state diagrams, Signal generalization; concurrency; A sample state model; 15 Relation of class and state models; Practical tips 16 Interaction Modeling: use case models Chapter-3 Advanced State Modeling, Interaction Modeling 17 Sequence models; Activity models 18 Use case relationships; Procedural sequence models; 19 Special constructs for activity models 20 Process overview: Development stages; 11.53 36.52

21 Chapter -4 Development life cycle. Process System conception: Devising a system 22 overview: concept; System Elaborating a concept, preparing a 11.53 49.98 23 conception, problem statement. Domain 24 Domain analysis: overview of analysis analysis Domain class model, domain state 25 model 26 Domain interaction model, Iterating the analysis Application analysis; Application 27 interaction model; Application state model; 28 Adding operations; Overview of system design Estimating performance 29 Chapter -5 Making a reuse plan; Breaking a Application system into sub systems; 30 Analysis, Identifying concurrency; Allocation of 13.46 63.44 System sub-systems 31 design Management of data storage; Handling global resources; 32 Choosing a software control strategy; Handling boundary conditions Setting the trade off priorities; 33 Common architectural styles; Architecture of the ATM system as the example 34 Class design: Overview of class design, bridging the gap; Realizing use cases; designing 35 algorithms ; Recursing downwards, Refactoring; Chapter -6 Design optimization; Reification of 36 Class design, behavior; Adjustment of inheritance; 13.46 76.90 Implementat Organizing a class design; ATM ion modeling example 37 Legacy Implementation Modeling; Overview of systems implementation; Fine tuning classes; 38 Fine tunning generalizations; Realizing associations; Testing Legacy systems: Reverse engineering; 39 Building the class models; Building the interaction model

Building the state model; Reverse 40 engineering tips; wrapping; maintenance 41 What is a pattern and what makes a pattern? Pattern categories; 42 Relationships between patterns; Pattern description; 43 Communication patterns: Forwarder receiver; 44 Client- Dispatcher-server Chapter 7 45 Publisher-Subscriber Design 46 Patterns, Management patterns; 23.10 100 47 Idioms Command processor 48 View handler 49 Idioms: introduction 50 What can idioms provide? Idioms and style 51 Where to find idioms; Counted pointer example 52 Revision 8. RECOMMENDED BOOKS/ WEBSITES/JOURNALS Text Books: Sl Title of the # Book 1 Object- Oriented Modeling and Design with UML 2 Pattern Oriented Software Architecture Chapters Authors Publisher Edition Chap 1 17 & 23 Chap 1-4 Michael Blaha, James Rumbaugh Frank Buschmann Pearson John Wiley & sons II Vol I Reference Books:

Sl Title of the Book Authors Publisher Edition # 1 Object Oriented Grady Booch Pearson III Analysis and Design with Applications 2 Object-Oriented Brahma Dathan Universities II Analysis, Design and Implementation Press 3 UML 2 Toolkit Hans-Erik Eriksson Wiley- 4 Object Oriented Analysis and Design using UML Simon Benett Dreamtech Tata McGrawHill II 9. ASSESSMENT WRITTEN EXAMINATION No. Of Questions 8 Main Questions Paper Structure No. of questions to be answered Exam date Paper Duration 3 Hrs Total Marks 100 Pass Marks 40 CONTINUOUS ASSESSMENT Parameters Weighting (%) Class Test(s): 5 Marks (10%) Assignment(s): 5 Marks (10%) Seminar(s): Test(s): 5 Marks (10%) 30 Marks 5

Overall Performance: Total Marks: Assignment questions (60%) 5 Marks (10%) 50 Marks 1.Considering any problem statement and students need to analyze using OO Analysis 2. Design to be done by the students for the above problem using OO design QUESTION BANK 1. Explain system development and system development methodology? * 2. What are orthogonal views of software? 3. Why is object orientation required? 4. How does the object-oriented approach differ from the traditional top-down approach? * 5. Explain the advantages of object-oriented development. 6. Explain in brief about the unified approach. * 7. What are the different characteristics of the object oriented system? Explain in brief about any two characteristics? * 8. Explain following terms with example * i) Static binding and dynamic binding. ii) Aggregation. iii) Consumer-producer association. 9. Explain polymorphism, attributes and methods. 10. What is prototyping and how it is useful? Explain different types of prototyping? * 11. Explain object behavior and response to messages? 12. Explain Encapsulation and Information hiding? Write about class hierarchy. 13. Explain an inheritance, Data abstraction, Single inheritance and Multiple inheritances. 14. Differentiate between structured approach and object-oriented approach using the example of payroll. 15. Explain in brief the object identity, object persistence, meta classes, static and dynamic binding. 16. Explain association and aggregation and object containment. 17. What is the difference between a method and a message? *

18. Explain Software development process in general with an example. And also briefly explain the waterfall model. * 19. Explain waterfall model and high quality software? 20. Given the number of steps involved in object oriented analysis processing with respect to unifies approach and explain about use case development * 21. What is object orientation with respect to software Development? Explain the reasons for object orientation. * 22. Explain the features of Object oriented system development with an example. * 23. What is binding? Explain Static and dynamic binding and differentiate them. * 24. Explain the following with respect to object oriented systems Development: 1) Prototyping II) Component based development iii) Incremental testing. * 25. What are the measures used to evaluate the quality of software? Explain. * 26. Why is reusability important? How does object oriented software development promote reusability. * 27. What is the lifetime of an object and how can you extend the lifetime of an object? 28. What is component-based development? Why is it important? * 29. What is software correspondence, correctness, validation and verification? 30. Suppose you have been hired as a system analyst for the ABC company, your first assignment is to propose a new system for the communication among employees. Assuming that you would like to apply the waterfall approach, what would you do at the what phase? How would you accomplish it. Describe the difference between a method and a process. 1. What is an object model? What are the other OMT models? * 2. What are the main advantages of DFD? 3. What is objectory? Name the models in objectory. * 8. Explain in brief the use case? 4. What are anti patterns? 5. What is the strength of the Jacobson et al. Methodology? 6. Describe the difference between patterns and frameworks. * 7. Why modeling is necessary? 8. Write about static and dynamic models. 9. What is UML? What is the importance of UML? * 10. Describe the Uml class diagram. * 11. Describe the class diagram, object diagram.

12. What is an association role? 13. Explain multiplicity, qualifier with an example. * 14. What is generalization? 15. How would you show complete and incomplete generalizations? 16. Give the number of steps involved in OOA processing with respect to unified approach and explain about use-case development. * 17. What is the difference between sequence diagrams and collaboration diagrams? * 18. Explain UML extensibility. 19. What is the purpose of analysis? Why do we need analysis? 20. Why is analysis a difficult task. 21. What are the different types of object oriented methodologies? Explain in brief about Jacobson ET AL methodology. * 22. Explain object oriented design, prototyping and implementation. 23. What are the phases of OMT? Briefly describe each phase. 24. Write about pattern and pattern templates 25. Mention the different faces of unified approach? * 26. Name the different Booch diagrams. Name and explain the different development processes prescribed by booch methodology. 27. Name the different diagrams in UML. Explain sequence diagram and chart diagram* 28. Explain binary association, OR association, N-ary association. 29. What are some of the forms of associations? Draw their UML representations 30. Develop sequence and collaboration diagram for deposit use case of both checking and savings account. 31. Name and describe the relationships in a use case diagram 32. Explain some of the UML dynamic diagrams and behavior diagrams. * 33. Explain state chart and activity diagram 34. What is the model? What is a use-class model? 35. Explain about use case driven object oriented analysis process? 36. Describe the use case model 37. How to develop effective documentation 38. Considering the via net bank ATM explain use case driven process of analysis 39. Write use case diagram for via net ATM bank systemtransaction, checking account and savings account. * 40. What is the purpose of an activity model and meta model? *

41. The Book Store sells textbooks and also other items like floppy, CDs etc The text-purchasing department has unique characteristics, including advance notice from faculty members and issues dealing with unsold copies. Purchasing other items is as for any retail store. An extension of both areas is the checkout (or sales) process. This process should include the cash registers, scanners and sales slips. In fact, this process is often slow. Develop an activity diagram to show the business process of the bookstore. 1. How would you identify actors 2. Explain 80-20 rule 3. Why is documentation an important part of analysis. What are the guidelines for developing an effective documentation? * 4. Write the guidelines for identifying attributes of a class. * 5. Describe relevant, fuzzy, and irrelevant classes. * 6. What are the criteria for naming the classes 7. Explain use case driven approach for identifying classes with an example 8. Describe the noun phrase strategy for identifying tentative classes in a problem domain. Also explain the common patterns approach. * 9. Explain classes responsibilities and collaborators 10. Explain common class patterns strategy 11. Write about association and unnecessary association? * 12. Write about super sub class relationships part of relationships 13. Do the relationship analysis for the via net bank ATM system 14. Define class responsibility and explain the steps involved in identifying attributes and methods. 15. Explain in brief about super sub class relationships. Give the guide lines for identifying super sub class relationship. * 16. What is an a-part-of structure? What are the major properties of an a part of structure. * 17. What are event classes? * 18. Develop sequence/collaboration diagrams for deposit checking use case of Bank System. * 19. What are tangible things and device classes? * 1. Briefly explain packages and managing classes. 2. Write about logical and physical database organization and access control. 3. Describe the process of creating the access layer. * 4. Explain in brief the macro and micro processes of view layer

design. * 5. What is an OODBMS? Describe the difference between OODBMS and object- oriented program. * 6. Explain design axioms and corollaries * 7. What are the different activities of object oriented design process. * 8. What are the different corollaries that can be derived using independent axioms and the information axioms? Explain briefly. * 9. Explain the design patterns. 10. Write about UML object constraint language and UML operation presentation. * 11. Explain class visibility along with the design constraints. 12. What are the constraints involved in designing methods and protocols. 13. Design methods for via net bank system. 14. Briefly sketch database management system. Explain different database models.* 15. Explain object relational systems. 16. What is distributed databases and client-server computing. 17. What is meant by multidata base systems? 18. Explain the process of creating the access layer taking the example of via net bank ATM * 19. Design the classes for via net Bank ATM system.* 20. What are the purposes of View layer interface? Give the guidelines for each.* 21. How do you differentiate good design from bad design. * 22. What is the relationship between coupling and cohesion.* 23. What are public and private protocols? What is the significance of separating these two protocols?* 24. Describe the user interface design rules. 25. What is a pattern? What are the advantages of pattern? 26. What are the different types of patterns available. 27. Explain the structure, dynamics of Expert pattern. 28. Explain the structure, implementation of controller pattern. 29. Explain the structure, implementation of Publishersubscriber pattern 30. Explain the structure, dynamics of command pattern. 31. Explain the structure, implementation of Forwardreceiver pattern with Java program 32. Write a Program to implement Façade Pattern.

dispatcher pattern. 33. What are idioms? What are the advantages of it? 34. Differentiate between Reverse Engineering and Forward Engineering