MC9244 OBJECT ORIENTED ANALYSIS AND DESIGN L T P C UNIT I INTRODUCTION

Size: px
Start display at page:

Download "MC9244 OBJECT ORIENTED ANALYSIS AND DESIGN L T P C UNIT I INTRODUCTION"

Transcription

1 MC9244 OBJECT ORIENTED ANALYSIS AND DESIGN L T P C UNIT I INTRODUCTION 12 An overview Object basics Object state and properties Behavior Methods Messages Information hiding Class hierarchy Relationships Associations Aggregations- Identity Dynamic binding Persistence Metaclasses Object oriented system development life cycle. UNIT II METHODOLOGY AND UML 12 Introduction Survey Rumbugh, Booch, Jacobson methods Patterns Frameworks Unified approach Unified modeling language Static and Dynamic models UML diagrams Class diagram Usecase diagrams Dynamic modeling Model organization Extensibility. UNIT III OBJECT ORIENTED ANALYSIS 12 Identifying Usecase Business object analysis Usecase driven object oriented analysis Usecase model Documentation Classification Identifying object, relationships, attributes, methods Super-sub class A part of relationships Identifying attributes and methods Object responsibility UNIT IV OBJECT ORIENTED DESIGN 12 Design process Axions Colollaries Designing classes Class visibility Refining attributes Methods and protocols Object storage and object interoperability Databases Object relational systems Designing interface objects Macro and Micro level processes The purpose of a view layer interface UNIT V SOFTWARE QUALITY 12 Quality assurance Testing strategies Object orientation testing Test cases Test Plan Debugging principles Usability Satisfaction Usability testing Satisfaction testing L : 45 T : 15 Total No. of periods : 60 TEXT BOOKS 1. Ali Bahrami, Object Oriented System Development, McGraw Hill International Edition, REFERENCES 1. Craig Larman, Applying UML and Patterns, 2 nd Edition, Pearson, Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide, Addison Wesley Long man, Bernd Bruegge, Allen H. Dutoit, Object Oriented Software Engineering using UML, Patterns and Java, Pearson

2 Question Bank PART A UNIT-I 1) What is an Object? The term object means a combination of data and logic that represents some real world entity. For example, consider a Ashok automobile, it can be represented in a computer program as an object. 2) What is Polymorphism? Poly means many and morph means form. In the context of object-oriented systems, it means objects that can take on or assume many different forms. Polymorphism means that the same operation may behave differently on different classes. Booch defines polymorphism as the relation ship of objects of many different classes by some common superclass; thus, any of the objects designated by this name is able to respond to some common set of operations in a different way. 3) What is the difference between an object's methods and an object's attribute? Properties represent the state of an object. Often, we want to refer to the description of these properties rather than how they are represented in a particular programming language. A method implements the behavior of an object. Basically, a method is a function or procedure that is defined for a class and typically can access the internal state of an object of that class to perform some operation 4) What is inheritance? Inheritance is the property of object-oriented systems that allows objects to be built from other objects. Inheritance allows explicitly taking advantage of the commonality of objects when constructing new classes. The parent class is also known as the base class or super class. 5) Why is encapsulation important? Encapsulation means that the user cannot see the inside of an object "capsule", but can use the object by calling the object's methods. This ensures not only that instructions are operating on the proper data but also that no object can operate directly on another object's data. Using this technique, an object's internal format is insulated from other objects. 6) What is the difference between a method and a message? A message is much more general than a function call. To draw a chart, you would send a draw message to the chart object. Notice that draw is a more general instruction than, say, draw a chart. This is because the draw message can be sent to many other objects, such as a line or circle, and each object could act differently. The message is the instruction and the method is the implementation 7) Why is polymorphism useful? Polymorphism allows us to write generic, reusable code more easily, because we can specify general instructions and delegate the implication details to the objects involved. Since no assumption is made about the classes of an object that represents a message, fewer dependencies are needed in the code and, therefore, maintenance is easier. 8) What is an association? Association represents the relationship between objects and classes. For example, in the statement "a pilot can fly planes", is an association. Association is bi-directional; that means they 2

3 can be reversed in both directions, perhaps with different connotations. The direction implied by the name is the forward direction; the opposite direction is the reverse direction. 9) What is a formal class? Formal or abstract classes have no instances but define the common behaviors that can be inherited by more specific classes. 10) What is OOSDLC? Compare with traditional approach OOSDLC (object oriented software development life cycle) consists of three macro processes namely: Object oriented analysis Object oriented design Object oriented implementation Object oriented systems development includes these activities namely: (a) Object oriented analysis (b) Object oriented design (c) Prototyping (d) Component based development (e) Incremental testing Comparison with traditional approach: This is advantageous over the traditional approach where change and refinement is highly impossible. 11) What is prototyping? Why is it useful? Prototype is a version of software product developed in the early stages of product's life cycle for specific and experimental purposes. Prototyping can further define the use cases and it actually makes use case modeling much easier. Uses: - Prototyping was used as "quick and dirty" way to test the design, user interface and something to be thrown away when the "industrial strength" version was developed. 12) What is software development process? It is a process of change, refinement, transformation or addition to the existing product with in the process it is possible to replace one subprocess with a new one as long as a sub process has the same interface as the old one. 13. What are some of object oriented design process? Design and refine classes, attributes, methods, structures, association Design the access layer class Design the view layer classes Iterate and refine 14. What is use case modeling? Expressing the high -level processes and interaction with customers in a scenario and analyzing it is referred to as use-case modeling. A use case model represents the users view of the system or user needs. 15. What is object modeling? Object modeling is a process by which the logical objects in the real world are represented by 3

4 actual objects in the program. UML class diagram also referred to as object modeling, which is main static analysis diagram. 16.Whatis RAD? RAD (Rapid Application Development) is a set of tools and techniques that can be used to build an application faster than typically possible traditional methods. The main objective of RAD is to build a version of an application rapidly to see whether the system does what it is supposed to do (design) 17. Why is CBD important? CBD helps produce faster product development cycles, increase flexibility and improved customization features. CBD will allow independently developed applications to work together and do so m\some efficiently and with less development effort. 18. Why is reusability important and how does OOSD promote reusability? Reusability is important because it provides increased reliability, reduced time and cost for development and improved consistency. OOSD promotes reusability by 1. Information hiding 2. Conformance to naming standard 3. Creation and administration of an object repository 4. Establishing targets for a percentage of the objects in the product to be reused. 19. What is RAD? RAD (Rapid Application Development) is a set of tools and techniques that can be used to build an application faster than typically possible traditional methods. The main objective of RAD is to build a version of an application rapidly to see whether the system does what it is supposed to do (design) 20. What is object modeling? Object modeling is a process by which the logical objects in the real world are represented by actual objects in the program. UML class diagram also referred to as object modeling, which is main static analysis diagram. UNIT II 1) What are a method, methodology and process? Ans: A method is an implementation of an object's behavior. A model is an abstract of a system constructed to understand the system prior to building or modifying it. Methodology is going to be a set of methods, models and rules for developing systems based on any set of standards. The process is defined as any operation being performed. 2) Write the difference between a method and a process. Ans: Method is going to be implanted version of an objects behavior whereas the process is any operation being performed. Methods concentrate on the data or the object invoking it and modify their behavior. Process is any operation that needs to be carried out in the system. 3) What are the phases of OMT? Briefly explain each one of them. 4

