Search This Blog(textbook name or author as the keywords)You can cantact me by the Contact Form

2/25/14

Systems Analysis and Design with UML Version 2.0 An Object-Oriented Approach 2e Dennis Tegarden solutions manual and test bank

Systems Analysis and Design with UML Version 2.0 An Object-Oriented Approach 2e Dennis Tegarden  solutions manual and test bank

Chapter 2
Experiential Exercises


A. Investigate the Unified Modeling Language on the Web. Write a paragraph news brief describing the current state of the UML. (Hint: A good Web site to begin with is www.uml.org.)

I visited the following websites: http://www.uml.org/ & http://www.ndyn.com/currentstate.htm

UML, A Tool for Business Transformation

Business worldwide has entered a period dominated by rapid discontinuous change in operations.  The introduction of Internet technologies and the globalization of production have changed the way business is changing.  Previously change has been more incremental than revolutionary.  Change in the 21st century is frequently radical and dramatic. The production of software to support business operations was limited in scope.  Information Systems departments developed departmental applications such as a payroll or inventory system.  The processes, methods, and tools used by software development organizations suited this type of problem.  The analysis focused on extracting requirements for the software from the departmental staff.  The culmination of these approaches is embodied in the Universal Modeling Language (UML) where at the highest level of abstraction the interactions between the users (called Actors) and the software system are described in terms of Use Cases.  These UML approaches have been refined over the years to effectively develop such systems.  Enterprise Resource Planning (ERP) software took the next steps to tie departmental software together into workflows stretching the limits of UML.  The broadest application of UML encompasses software systems and their users.  UML does not address business concerns except to the extent that they directly impact the design of the software.  UML covers the definition, design, and development of software, but it needs to be placed in the context of the business. 


B. Investigate Rational’s Unified Process (RUP) on the Web. RUP is a commercial version that extends aspects of the Unified Process. Write a brief memo describing how it is related to the Unified Process as described in this chapter. (Hint: A good Web site to begin with is www.rational.com.)

Rational Rose is an object-oriented Unified Modeling Language (UML) software design tool used for visual modeling and component construction of enterprise-level software applications. By recognizing software development as a strategic business process — a series of related activities that should be integrated and automated — organizations can transform their software development activities into a source of strategic advantage. In so doing they embrace a business-driven software development process that yields both top-line business benefits and bottom-line productivity improvements. These organizations use software development to drive their business success. 

Benefits of Rational

·       Open and extensible. You can leverage existing assets
and choose from a wide array of development languages,
deployment platforms and partner technologies — including
Microsoft® .NET, BEA and Oracle solutions.
·       Modular. You can choose the exact tools and adoption path
that best fit your needs.
·       Proven. It’s based on tools and best practices that are the
choice of thousands of high-performance software teams.

The IBM Software Development Platform is:
·       Complete. It supports every member of a development
team as well as business and operations stakeholders to drive
business value throughout the software lifecycle.

Rational software is based on the theory and structure of UML, however UML is simply a tool to document system design.  Rational goes another step and allows the user to design software with additional business designs and components, as well as facilitates communication and organization of the project. These additional functions create an effective tool for enterprise level application.


C. Investigate the Object Management Group (OMG) on the Web. Write a report describing the purpose of the OMG and what it is involved with, besides the UML. (Hint: A good Web site to begin with is www.omg.org.)

OMG’s MDA (Model Driven Architecture) aims to build industry standards for design architecture that will utilize existing architecture, and allow effective future expansion.  MDA is based on the concept of modeling with UML. At the heart of MDA is an approach to design based on treating it as a product, rather than a process. Non-MDA approaches treat design as a process in which developers apply their expertise to handcraft elegant solutions from often ill-defined problems. The result is running code. The design is not captured explicitly, but instead smeared across the code as a set of results of a skilled thinking process.

In an MDA approach, promulgated by OMG and based on the work of Shlaer and Mellor, and others, the design is itself a product that is expressed as a set of formal mapping rules. Examples of such rules are "Turn an application class into a class in the implementation with a container for its instances" and "Turn each transition on a statechart diagram into a tuple in a linked list defining the transition and the procedure to call to execute actions". These rules are the design, and once they are executed against an application model that captures a problem, the result is (more or less) running code.