5 Ans: The different phases of OMT are: LJ\ a) Analysis: This results in the object and dynamic and functional models. The object model describes the structure of objects in a system and is represented by means of an object diagram. The dynamic model is going to be a detailed state transition diagram. The diagram is going to be a set of states receiving events so as to make transitions. The functional model is a representation of flow of data between different processes in a business. The process is any function being performed, data flow shows the direction of data element movement, data store is location of the data storage; an external entity is a source or destination of data element. b) System Design: The results are a structure of the basic architecture of the system along with high-level strategy decisions. c) Object Design: The phase produces a detailed design document of all the models. d) Implementation: This phase produces a comprehensive code for the problem. 4) Name 5 Booch diagrams. Ans: 5 Booch diagrams are Class diagrams, Object diagrams, State transition diagrams, Module diagrams, and Process diagrams. 5. Briefly describe the Booch system development process. Ans: It helps us design the system using the object paradigm. It covers the analysis and design phases of a system. It includes a macro and a micro development process. Macro development process is concerned with the technical management of the system. It includes a) Conceptualization where the core requirements of the system are outlined b) Analysis and the development model which focuses on the class diagrams, c) Design or creation of the computer architecture to establish relationships between the' classes d) Evolution or implementation to produce a code and e) Maintenance to add new requirements and to eliminate the bugs. Each macro development process has its own micro development process which aims at a) Identifying class and objects b) Identifying class and object semantics. c) Identifying class and object relationships d) Identifying class and object interfaces and implementation 6) What is a use case? What are some of the ways that use cases can be described? Ans. Use Case is a scenario depicting a user system interaction. It begins with the user of the system issuing a sequence of interrelated events. Use cases are described as: a) Nonformal text with no clear flow of events. b) Text, easy to read but with a clear flow of events. c) Formal style using pseudo code. 7) What is the strength of Jacobson et. Al. Methodology? Ans: The strength of the Jacobson et. Al. methodology is that it entire life cycle and stress trace ability between the different phases, both forward and backward. This enables the reuse of analysis and design work, reducing development time significantly. 5

6 8) What do you mean by difference between patterns and frameworks. Ans: A pattern is instructive information that captures the essential structure and insight of a successfully family of proven solutions to a recurring problem that arises within certain context and system of forces. Pattern solves a problem, is a proven concept, describes relationships, and has significant human component. A framework is a way of presenting a generic solution to a problem that can be applied to all levels in a development. It represents a set of classes that make up a reusable design for a specific class of software. It partitions the design into abstract classes and also defines relationships between them. They emphasize design reuse over code reuse. 9). What are antipatterns? A pattern represents a "best practice," whereas an antipattern represents "worst practice" or a "lesson learned." 10) What is pattern mining? A pattern should help its users comprehend existing systems, customize systems to fit user needs, and construct new system. The process of looking for patterns to document is called pattern mining. 11. What are the processes involved in UA to software development? Use-case driven development Object-oriented analysis Object-oriented design Incremental development and prototyping Continuous testing 12. How are models represented and organized? Static model: A static model can be viewed as a snapshot of a system's parameters at rest or at a specific point in time. Static models are needed to represent the structural or static aspect of a system. For example a customer could have more than one account or an order could be aggregated from one or more line items. Dynamic model: A dynamic model contrast to a static model, can be viewed as a collection of procedures or behaviours that, taken together, reflect the behaviour of a system over time. For example an order interacts with inventory to determine product availability. Dynamic relationships show how the business objects interact to perform tasks. 13. List the graphical diagrams defined by UML. 1 Class diagram (static) 2 Use-case diagram 3 Behavior diagram (dynamic) 3.1 Interaction diagram Sequence diagram Collaboration diagram 3.2 State chart diagram 4 Implementation diagram 4.1 Component diagram 4.2 Deployment diagram 6

7 14. What is a Qualifier? A qualifier is an association attribute. For example, a person object may be associated to a Bank object. An attribute of this association is the account#. The account# is the qualifier of this association. Bank Account# * 0..1 Person A qualifier is shown as a small rectangle attached to the end of an association path, between the final path segment and the symbol of the class to which it connects. The qualifier rectangle is part of the association path, not part of the class. The qualifier rectangle usually is smaller than the attached class rectangle. 15) What is meant by Multiplicity? Multiplicity specifies the range of allowable associated classes. It is given for roles within associations, parts within compositions, repetitions, and other purpose. A multiplicity specification is as a text string comprising a period-separated sequence of integer intervals, where an interval represents a range of integers in this format: " lower bound.. upper bound". The terms lower bound and upper bound are integer values. The star character (*) may be used for the upper bound, denoting an unlimited upper bound. If a single integer value is specified, then the integer range contains the single values. Eg: * 1.. 3,7.. 10,15,19..* 16) What is Association class.? An association class is an association that also as class properties. The name in the class symbol and the name string attached to the association path are the same. If an association class has attributes but no operations or other associations, then the name may be displayed on the association path and omitted from the association class to emphasize its association nature". If it has operations and attributes then the name may be omitted from the path and placed in the class rectangle to emphasize its "class nature". 17. What are the contents of UML behaviour diagrams? Interaction diagrams: a) Sequence and b) collaboration diagrams State chart diagrams Activity diagrams 18. What is an Association rule? An association may have an association name. This name may have an optional black triangle in it, the point of the triangle indication the direction in which to read the name. The end of an association where it connects to a class is called the association role. 7

8 19. Discuss some of the forms of associations? Draw their UML representations. OR Association: This indicates a situation in which only one of several potential associations may be instantiated at one time for any single object. A car may associate with a person or a company. N-ary Association: This association is an association among more than 2 classes. It is better to convert an n-ary association to binary association. This is shown as a large diamond with a path from the diamond to GradeBook each participant class. grade exam lab An n-ary (ternary) association that shows association among class, year and student classes. The association class GradeBook which contains the attributes of the associations such as grade, exam and lab. Aggregation:This is a hollow diamond attached to end the path to indicate aggregation. The UML notation for composition is a solid diamond at the end of a path. 8

9 20. What is a meta-model? It is a model of modeling elements. This assures consistency among diagrams. This has made possible for a team to explore ways to make the modeling language much simpler by in a sense unifying the elements of the unified modeling language. UNIT- III 1. Explain usecase model? Use cases are scenarios that describe how actors use the system.a use case is an interaction between users and a system, it captures the goal of the users and the responsibility of the system to its users. For example, a car; typical uses of a car include "take you different places" or "hand your stuff' or a user may want to use it "off the road" 2. What are the keywords of usecase definition? Use case is a special flow of events through the system. By definition, many courses of events are possible and many of these are very similar. It is suggested that, to make a use-case model meaningful, we must group the courses of events and call each group a use-cse model meaningful, we must group the courses row a book from the library depends on whether the book is located in the library, whether you are the member of the library, and so on. All these alternatives often are best grouped into one or two use cases called Borrow books and Get an interlibrary loan. By grouping the use cases, we can manage complexities and reduce the number of use cases in a package. 3. When will be Extends association used? The extends association is used when you have one case that is similar to another use case but does a bit more specialized; in essence, it is like a subclass. In our example, checking out a book is the basic use case. This is the case that will represent what happens when all goes smoothly. 4. When uses association will occur? The uses association occurs when you are describing you use cases and notice that some of them have subflows in common. The relationships among the other use cases and this new extracted use case is called a uses association. The uses association helps us avoid redundancy by allowing a use case to be shared. For example, checking a library card is common among the borrow books, return books, and interlibrary loan use cases. 9

10 5. Explain the steps for finding usecases. 1.For each actor, find the tasks and functions that the actor should be able to perform or that the system needs the actor to perform. The use case should represent a course of events that leads to a clear goal. 2. Name the use cases. 3. Describe the use cases briefly by applying terms with which the user is familiar. This makes the description less ambiguous. 6. List the guidelines for selecting classes in an application. Look for nouns and noun phrases in the cases. Some classes are implicit or taken from general knowledge. All classes must make sense in the application domain; avoid computer implementation classes - defer them to the design stage. Carefully choose and define class names. 7. What are the guidelines for selecting candidate classes from the relevant & Fuzzy categories of classes? Redundant classes; Do not keep two classes that express the same information. If more than one word is being used to describe the same idea, select the one that is the most meaningful in the context of the system. Adjective classes; Adjectives can be used in many ways. An adjective can suggest a different kind of object, different use of the same object, or it could be utterly irrelevant. Attribute classes: Tentative objects that are used only as values should be defined or restated as attributes and not as a class. Irrelevant classes: Each class must have e a purpose and every class should be clearly defined and necessary. 8. What is common class pattern strategy? The common class pattern strategy is a method for identifying classes. It is based on knowledge base of the common classes that have been proposed by various researches. 9. How would you name classes? The class name should be singular. Choose the class name from standard vocabulary for the subject matter with which the clients or users are comfortable. The class name should reflect its intrinsic nature. Use readable names. Capitalize class names. Code should be consistent and easy to read. 10. What is the place class source? Places are physical locations that the system must keep information about. They represent physical locations, buildings, stores, sites, or offices about which the system needs to keep track. They are not applicable to the bank system. E.g. Buildings, stores, sites and offices. 11. What are the tangible things and device classes? This is one of the common class patterns. This class includes physical objects or groups of objects that are tangible and devices with which the application interacts. E.g.: Cars are an example of tangible things and pressure sensors are an example of devices. 10

11 12. Why is an identifying class an incremental process? In the process of identifying classes, some classes will be missing; others will be eliminated or redefined later. Unless we are starting with a lot of domain knowledge, we may miss more classes than we eliminate. Some classes may ultimately become super classes. Thus our design will go through many stages on its way to completion and we will have an opportunity to revise it. Thus each iteration often uncovers some classes that have been overlooked. Thus it is an incremental process What are the guidelines for identifying the tentative associations? The following are the guidelines for identifying the tentative association: A dependency between two or more classes may be an association. Association corresponds to a verb or prepositional phrase, such as part of, next to, works for, or contained in. A reference from class to another is an association. Some association is implicit or taken from general knowledge. 14. List the guidelines for identifying super -sub relationships? Top-Down: Look for noun phrases composed of various adjectives in a class name. Avoid Successive refinement. Specialize only when the subclasses have significant behavior. Bottom-Up: look for classes with similar attributes and methods, in most cases. You can Group them by moving the common attributes and methods to an abstract class Reusability: Move attributes and behavior as high as possible m the hierarchy. Do not create very specialized classes at the top of the hierarchy. Balancing act can be achieved through several narrations Multiple Inheritance: Avoid excessive use of multiple inheritances. 8 desertedness whiff behavior is to get from which class when several ancestors defuse than same method. One way of achieving the benefits of multiple inheritance is to inherit from the most appropriate class and add an object of another class as an attribute. 15.What is an association? Association represents a physical or conceptual condition between two or more objects. For e.g.: if an object has the responsibility for telling another object that a credit card number is valid or invalid. The classes have an association. 16. What is Generalization? Superclass -subclass relationships, also known as Generalization hierarchy allow objects to be built from other objects. Such relationships allow us to take advantage of the commonality of objects when constructing new classes. 17. Is association different from a part of a relationship? Association and part of relation are similar except for the fact that it depends on problem domain and a part of relation is a special case of association. 18. Why do we need to identify the system s responsibility? Responsibility serves as a handle for solving potential solutions. Identifying attributes of the system s class starts with understanding the system s responsibilities. Identifying the system s responsibilities helps to identify both attributes and classes. 19. How would you identify attributes? The following questions are used to identify system s responsibilities. 11

12 What information about an object should be kept track of? What services must a class provide? Answering the first question will help us to identify the attribute of the class. 20. How would you identify methods? The following questions are used to identify system s responsibilities. What information about an object should be kept track of? What services must a class provide? Answering the second question will help us to identify the class methods. UNIT-IV 1. Differentiate good design and bad design. good design bad design 1.Uncoupled design with less information content. Complex coupling with information passed. 2.Each class must have a single purpose. No clearly defined single purpose. 3.There is a strong association between physical Not a strong association system & logical system. 2. List the object oriented corollaries and axioms? Corollaries: 1. Uncoupled design with less information content. 2. Single purpose. 3. Large number of simpler classes. 4. Strong mapping 5. Standardization 6. Design with Inheritance Axioms: 1. Independence axiom 2. Information axiom. 3.What is the relationship between coupling and cohesion? Coupling denotes the measure of strength of association established by a connection from one object to another. Cohesion is the interaction between software components or objects. Highly cohesive element can lower coupling because only minimal information is passed between components. 4. How can you achieve multiple inheritances with single inheritance? Inherit the most appropriate class and add an object of another class as an attribute or aggregation. Use the instance of the class as an attribute. What is the task of design? Good design simplifies the implementation and maintenance of project. There must be a clear step-by-step approach to design the model. All the designed components must directly trace back to user requirements. 5. What is the significance of Occam's razor? How does Occam's razor relate to O-O design? It states that the best theory explains the known facts with minimum complexity and maximum simplicity and straight forwardness. The best design involves the least complex code but not necessarily the fewest number of classes or methods. Minimizing complexity should be the goal, because that produces the most easily maintained application. 12