In MDA the application model is generalized as a platform-independent model1, or PIM, usually visualized using standard UML, and the framework for formal transformation rules is currently being standardized as the QVT (Query, Views, and Transforms) specification. The result of the transformation can either be another, platform-specific, model (PSM), or components of the target application, such as database schemas, deployment scripts, test scripts, or indeed executable code. In the latter case, the PIM must be behaviorally complete, defining business logic in terms of abstract actions.


D., Find a set of CASE tools using the Web that support the UML. A couple of examples include Rational Rose and Poseidon. Find at least two additional ones. Write a short report describing how well they support the UML, and make a recommendation as to which one you believe would be best for a project team to use in developing an object-oriented information system using the UML.

Rational Rose


Rational Rose is an object-oriented Unified Modeling Language (UML) software design tool intended for visual modeling and component construction of enterprise-level software applications. Software designers use Rational Rose to visually create (model) the framework for an application by blocking out classes with actors (stick figures), use case elements (ovals), objects (rectangles) and messages/relationships (arrows) in a sequence diagram using drag-and-drop symbols. Rational Rose documents the diagram as it is being constructed and then generates code in the designer's choice of C++, Visual Basic, Java, Oracle8, CORBA or Data Definition Language.
Two popular features of Rational Rose are its ability to provide iterative development and round-trip engineering. Rational Rose allows designers to take advantage of iterative development (sometimes called evolutionary development) because the new application can be created in stages with the output of one iteration becoming the input to the next. Then, as the developer begins to understand how the components interact and makes modifications in the design, Rational Rose can perform what is called "round-trip engineering" by going back and updating the rest of the model to ensure the code remains consistent.
Rational Rose is extensible, with downloadable add-ins and third-party partner applications. It supports COM/DCOM (ActiveX), JavaBeans, and Corba component standards.

Poseidon


Poseidon for UML is a fully featured UML CASE Tool that directly extends the open source project ArgoUML, and lifts it to a professionally usable level. It is fully implemented in Java, and it features platform independence, support for all 9 diagrams of the UML, compliance to the UML 1.3 standard, support for XMI as the standard file format, the ability to export diagrams as GIF, PS, EPS, and SVG, undo/redo, copy/cut/paste, drag and drop, internationalization and localization for English, German, French, and Spanish, code generation for Java, reverse engineering from Java sources, auto-layout of reverse engineered diagrams, cognitive support, and a discrete critique mechanism. Poseidon for UML seamlessly integrates into Netbeans (3.3 and 3.4), Forte for Java (4.0), and SunOne Studio, and it is easy to install and update with InstallAnywhere or JavaWebStart.

Poseidon has a free version available online.

Visual UML


Visual UML is an affordable, easy-to-use yet powerful and full-featured highly UML-compliant object-modeling tool that provides complete and comprehensive support for all ten of the diagram types defined in the OMG 1.3 & 1.4 UML specifications: Class, Object, Package, Use Case, Collaboration, Component, Deployment, Activity, State and Sequence diagrams. Plus, Robustness diagrams. Visual UML also includes UML extensions for Business Object modeling, Robustness modeling, Web Application modeling (using Conallen WAE), XML modeling, and Data modeling/Database design. Visual UML can be used for modeling many types of systems, including databases, information systems and web applications. Plus, as a result of its comprehensive support for Activity, Collaborations, State and Sequence diagrams, Visual UML is also suitable for modeling real-time systems.

Magic Draw


Java Developer's Journal, has named No Magic's MagicDrawTM version 5.0 UML the Best Java Modeling Tool and MagicDrawTM version 5.0 Teamwork Server the Best Team Development Tool. More than 30,000 JDJ readers selected No Magic products over competitors.
MagicDraw is a visual UML modeling and CASE tool with teamwork support. Designed for Business Analysts, Software Analysts, Programmers, QA Engineers, and Documentation Writers, this dynamic and versatile development tool facilitates analysis and design of Object Oriented (OO) systems and databases. It provides the industry's best code engineering mechanism (with full round-trip support for Java, C++, C#, CIL (MSIL), WSDL, XML Schema, and CORBA IDL programming languages), as well as database schema modeling, DDL generation and reverse engineering facilities.

It’s apparent there are many different design and modeling programs based on UML.  The range is broad, spanning from simple chart & object drawing programs that are free to download to complex enterprise level programs that cost thousands of dollars.  To properly choose a program for a specific situation, the analyst must first have a firm understanding of the system requirements.  The scope of the system to design will dictate which programs are most suitable for the application.  A very simple system that requires only one designer may require a much different modeling program than one that involves several process throughout a large corporation with many development teams.  Additionally, cost must be considered since programs range from free to thousands of dollars.  Additional consideration should be given to the program language the system will use since some programs are more closely aligned with certain programming languages than others.   

E. Suppose you are a project manager that typically has been using a waterfall development-based methodology on a large and complex project. Your manager has just read the latest article in Computerworld that advocates replacing this methodology with the Unified Process and comes to your office requesting you to switch. What do you say?

The two key advantages of the structured design waterfall approach are that it identifies system requirements long before programming begins and it minimizes changes to the requirements as the project proceeds. The two key disadvantages are that the design must be completely specified before programming begins and that a long time elapses between the completion of the system proposal in the analysis phase and the delivery of the system (usually many months or years). The lengthy deliverables are often a poor communication mechanism; the result is that important requirements can be overlooked in the voluminous documentation. Users rarely are prepared for their introduction to the new system, which occurs long after the initial idea for the system was introduced. If the project team misses important requirements, expensive post-implementation programming may be needed.

A system also may require significant rework because the business environment has changed from the time that the analysis phase occurred. When changes do occur, it means going back to the initial phases and following the change through each of the subsequent phases in turn.

The Unified Process is a two-dimensional systems development process described with a set of phases and workflows. Depending on which development phases the evolving system is currently in; the level of activity will vary over the workflows. Object-oriented techniques view a system as a collection of self-contained objects that have both data and processes.  The Unified Process is a specific methodology that maps out when and how to use the various UML techniques for object-oriented analysis and design.

Whereas the UML provides structural support for developing the structure and behavior of an information system, the Unified Process provides the behavioral support. The Unified Process, of course, is use-case driven, architecture centric, and iterative and incremental.  The Unified Process is a two-dimensional systems development process described by a set of phases and workflows. The phases are inception, elaboration, construction, and transition. The workflows include business modeling, requirements, analysis, design, implementation, test, deployment, project management, configuration and change management, and environment.

Unified Process designers take advantage of iterative development (sometimes called evolutionary development) because the new application can be created in stages with the output of one iteration becoming the input to the next. (This is in contrast to waterfall development where the whole project is completed from start to finish before a user gets to try it out.)  In this case, I would ask the manager to consider the benefits, and disadvantages of the two methodologies, the efforts and costs to change methodology and train the existing team on a different one, and the effect on the value to the customer. 


F. Suppose you were an analyst working for a small company to develop an accounting system. Would you use the Unified Process to develop the system, or would you prefer one of the traditional approaches described in Chapter 1? Why?

Yes, the unified process is well designed to suit rapid, phase oriented, object oriented design, and could effectively be used to develop an accounting system.  The unified process would build a design based on use-case requirements, and quickly provide users with a system to begin using while continuing to refine the system through iterative, and incremental development.  For example, the basic requirements would be designed into the system, and during later phases of development additional requirements with lower priority would be developed. If user requirements should change at a later time, adjustments can be made to modify the system.   

G. Suppose you were an analyst developing a new information system to automate the sales transactions and manage inventory for each retail store in a large chain. The system would be installed at each store and exchange data with a mainframe computer at the company’s head office. Would you use the Unified Process to develop the system or would you prefer one of the traditional approaches described in Chapter 1? Why?

Yes, the unified process may be very useful in developing the sales transaction and inventory system due to the benefits provided by an object-oriented approach.  These benefits include a more user-friendly approach that combines data and process metrics, rapid development relative to a traditional approach, increased communication and deliverables during development, and development modules that can be applied to other applications, and a complete system that allows for future expansion. 








File: ch02, Chapter 2: Introduction to Object-Oriented Analysis and Design with the Unified Modeling Language, Version 2.0



Multiple Choice



  1. _____ is the earliest object-oriented language.
    1. C++
    2. Java
    3. Smalltalk
    4. Simula
    5. VB .NET

Ans: d
Response: See page 24



  1. Objects can be thought of as little modules the encapsulate _____.
    1. Techniques for system development
    2. Data and processes
    3. Other objects
    4. System specifications
    5. Business operations

Ans: b
Response: See page 24



  1. The distinction between a class and an object is _____________________.
    1. A class is a template for creating objects, while an object is an instance of a class
    2. An object is a template for creating objects, while a class is an instance of an object
    3. Classes can be instantiated from objects, while the opposite is not true
    4. Classes and objects both are templates only, but classes provide a more complete template
    5. Neither a class nor an object is a template, but objects are better suited for system development