13 6. Write down the ways to design UI. Make the interface forgiving. Make the interface visual. Provide immediate feedback. Avoid modes Make the interface consistent. 7. Write about Multidatabase System. A Multidatabase system (MDB) is a database system that resides unobtrusively on top of, says existing relational and objects databases and files systems and presents a single database illusion to Ms users Automatic generation of a unified global database schema from local DB. Provision of cross-database functionality by using unified schemata. Integration of heterogeneous DB systems with multiple DB Integration of data types other than relational data through the use of such tools as driver Generators. Provision of a uniform but diverse set of interfaces. 8. What are the steps for the view layer macro process? The view layer macro process consists of two steps: For every class identified determine if the class interacts with a human actor. If so, perform the following ;otherwise, move to next the next class. Iterate and refine. 9. What applications are responsible for the view layer? The view layer objects are responsible for two major aspects of the applications: 1 Input -responding to user interaction: The user interface must be designed o translate an action by user, such as clicking on a button or selecting from a menu, into appropriate response. 2 Output_displaying or printing business objects: This layer must paint the best picture possible of tlic business objects for the user. In one interface, this may mean entry fields and list boxes to display an order and its items. 10. What are the Interfaces of the Database? 1 Database schema and data definition language: A DDL (Data definition language) is the language used to describe the structure of and relationships between objects stored in a database. 2 Data manipulation language and query capabilities: ADML (Data manipulation language) is the language that allows users to access and manipulate is the standard DML for relational DBMSs. 11. What are the challenges in design with inheritance? What is single and multiple inheritances? Multiple inheritances introduce ambiguity and program is more difficult to understand. We need to determine which behavior to get from which class, particularly when several ancestors have same method. Single inheritance: When a single new class inherits the behavior of a base (parent class). Multiple inheritance: When a class inherits its state and behavior from more than one super class. 12. How an object-oriented system can be thought of as an organic system? Organic system means they grow as u creates new application. The knowledge of existing classes 13

14 will help in determining what new classes are needed to accomplish the tasks. 13. What does design pattern provide? A design pattern provides a scheme for refining the subsystems or components of a software system or the relationship among them. Design patterns are devices that allow systems to share knowledge about their design, by describing commonly recurring structures of communicating components that solve a general design problem within a particular context. 14. Mention the modes that can be used in the user interface. Modal dialog Spring -loaded modes Tool-driven modes 15. What is the purpose of view layer? Forms and data entry windows Dialog boxes. Application windows (main window) 16. What do you mean by Database Models? Mention its types. Data model is a collection of logical constructs used to represent the data structure and data relationship within the DB. Hierarchical Model: This represents data as a single rooted tree. Network Model: A network DB model is similar to a hierarchical DB's, with one distinction. Relational Model: Of all the DB models, the relational model has the simplest, most uniform structure and is the most commercially widespread. 17. What are the tasks of Access Layer class? There are 2 major tasks: 1. Translate the request: The access layer must be able to translate any data related requests from the business; layer into the appropriate protocol for data access. 2. Translate the results: The access layer also must be able to translate the data retrieved back into the appropriate business objects and pass those objects back into business layer. 18. What are the benefits of the Access Layer Class? 1. These classes provide easy migration to emerging distributed object technology. 2. These classes should be able to address the modest needs of two-tier client-server architectures as well as the difficult demands of fine-grained, peer-to-peer distributed architectures. 19. What are the categories for the data lifetime? Transient results to the evaluation of expressions Variables involved in procedure activation Global variables and variables that are dynamically allocated Data that exist between the executions of a program Data that exist between the versions of a program Data that outlive a program 20. Why people are not using reusability? 14

15 Software engineering textbooks teach new practioners to build system from "first principles". The "not invented here syndrome" and intellectual challenge of solving an interesting software problem in one's own way mitigate reuse. Unsuccessful experiences with software reusability in the past. Most organization does not provide reward for reusability. UNIT-5 1.What do you mean by usability Testing? It is the effectiveness, efficiency and satisfaction with which a specified set of users can achieve a specified set of tasks in particular environments. The ISO definition requires Defining tasks. What are the tasks? Defining users. Who are the users? A means for measuring effectiveness, efficiency and satisfaction. How do we measure usability? 2. List the guidelines for developing usability testing. The usability testing should include all of the s/w components. Usability testing need not be very expensive or elaborate, such as including trained specialists working in a sound proof lab with one-way mirrors and sophisticated recording equipment. Similarly, all tests need not involve many subjects. Consider the user's experience as part of your s/w usability. You can study 80-90% of most design problems with as few as 3 or 4 users if you target only a single skill level of users, such as novices or intermediate level users. Apply usability testing early and often. 3. What are the designing measurable goals assisted for usability? Usability can be assisted by designing measurable goals, such as 1. 95% users should be able to find how to with draw money from the ATM machine with out error and with no formal training % of all users should experience the new function as "a clear improvement over the previous one % of consumers should be able to operate the VCR within 30 minutes. 4. What are the objectives of the user satisfaction test? As a communication vehicle between designers, as well as between users and designers. To detect and evaluate changes during the design process. To provide periodic indications of divergence of opinion about the current design. To enable pin pointing specific areas of dissatisfaction for remedy. To provide a clear understanding of just how the completed design is to be evaluated. 5. Why quality assurance is needed? It is because computers are information for doing what you tell to do, not necessarily what you want them to do. To close this gap, the code must be free from errors, that because unexpected results a process called "Debugging". 6. What are the kinds of errors you might encounter when you run your program? 1.Language Errors: It results from incorrectly constructed code, such as an incorrectly typed keyword or some necessary punctuation omitted. These are easiest types of errors. 2. Run time errors: 15

16 They occur and are detected as the program is running, when a statement attempts an operation that is impossible to carry out. 3. Logic errors: When codes do not perform the way you intended. The code might be syntactically valid and run without performing any invalid operations and yet produce incorrect results. 7. Define.Black box testing: The concept of black box testing is used to represent a system whose inside workings are not available for inspection. In a black box testing, the test item is treated as "black" since its logic-is unknown; all that is known is what goes in and what conies out, or the input and output.(figure 13.1) In a black box testing, you try various inputs and examine the resulting output; you call earn what the box does but nothing about how this conversion in implemented. Black box testing works very nicely in testing objects in an object-oriented environment. The black box testing works very nicely in testing objects in an object-oriented environment. 8. What is white box testing?. White box testing: This assumes that the specific logic is important and must be tested guarantee the system's proper functioning of the white box is in error-based testing, when you already have tested all objects of an application and all external or public methods of an object that you believe to be greater importance. (Figure 13.2). 9.Explain top down testing.. Top Down Testing: It assumes that the main logic or object interactions and systems messages of the application need testing than an individual objects methods or supporting logic. A top down strategy can detect the serious flaws early in the implementation. Testing the user interface using a top down approach means testing interface navigation. Thus serves two purposes, according to Conger. 10. What is Bottom-up Testing? This starts with the details of the system and proceeds to higher levels by a progressive aggregation of details until they collectively fit the requirements for the system. In this approach, YOU start with the methods and classes that call or rely on no methods and classes that use only the bottom level ones already tested. 11. What are the types of path testing? a) Statement Testing Coverage: The main idea of statement testing coverage is to test every statement in the objects method by executing it at least once. Murray states, "Testing less than this for new software is unconscionable and should be criminalized". b) Branch Testing Coverage: The main idea behind branch testing is to perform enough tests to ensure that every In branch testing coverage is to perform enough tests to ensure that every branch alternative has been executed at least once under some test. 12. Summarize the impact of an object orientation on testing. Some types of errors could become less plausible. Some types of errors could become more plausible Some new types of errors might appear 16