Ans: a
Response: See page 24



  1. Each object has _______  that specify information about the object.
    1. Methods
    2. Messages
    3. Procedures
    4. Other objects
    5. Attributes

Ans: e
Response: See page 24



  1. ________ implement an object’s behavior.
    1. Methods
    2. Messages
    3. Procedures
    4. Other objects
    5. Attributes

Ans: a
Response: See page 25



  1. _________ are instructions sent to an object that in turn trigger methods.
    1. Data
    2. Messages
    3. Procedures
    4. Other objects
    5. Attributes

Ans: b
Response: See page 25



  1. The idea of placing data and the processes (methods) that operate on the data into the same object is referred to as __________________.
    1. Information Hiding
    2. Polymorphism
    3. Object Binding
    4. Encapsulation
    5. Inheritance

Ans: d
Response: See page 25



  1. According to the principle of inheritance, ________________________
    1. A superclass inherits methods and attributes from its subclass
    2. A subclass inherits messages and data from its superclass
    3. A superclass inherits messages and data from its subclass
    4. A class can inherit methods and attributes from every other class
    5. A subclass inherits methods and attributes from its superclass

Ans: e
Response: See page 26



  1. _____ means that the same message can be interpreted differently by different classes of objects.
    1. Inheritance
    2. Encapsulation
    3. Polymorphism
    4. Information Hiding
    5. Dynamic Binding

Ans: c
Response: See page 28



  1. In dynamic binding, the specific method that is used by the program must be determined at ____________
    1. Compile time
    2. Run time
    3. The time of development
    4. The time of specification of the system
    5. None of the above

Ans: b
Response: See page 28



11.  _____ is an object-oriented modeling language used to describe information systems.
a.      C++
b.     Java
c.      UML
d.     HTML
e.      C#

Ans: c
Response: See page 30



12.  A ___________ models the interaction of the information system with its end-users and other external systems.
a.      Implementation plan.
b.     Use case diagram.
c.      Class diagram.
d.     Package diagram.
e.      Database diagram.

Ans: b
Response: See page 34



13.  ________ allow the analyst to model the processes in an information system. 
a.      Package diagrams
b.     Deployment diagrams
c.      Component diagrams
d.     Class diagrams
e.      Activity diagrams

Ans: e
Response: See page 33



14.  _________ diagrams represent the things, concepts or ideas that are contained in an application.
a.      Interaction diagrams
b.     Deployment diagrams
c.      Sequence diagrams
d.     Class diagrams
e.      Activity diagrams
Ans: d
Response: See page 33



15.  _____ groups UML elements together to form higher level constructs.
a.      Package diagrams
b.     Deployment diagrams
c.      Sequence diagrams
d.     Class diagrams
e.      Activity diagrams

Ans: a
Response: See page 31



16.  ___________ are used to represent the relationships between the hardware components used in the physical infrastructure of an information system.
a.      Package diagrams
b.     Deployment diagrams
c.      Sequence diagrams
d.     Class diagrams
e.      Activity diagrams

Ans: b
Response: See page 31



17.  _____  are used to depict a time-based (ordered) set of activities that take place between collaborating objects.
a.      Package diagrams
b.     Deployment diagrams
c.      Sequence diagrams
d.     Class diagrams
e.      Activity diagrams

Ans: c
Response: See page 33



18.  ________ is NOT an example of an interaction diagram.
a.      Sequence diagram
b.     Communication diagram
c.      Interaction overview diagram
d.     Use case diagram
e.      Timing diagram

Ans: d
Response: See pages 33-34



19.  ________ workflow uncovers the problems and identifies potential projects within a user organization.
a.      Requirements
b.     Analysis
c.      Implementation
d.     Design
e.      Business Modeling

Ans: e
Response: See page 40



20.  Writing new classes and related programming activities are part of the _____________  workflow.
a.      Requirements
b.     Analysis
c.      Implementation
d.     Design
e.      Business Modeling

Ans: c
Response: See pages 40-41



True/False



  1. A class is a general template used to define and create specific instances known as objects.

Ans: True
Response: See page 24



  1. Attributes implement the behavior of the object while methods model the information contained within the object.

Ans: False
Response: See pages 24-25



  1. A concrete class is a class from which instances (or objects) can be created.

Ans: True
Response: See page 27



  1. An abstract class is primarily used as a template for defining other classes, and no instances can be created from abstract classes.

Ans: True
Response: See page 27



  1. The same message can be interpreted differently by different objects is often referred to as inheritance.