17 13. List the objective of testing. Testing is the process of executing a program with the intent of finding errors. A good test cases is the one that has s high probability of detecting an as-yet undiscovered error A successful test case is the one that detects as -yet undiscovered error. 14) List the guidelines for developing quality assurance test cases. Freedman and Thomas have developed guidelines that have been adopted for the UA: Describe which feature or service your test attempts to cover. If the test case is based on a use case, it is good idea to refer to the use-case name. Specify what you are testing and which particular feature. test the normal use of the object methods. test the abnormal but reasonable use of the objects methods. test the boundary conditions. Test objects interactions and the messages sent among them. Attempting to reach agreement on answers generally will raise other what-if questions. The internal quality of the software, such as its reusability and extensibility, should be assessed as well. 15. What do you understand from test plan? A test plan is developed to detect and identify potential problems before delivering the software to its users. The test plan need not be very large; in fact, devoting too much time to the plan can be counterproductive. 16.What are the steps needed to create a test plan? 1. Objectives of the test: create the objectives and describes how to achieve them. 2. Development of a text case: develop test case, both input and expected output. 3. Test analysis: This step involves the examination of the test output and the documentations of the test results. 17. What is Regression testing? All passed tests should be repeated with the revised program, called "Regression". This can discover errors introduced during the debugging process. When sufficient testing is believed to have been conducted, this fact should be reported, and testing to this specific product is complete 18. List the guidelines for developing test plans. You may have requirements that dictate a specific appearance or format for your test plan. The test plan should contain a schedule and a list of required resources. After you have determined what types of testing are necessary, you need to document specifically what you are going to do. A configuration control system provides a way of tracking the changes to the code. At a minimum, every time the code changes, a record should be kept that tracks which module has been changed, who changed it, and when it was altered. A well thought out design tends to produce better code and result in more complete testing, so it is a good idea to try to keep the plan up to date. At the end of each month or as you reach each milestone, take time to complete routine updates 19.What are the kinds of errors you might encounter when you run your program? 1.Language Errors: 17

18 2. Run time errors: 3. Logic errors: 20. Define Error based testing Error based testing techniques search a given class s method for particular clues of interests, and then describe how these clues should be tested. PART-B UNIT-I 1. Why an object orientation has gained popularity and works fine? (6) Ans: refer page 14,15 of object oriented system development by Ali Bahrami. 2. How do you design a class and its components? What are the various types of objects and its aggregation to construct a class. Write an algorithm to find the area of plane figures when the objects are rectangle, circle, square, triangle etc. 3. Discuss how does object orientation prove supremacy citing a case study which highlights the concept very well starting from design fundamentals. Ans: refer page 14,15 of object oriented system development by Ali Bahrami. 4.b.What are the metrics to check whether the given class or object is well designed? Explain. 5.i)How does Object oriented methodology different from other programming methodologies? What are the advantages of OO methodology? ii)explain encapsulation and abstraction with examples: 6.i)Explain with an example class diagram explain association, composition and aggregation. 7.(i) How does object oriented methodology differ from other programming methodologies? Explain with an example. (ii) With an example describe how relationship between objects are implemented. 8. How is software development viewed? What are the various phases of OOSD life cycle? What is waterfall approach? List out its limitations UNIT-II 1.Discuss the analysis and the methodology by Booch, Shaler/Mellor, Coad/Yourdon, Rambausch compared to booch briefly. In which aspect Booch analysis is successful. Ans: refer pages of object oriented system development by Ali Bahrami. 2. Define patterns. How do analysis patterns differ from design patterns. Discuss generative, non generative patterns and anti patterns and list the guidelines on capturing patterns? Ans: refer pages of object oriented system development by Ali Bahrami. 3. What are the major differences between a framework and a pattern? Ans: refer page 78 of object oriented system development by Ali Bahrami 18

19 4.What is the unified method for the development of the software? Ans: refer pages of object oriented system development by Ali Bahrami. 5. Discuss the various design methods and explain in detail the layered method to software development. Ans: refer pages 80,82,83,84 of object oriented system development by Ali Bahrami. 6. Discuss the activities involved in Micro and Macro Development process. Pg. No in Ali Bahrami 7. Describe the use of Sequence and collaboration diagrams with the help of example programs 8.i)Explain component diagram and deployment diagram with examples: ii) Outline OMT functional model 9. What are the primary goals of UML and explain the various class diagrams? Ans: refer page 93 to 100 of object oriented system development by Ali Bahrami. UNIT-III 1. What are the guidelines for developing effective documentation? (8) (ii) Describe the activity diagram for a Banking System.(8) 2. (i) What is the difference between users and actors? How would you identify them?(8) (ii) Discuss the relationships and aggregation.(8) 3. Explain in detail about A-part-of relationships-aggregation. 4. Describe in detail about Associations. 5. Why is developing a sequence / collaboration diagram a useful activity in identifying classes? Explain. 6. Explain in detail about use-case driven approach. 7. Describe use-case driven object oriented analysis in detail. 8. Explain in detail about common class patterns approach. UNIT-IV 1. What is coupling? While designing software programs, what precautions will one borne in mind. Tabulate types of coupling among objects or components 2. Describe the noun phrase approach for identifying tentative classes in a problem domain. Why is classes, responsibilities and collaborations useful? Identify the 3 steps in CRC process 3. What are the guidelines for defining attributes? How would you identify a super-sub 19

20 class structure? 4. What are some characteristics of a bad design? In a networking environment what precautions one has to consider to design associations. If server client architecture is adapted. 5. What are the activities of designing view for layer classes? 6. Why does refinement of attributes is a must? Give a suitable example for it 7. What are OODBMS standards? Explain them briefly. When to use object databases? List down at least four of their advantages and disadvantages over RDBMS 8. Explain in detail about CRC CARDS: UNIT-V 1. What are the various testing strategies and discuss the impact of object orientation on testing? page no What are the issues of software complexity and discuss on test tool? 3. Write short notes on the following: (i) Guideline for developing a user satisfaction test. ii) White box testing Pg. No. 329 in Ali Bahrami iii) Black box testing Pg. No.328 in Ali Bahrami iv)debugging Pg. No. 327 in Ali Bahrami 4. Discuss inheritance testing with an example. Pg. No. 331 in Ali Bahrami 5. What is a test plan? Describe the contents and characteristics of a test plan. Pg. No.333 in Ali Bahrami 6. Describe the different testing strategies. How to develop test plans guided by Thomas 7. Sketch the guidelines for developing quality assurance test cases described by Freedman and Thomas adapted for the UA. What are the steps involved to make the testing successful? 8. i)why do we follow standards for testing any particularly Quality Assurance (QA)? (6) ii) What are the guidelines adapted for developing QA test cases. (10) 20

CASE TOOLS LAB VIVA QUESTION

CASE TOOLS LAB VIVA QUESTION 1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary

More information

KINGS COLLEGE OF ENGINEERING

KINGS COLLEGE OF ENGINEERING KINGS COLLEGE OF ENGINEERING DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING ACADEMIC YEAR 2011 2012(ODD SEMESTER) QUESTION BANK Subject Code/Name : CS1310-Object Oriented Analysis and Design Year/IV Sem