Ans: False
Response: See page 28



  1. According to the principle of inheritance, superclasses inherit methods and attributes from subclasses.

Ans: False
Response: See page 26



  1. Dynamic binding allows the object-oriented system to choose the specific method to be called and used at run-time. 

Ans: True
Response: See page 28



  1. Static binding forces the object-oriented system developer to identify the type of the object by compile-time.

Ans: True
Response: See page 28



  1. Information hiding suggests that only the information required to use the object 
      available to other objects.

Ans: True
Response: See page 26



  1. The objective of UML is to provide diagramming techniques in the analysis and design phases that easily translate to Java code during the implementation phase.

Ans: False
Response: See page 30



  1. UML provides a common vocabulary of object-oriented terms and diagramming techniques which help model information system projects from analysis through implementation.

Ans: True
Response: See page 30



  1. UML provides diagramming techniques to present the dynamic behavior of the system, while it makes no attempt to model the structure of the information system.

Ans: False
Response: See page 30


  1. UML structure diagrams provide a way to model the data and the static
relationships of an information system.

Ans: True
Response: See page 30



  1. Class diagrams model things, ideas/concepts contained in an application, and do not depict the relationship among classes.

Ans: False
Response: See page 31



  1. Object diagrams are helpful for an analyst to uncover additional details of a class, including additional attributes, methods and relationships to other objects.

Ans: True
Response: See page 31



16.  A package groups several UML elements together into a higher-level construct.

Ans: True
Response: See page 31



  1. Physical hardware infrastructure and how software components are deployed on this physical infrastructure is often depicted in a UML package diagram.

Ans: False
Response: See page 32



  1. For a client-server system, a component diagram is useful in showing which packages are placed on the client computers versus which ones are placed on the server.

Ans: True
Response: See page 32



  1. Composite structure diagrams are useful to model the relationships among parts of a class.

Ans: True
Response: See page 32



  1. The dynamic behavior of an object-oriented system is captured by the structure diagrams such as class, object and component diagrams.

Ans: False
Response: See page 33



  1. An individual use-case and its details can be modeled using an activity diagram.

Ans: True
Response: See page 33



  1. There are six different types of interaction diagrams in the specification of UML 2.0.

Ans: False
Response: See page 33



  1. The most commonly used interaction diagrams are the timing diagrams.

Ans: False
Response: See page 33



  1. Sequence diagrams depict the time-based ordering of activity that takes place among a set of collaborating objects.

Ans: True
Response: See page 33



  1. Communication diagrams emphasize/depict the time-based ordering of an activity, while sequence diagrams emphasize/depict the messages that are passed between collaborating objects.

Ans: False
Response: See page 33



  1. Interaction overview diagrams extend the overview diagrams by adding sequence fragments from sequence diagrams.

Ans: True
Response: See page 33



  1. The change of state of an object over time in response to events is depicted by interaction overview diagrams.

Ans: False
Response: See page 34



  1. Primary purpose of a use case diagram is to understand and document the requirements of an evolving information system.

Ans: True
Response: See page 34



  1. In UML model diagrams, only classes are allowed to have stereotypes, since there is no need for stereotypes for other UML elements such as use cases and relationships.

Ans: False
Response: See page 35



  1. Tagged values are a mechanism to add new properties to a base element.

Ans: True
Response: See page 35



  1. Object oriented methodologies are use-case driven, in that the use cases are the primary modeling tool to define the behavior of the system

Ans: True
Response: See page 36



  1. Functional view of a system describes the internal behavior of the object-oriented system, while dynamic view specifies the external behavior of the system.

Ans: False
Response: See page 36



  1. Object oriented systems analysis and design often emphasizes iterative approach, while discouraging incremental development approach.

Ans: False
Response: See page 37



  1. Technical, economic and organizational feasibility of the proposed information system takes place in the inception phase of the Unified Process.

Ans: True
Response: See page 37

  

2/24/14

Business Law: Text and Cases: Legal, Ethical, Global, and Corporate Environment, 13th Edition Kenneth W. Clarkson | Roger LeRoy Miller | Frank B. Cross solutions manual and test bank

Business Law: Texts and Cases, 13th Edition solutions manual and test bank Kenneth W. Clarkson, Roger Miller, Frank B. Cross

ISBN-10: 1285185242
ISBN-13: 9781285185248 
Book Resources





Linkwithin

Related Posts Plugin for WordPress, Blogger...