More information

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY

SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY SHRI ANGALAMMAN COLLEGE OF ENGINEERING & TECHNOLOGY (An ISO 9001:2008 Certified Institution) SIRUGANOOR,TRICHY-621105. DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 1301-OBJECT ORIENTED ANALYSIS AND

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS LESSON PLAN (2017-2018) Course / Branch : BCA Total Hours : 45 Subject Name : OBJECT ORIENTED

More information

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR

SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR SRM ARTS AND SCIENCE COLLEGE SRM NAGAR, KATTANKULATHUR 603203 DEPARTMENT OF COMPUTER SCIENCE & APPLICATIONS QUESTION BANK (2017-2018) Course / Branch : M.sc(CST) Semester / Year : VI(EVEN)/III Subject

More information

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9)

THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) THE OBJECT-ORIENTED DESIGN PROCESS AND DESIGN AXIOMS (CH -9) By: Mr.Prachet Bhuyan Assistant Professor, School of Computer Engineering, KIIT Topics to be Discussed 9.1 INTRODUCTION 9.2 THE O-O DESIGN PROCESS

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's

More information

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis

OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis UNIT I INTRODUCTION OBJECT ORIENTED SYSTEM DEVELOPMENT Software Development Dynamic System Development Information system solution Steps in System Development Analysis Design Implementation Testing Maintenance

More information

E.G.S.PILLAY ENGINEERING COLLEGE NAGAPATTINAM DEPARTMENT OF MCA

E.G.S.PILLAY ENGINEERING COLLEGE NAGAPATTINAM DEPARTMENT OF MCA E.G.S.PILLAY ENGINEERING COLLEGE NAGAPATTINAM DEPARTMENT OF MCA MC7402 OBJECT ORIENTED ANALYSIS AND DESIGN TWO MARK AND SIXTEEN MARK Q & A Part - A Questions and Answers UNIT-I 1. Write about the traditional

More information

NOORUL ISLAM COLLEGE OF ENGINEERING, KUMARACOIL DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SEVENTH SEMESTER

NOORUL ISLAM COLLEGE OF ENGINEERING, KUMARACOIL DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SEVENTH SEMESTER NOORUL ISLAM COLLEGE OF ENGINEERING, KUMARACOIL DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING SEVENTH SEMESTER CS 1402 OBJECT ORIENTED ANALYSIS AND DESIGN TWO MARK AND SIXTEEN MARK Q & A Prepared By,

More information

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802

Lecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802 UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1

More information

OBJECT ORIENTED ANALYSIS AND DESIGN

OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 1I OBJECT ORIENTED METHODOLOGIES Contents Rumbaugh Methodology Booch Methodology Jacobson Methodology Patterns Frameworks Unified Approach Unified Modeling Language Use case Class diagram Interactive

More information

CHAPTER 9 DESIGN ENGINEERING. Overview

CHAPTER 9 DESIGN ENGINEERING. Overview CHAPTER 9 DESIGN ENGINEERING Overview A software design is a meaningful engineering representation of some software product that is to be built. Designers must strive to acquire a repertoire of alternative

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 9: The Object-Oriented Design Process and Design Axioms Goals The object-oriented design process. Object-oriented design

More information

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1

Chapter 4. Sahaj Computer Solutions Object Oriented Systems Development 1 Object Oriented Methodologies Chapter 4 Sahaj Computer Solutions Object Oriented Systems Development 1 Chapter Objectives Object Oriented Methodologies The Rumbaugh et al. OMT The Booch Methodology Jacobson

More information

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin

Chapter 10. Object-Oriented Analysis and Modeling Using the UML. McGraw-Hill/Irwin Chapter 10 Object-Oriented Analysis and Modeling Using the UML McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 10-2 Define object modeling and explain

More information

Chapter 1: Principles of Programming and Software Engineering

Chapter 1: Principles of Programming and Software Engineering Chapter 1: Principles of Programming and Software Engineering Data Abstraction & Problem Solving with C++ Fifth Edition by Frank M. Carrano Software Engineering and Object-Oriented Design Coding without

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN Unit : I -V UNIT-I System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML. 2 / 75 Why an Object

More information

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development

CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN. UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development CS 1042 OBJECT ORIENTED ANALYSIS AND DESIGN UNIT 1 INRODUCTION 1.1 An Overview of Object Oriented System and Development 1.2 Object Basic 1.3 Object Oriented Systems Development Life Cycle 1.1 An Overview

More information

UNIT-V SOFTWARE QUALITY AND USABILITY CHAPTER 12. VIEW LAYER: Designing Interface Objects. At the end of this chapter, students should be able to

UNIT-V SOFTWARE QUALITY AND USABILITY CHAPTER 12. VIEW LAYER: Designing Interface Objects. At the end of this chapter, students should be able to UNIT-V SOFTWARE QUALITY AND USABILITY CHAPTER 12 VIEW LAYER: Designing Interface Objects OBJECTIVES : At the end of this chapter, students should be able to Identifying View (or User interface ) classes

More information

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process

Introduction. Chapter 1. What Is Visual Modeling? The Triangle for Success. The Role of Notation. History of the UML. The Role of Process Quatrani_Ch.01.fm Page 1 Friday, October 27, 2000 9:02 AM Chapter 1 Introduction What Is Visual Modeling? The Triangle for Success The Role of Notation History of the UML The Role of Process What Is Iterative

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 8: Identifying Object Relationships, Attributes, and Methods Goals Analyzing relationships among classes. Identifying association.

More information

1: Introduction to Object (1)

1: Introduction to Object (1) 1: Introduction to Object (1) 김동원 2003.01.20 Overview (1) The progress of abstraction Smalltalk Class & Object Interface The hidden implementation Reusing the implementation Inheritance: Reusing the interface

More information

Software Service Engineering

Software Service Engineering Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language

More information

Object-Oriented Systems Analysis and Design Using UML

Object-Oriented Systems Analysis and Design Using UML 10 Object-Oriented Systems Analysis and Design Using UML Systems Analysis and Design, 8e Kendall & Kendall Copyright 2011 Pearson Education, Inc. Publishing as Prentice Hall Learning Objectives Understand

More information

*ANSWERS * **********************************

*ANSWERS * ********************************** CS/183/17/SS07 UNIVERSITY OF SURREY BSc Programmes in Computing Level 1 Examination CS183: Systems Analysis and Design Time allowed: 2 hours Spring Semester 2007 Answer ALL questions in Section A and TWO

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Chapter 1: Programming Principles

Chapter 1: Programming Principles Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships.

Ans 1-j)True, these diagrams show a set of classes, interfaces and collaborations and their relationships. Q 1) Attempt all the following questions: (a) Define the term cohesion in the context of object oriented design of systems? (b) Do you need to develop all the views of the system? Justify your answer?

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh

SOFTWARE DESIGN COSC 4353 / Dr. Raj Singh SOFTWARE DESIGN COSC 4353 / 6353 Dr. Raj Singh UML - History 2 The Unified Modeling Language (UML) is a general purpose modeling language designed to provide a standard way to visualize the design of a

More information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

Software Engineering (CSC 4350/6350) Rao Casturi

Software Engineering (CSC 4350/6350) Rao Casturi Software Engineering (CSC 4350/6350) Rao Casturi Testing Software Engineering -CSC4350/6350 - Rao Casturi 2 Testing What is testing? Process of finding the divergence between the expected behavior of the

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 5: Unified Modeling Language Goals Modeling. Unified modeling language. Class diagram. Use case diagram. Interaction diagrams.

More information

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects

Credit where Credit is Due. Lecture 4: Fundamentals of Object Technology. Goals for this Lecture. Real-World Objects Lecture 4: Fundamentals of Object Technology Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

LABORATORY 1 REVISION

LABORATORY 1 REVISION UTCN Computer Science Department Software Design 2012/2013 LABORATORY 1 REVISION ================================================================== I. UML Revision This section focuses on reviewing the

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 11/10/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 11/10/2015 http://cs.gsu.edu/~ncasturi1 Class announcements Final Exam date - Dec 1 st. Final Presentations Dec 3 rd. And

More information

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011

UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 UML & OO FUNDAMENTALS CSCI 4448/5448: OBJECT-ORIENTED ANALYSIS & DESIGN LECTURE 3 08/30/2011 1 Goals of the Lecture Review the material in Chapter 2 of the Textbook Cover key parts of the UML notation

More information

Software Engineering Lab Manual

Software Engineering Lab Manual Kingdom of Saudi Arabia Ministry Education Prince Sattam Bin Abdulaziz University College of Computer Engineering and Sciences Department of Computer Science Software Engineering Lab Manual 1 Background:-

More information

Basic Structural Modeling. Copyright Joey Paquet,

Basic Structural Modeling. Copyright Joey Paquet, Basic Structural Modeling Copyright Joey Paquet, 2000 1 Part I Classes Copyright Joey Paquet, 2000 2 Classes Description of a set of objects sharing the same attributes, operations and semantics Abstraction

More information

Software Engineering Fall 2014

Software Engineering Fall 2014 Software Engineering Fall 2014 (CSC 4350/6350) Mon.- Wed. 5:30 pm 7:15 pm ALC : 107 Rao Casturi 11/10/2014 Final Exam date - Dec 10 th? Class announcements Final Presentations Dec 3 rd. And Dec 8 th. Ability

More information

SE 2730 Final Review

SE 2730 Final Review SE 2730 Final Review 1. Introduction 1) What is software: programs, associated documentations and data 2) Three types of software products: generic, custom, semi-custom Why is semi-custom product more

More information

SE 1: Software Requirements Specification and Analysis

SE 1: Software Requirements Specification and Analysis SE 1: Software Requirements Specification and Analysis Lecture 9: UML Class (Concept), Object, Communication Diagrams Nancy Day, Davor Svetinović http://www.student.cs.uwaterloo.ca/ cs445/winter2006 uw.cs.cs445

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified)

MAHARASHTRA STATE BOARD OF TECHNICAL EDUCATION (Autonomous) (ISO/IEC Certified) Important Instructions to examiners: 1) The answers should be examined by key words and not as word-to-word as given in the model answer scheme. 2) The model answer and the answer written by candidate

More information

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram

An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram An Introduction To Object Modeling System Concept for Object Modeling The Overall View Components of UML Diagram After studying this chapter you should be able to: Define an object. Understand the terms

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V

SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN. Unit : I -V SEZ6C/SEE6C/PED2A OBJECT ORIENTED ANALYSIS AND DESIGN Unit : I -V UNIT-I System Development Object Basics Development Life Cycle Methodologies Patterns Frameworks Unified Approach UML. SEZ6C/SEE6C/PED2A-OBJECT

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes

Object-Oriented Software Engineering Practical Software Development using UML and Java. Chapter 5: Modelling with Classes Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes 5.1 What is UML? The Unified Modelling Language is a standard graphical language

More information

UML-Based Conceptual Modeling of Pattern-Bases

UML-Based Conceptual Modeling of Pattern-Bases UML-Based Conceptual Modeling of Pattern-Bases Stefano Rizzi DEIS - University of Bologna Viale Risorgimento, 2 40136 Bologna - Italy srizzi@deis.unibo.it Abstract. The concept of pattern, meant as an

More information

UNIT-I. Introduction:

UNIT-I. Introduction: UNIT-I Introduction: The various trends in S/W development give the change in the languages. In earlier days S/W developers used Machine Languages, which deals with 0 s and 1 s [Binary Number]. S/W developers

More information

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects,

Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Chapter No. 2 Class modeling CO:-Sketch Class,object models using fundamental relationships Contents 2.1 Object and Class Concepts (12M) Objects, Classes, Class Diagrams Values and Attributes Operations

More information

1. Write two major differences between Object-oriented programming and procedural programming?

1. Write two major differences between Object-oriented programming and procedural programming? 1. Write two major differences between Object-oriented programming and procedural programming? A procedural program is written as a list of instructions, telling the computer, step-by-step, what to do:

More information

Chapter : Analysis Modeling

Chapter : Analysis Modeling Chapter : Analysis Modeling Requirements Analysis Requirements analysis Specifies software s operational characteristics Indicates software's interface with other system elements Establishes constraints

More information

Object-Oriented Introduction

Object-Oriented Introduction Object-Oriented Introduction Or: Your Honor, I Object... Jonathan Sprinkle 1 University of Arizona Department of Electrical and Computer Engineering PO Box 210104, Tucson, AZ 85721, USA August 22, 2012

More information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

Design Concepts. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman

Design Concepts. Slide Set to accompany. Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Chapter 8 Design Concepts Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit educational

More information

Presenter: Dong hyun Park

Presenter: Dong hyun Park Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : , Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,

More information

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal

INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD. Slides by: Shree Jaswal INTRODUCTION TO UNIFIED MODELING MODEL (UML) & DFD Slides by: Shree Jaswal What is UML? 2 It is a standard graphical language for modeling object oriented software. It was developed in mid 90 s by collaborative

More information

Curriculum Map Grade(s): Subject: AP Computer Science

Curriculum Map Grade(s): Subject: AP Computer Science Curriculum Map Grade(s): 11-12 Subject: AP Computer Science (Semester 1 - Weeks 1-18) Unit / Weeks Content Skills Assessments Standards Lesson 1 - Background Chapter 1 of Textbook (Weeks 1-3) - 1.1 History

More information

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS

CS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities

More information

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department

SOFTWARE ENGINEERING. Lecture 6. By: Latifa ALrashed. Networks and Communication Department 1 SOFTWARE ENGINEERING Networks and Communication Department Lecture 6 By: Latifa ALrashed Outline q q q q q q q q Define the concept of the software life cycle in software engineering. Identify the system

More information

0. Database Systems 1.1 Introduction to DBMS Information is one of the most valuable resources in this information age! How do we effectively and efficiently manage this information? - How does Wal-Mart

More information

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS LP Rev. : 00 Page 1 of 6 UNIT: I FUNDAMENTALS SEMESTER : 5 FUNDAMENTALS 8 An overview of object oriented systems development Object basics Object oriented systems development life cycle. OBJECTIVE: To

More information

Analysis and Design with UML

Analysis and Design with UML Analysis and Design with UML Page 1 Agenda Benefits of Visual Modeling History of the UML Visual Modeling with UML The Rational Iterative Development Process Page 2 What is Visual Modeling? Item Order

More information

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator.

Keywords: Abstract Factory, Singleton, Factory Method, Prototype, Builder, Composite, Flyweight, Decorator. Comparative Study In Utilization Of Creational And Structural Design Patterns In Solving Design Problems K.Wseem Abrar M.Tech., Student, Dept. of CSE, Amina Institute of Technology, Shamirpet, Hyderabad

More information

Object-Oriented Design and Modeling Using the UML

Object-Oriented Design and Modeling Using the UML Design Classes Object-Oriented Design and Modeling Using the UML Based on Chapter 18 of Whitten, Bentley, and Dittman: Systems Analysis and Design for the Global Enterprise (7th Ed). McGraw Hill. 2007

More information

UNIT 1-UMAL DIAGRAMS. Q.No. Question Competence Level. 1 What is Object Oriented analysis & Design? Remembering BTL1

UNIT 1-UMAL DIAGRAMS. Q.No. Question Competence Level. 1 What is Object Oriented analysis & Design? Remembering BTL1 Year & Semester : III & VI Section : CSE 1 & 2 Subject Code : CS6502 Subject Name : OBJECT ORIENTED ANALYSIS AND DESIGN Degree & Branch : B.E (CSE) Staff in charge : Dr.B.VANATHI & Mr.K.SHANMUGAM PART

More information

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams

Objectives. Explain the purpose and objectives of objectoriented. Develop design class diagrams Objectives Explain the purpose and objectives of objectoriented design Develop design class diagrams Develop interaction diagrams based on the principles of object responsibility and use case controllers

More information

26. Object-Oriented Design. Java. Summer 2008 Instructor: Dr. Masoud Yaghini

26. Object-Oriented Design. Java. Summer 2008 Instructor: Dr. Masoud Yaghini 26. Object-Oriented Design Java Summer 2008 Instructor: Dr. Masoud Yaghini Object-Oriented Design In the preceding chapters you learned the concepts of object-oriented programming, such as objects, classes,

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)

More information

UML Tutorial. Unified Modeling Language UML Tutorial

UML Tutorial. Unified Modeling Language UML Tutorial UML Tutorial Unified Modeling Language UML Tutorial A Unified Modeling Language is a language for specifying, constructing, visualizing and documenting the software system and its components. UML is a

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005

Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005 Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson 1 of 25 Introduction Chapter 1 of Object Design covers topics that aid understanding of Responsibility-Driven Design Object

More information

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015

Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm. Rao Casturi 09/29/2015 Software Engineering Fall 2015 (CSC 4350/6350) TR. 5:30 pm 7:15 pm Rao Casturi 09/29/2015 http://cs.gsu.edu/~ncasturi1 Class Announcements Grading is done for the Deliverable #2 (Requirement Elicitation)

More information

Introduction to Software Engineering

Introduction to Software Engineering Introduction to Software Engineering Gérald Monard Ecole GDR CORREL - April 16, 2013 www.monard.info Bibliography Software Engineering, 9th ed. (I. Sommerville, 2010, Pearson) Conduite de projets informatiques,

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering?

SOFTWARE ENGINEERING DECEMBER. Q2a. What are the key challenges being faced by software engineering? Q2a. What are the key challenges being faced by software engineering? Ans 2a. The key challenges facing software engineering are: 1. Coping with legacy systems, coping with increasing diversity and coping

More information

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT)

OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE (OMT) OBJECT-ORIENTED SOFTWARE DEVELOPMENT Using OBJECT MODELING TECHNIQUE () Ahmed Hayajneh, May 2003 1 1 Introduction One of the most popular object-oriented development techniques today is the Object Modeling

More information

Introduction to Object Oriented Analysis and Design

Introduction to Object Oriented Analysis and Design A class note on Introduction to Object Oriented Analysis and Design Definition In general, analysis emphasizes an investigation of the problem and requirements of the domain, rather than a solution. Whereas,

More information

Object-Oriented Systems Development: Using the Unified Modeling Language

Object-Oriented Systems Development: Using the Unified Modeling Language Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 4: Object-Oriented Methodologies Goals Object-Oriented Methodologies The Rumbaugh et al. OMT The Booch methodology Jacobson's

More information

Unit Wise Questions. Unit-1 Concepts

Unit Wise Questions. Unit-1 Concepts Unit Wise Questions Unit-1 Concepts Q1. What is UML? Ans. Unified Modelling Language. It is a Industry standard graphical language for modelling and hence visualizing a blue print of all the aspects of

More information

CSCU9T4: Managing Information

CSCU9T4: Managing Information CSCU9T4: Managing Information CSCU9T4 Spring 2016 1 The Module Module co-ordinator: Dr Gabriela Ochoa Lectures by: Prof Leslie Smith (l.s.smith@cs.stir.ac.uk) and Dr Nadarajen Veerapen (nve@cs.stir.ac.uk)

More information

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development

Object-Oriented Systems Development: Using the Unified Modeling Language. Chapter 1: An Overview of Object- Oriented Systems Development Object-Oriented Systems Development: Using the Unified Modeling Language Chapter 1: An Overview of Object- Oriented Systems Development Goals The object-oriented philosophy and why we need to study it.

More information

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business.

Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. OBM 7 -draft 09/02/00 1 Domain Engineering And Variability In The Reuse-Driven Software Engineering Business. Martin L. Griss, Laboratory Scientist, Hewlett-Packard Laboratories, Palo Alto, CA. Effective

More information

CS 575: Software Design

CS 575: Software Design CS 575: Software Design Introduction 1 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation

More information

Introducing the UML Eng. Mohammed T. Abo Alroos

Introducing the UML Eng. Mohammed T. Abo Alroos Introducing the UML Eng. Mohammed T. Abo Alroos Islamic University of Gaza Introduction to the UML: The UML stands for Unified Modeling Language. It was released in 1997 as a method to diagram software

More information

Entity Relationship Modelling

Entity Relationship Modelling Entity Relationship Modelling Overview Database Analysis Life Cycle Components of an Entity Relationship Diagram What is a relationship? Entities, attributes, and relationships in a system The degree of

More information

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD

DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN. Unit-I. Introduction to OOAD DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING CS2353-OBJECT ORIENTED ANALYSIS AND DESIGN 1. What is Object-Oriented Analysis? Unit-I Introduction to OOAD PART-A (UML Notations has to be used wherever necessary)

More information

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: ,

For 100% Result Oriented IGNOU Coaching and Project Training Call CPD: , Q.1 What is Object Orientation? Explain the concept of class, objects, instance, generalization, and associations. Ans :-- In the past, information systems used to be defined primarily by their functionality:

More information

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.

Software Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D. Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice

More information

What are the characteristics of Object Oriented programming language?

What are the characteristics of Object Oriented programming language? What are the various elements of OOP? Following are the various elements of OOP:- Class:- A class is a collection of data and the various operations that can be performed on that data. Object- This is

More information