You are on page 1of 8

Exercises Chapter 1

CHAPTER 1: Introduction

Experiential Exercises

A. Suppose you are a project manager 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
prototyping and comes to your office requesting you to switch. What do you say?

The major problem with prototyping is that its fast-paced system releases challenge
attempts to conduct careful, methodical analysis. Often the prototype undergoes such
significant changes that many initial design decisions become poor ones. This can cause
problems in the development of complex systems because fundamental issues and
problems are not recognized until well into the development process.

While one might think prototyping-based methodologies would also be appropriate with
unfamiliar technology, they are much less so, since the early prototypes that are built
usually only scratch the surface of the new technology. Usually, it is only after several
prototypes and several months that the developers discover weaknesses or problems in
the new technology.

Prototyping-based methodologies are not well suited to detailed analysis and design of
complex projects. The traditional structured design–based methodologies can handle
complex systems, but without the ability to get the system or prototypes into the users’
hands early on, some key issues may be overlooked.

B. The basic types of methodologies discussed in this chapter can be combined and
integrated to form new hybrid methodologies. Suppose you were to combine
throwaway prototyping with the use of waterfall development. What would the
methodology look like? Draw a picture (similar to those in Figures 1-2 through 1-7).
How would this new methodology compare to the others?

Dr. Faouzi Maddouri Page 1


Exercises Chapter 1

This new methodology would have a similar structure to the traditional waterfall
approach; however, a throwaway prototyping component is inserted into the planning,
design, and implementation stages to provide feedback for further system improvements.
The throwaway prototype serves only to assist system design and development, and is not
directly integrated into the final system.

C. Investigate IBM’s Rational 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 with which to begin is www.306.ibm.com/software/
awdtools/rup/.)

The Unified Process was developed from its very beginnings to include two components:
a generic (and free) process (which is what we normally refer to as the Unified Process),
and a more detailed specification known as the Rational Unified Process (RUP) which
was always meant to be a commercial process (and therefore, not free). RUP includes a
host of features not found in the UP and is normally sold as part of a software application
suite for computer-aided software engineering.

Perhaps the most noticeable difference between the UP and the RUP is that the latter
refers to UP workflows as disciplines. Each of the disciplines (which have the same
names as the corresponding workflows in UP), is composed of roles, work products, and
tasks. The roles are sets of related skills and responsibilities that are used to select the
appropriate human resources for a given task. The work products are the deliverables of a
specific process. Lastly, the tasks are units of work assigned to a role and that yield a
work product.

Dr. Faouzi Maddouri Page 2


Exercises Chapter 1

D. Suppose you are a project manager who 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?

Once a methodology is chosen, changing it will inevitably lead to schedule slips and cost
overruns. It may also result in a product that fails to meet the requirements originally
specified for it. With these words of caution, however, the waterfall methodology is
perhaps the best one from which to switch, because each phase is completely self-
contained. If it were necessary to switch methodologies (which is still not a good idea),
then it could be coordinated at a phase transition to reduce the adverse effects.

The only reasonable answer you can provide is that, unless there is an unavoidable reason
to do so, the methodology should not be changed.

E. Suppose you are 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? Why?

I would not recommend the Unified Process (UP) unless the company has a strong
tradition of using it. The reason for this is that the scope of the project is likely to be
small since this is a small organization, and it may not warrant the relatively high-cost
overhead of the UP. Moreover, an accounting system normally involves rigid
requirements and a strong reliability constraint. It is, therefore, not an ideal type of
project with which to lead an organization away from its established practices.

Among the traditional approaches, this project appears to be ideal for throwaway
prototyping development. In this case, different accounting tasks can be developed, and
the systems tested to determine optimum performance. Although the project probably
will not be large enough for parallel development, different applications may be
simultaneously developed, and then consolidated into one system.

F. Suppose you are 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? Why?

This is a perfect scenario for the application of the Unified Process. The reason is that
this methodology excels at distributed object-oriented development. Also the large scope
of the project means that the relatively high-cost of the UP would be more than offset by
the savings induced by reusability and a distributed framework.

Dr. Faouzi Maddouri Page 3


Exercises Chapter 1

G. Suppose you were an analyst developing a new executive information system


intended to provide key strategic information from existing corporate databases to
senior executives to help in their decision making. What type of methodology would
you use? Why?

Its important to identify the special requirements that a management decision support
system would have. For example, management decision support systems will involve a
great deal of extraction from other databases, a great deal of interface design (which may
vary among individual users), and a great deal of making additional tools available for
users to refine data as they wish.

In this case, an XP agile methodology may be an effective method of development if a


cohesive team of developers, programmers, and users can collectively share the necessary
effort and communication to carry out the project.

Three of the key principles that XP uses to create successful systems are continuous
testing, simple coding performed by pairs of developers, and close interactions with end
users to build systems very quickly. After a superficial planning process, projects perform
analysis, design, and implementation phases iteratively For small projects with highly
motivated, cohesive, stable, and experienced teams, XP should work just fine.

H. 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 with which to
begin is www.uml.org.)

The very success of the Unified Modeling Language (UML) is its only drawback
nowadays. This is the claim of one of the original UML authors, Ivar Jacobson, in a
recent interview with Builder AU. Essentially, the widespread adoption of UML across
the industry has led developers to add standardized symbols for a variety of niche
applications. Jacobson estimates that 80% of the features in the current release of the
UML are not widely used and are meant for a fairly small group of developers. Jacobson
proposes the creation of an “essential UML” which would consist of the 20% of UML
that is universally applicable. This would then allow developers to focus on the essentials
while giving them the flexibility to add components as needed.

I. 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 with which to begin is www.omg.org.)

The Object Management Group is a consortium of organizations whose purpose it is to


set standards for object-oriented systems. The OMG is the group that ratified the UML as
an industry standard. In addition to the UML, the OMG is responsible for the
development of other object-oriented products such as the Systems Modeling Language
(SysML), which is a domain-specific modeling language for Systems Engineering based

Dr. Faouzi Maddouri Page 4


Exercises Chapter 1

on the UML. Whereas UML is focused on software development, SysML is optimized


for a broad range of systems and systems-of-systems. Other OMG specifications include
the Model Driven Architecture (MDA), the MetaObject Facility (MOF), the XML
Metadata Interface (XMI), the Common Warehouse Metamodel (CWM), the Common
Object Request Broker Architecture (CORBA), and the Object Management Architecture
(OMA).

J. Using the Web, find a set of CASE tools that support the UML. A couple of
examples include Rational Rose and Visual Paradigm. Find at least two more. 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.

One of the best commercial tools (besides the ones listed) is Sparx Systems’ Enterprise
Architect. At a cost of between $95 and $335, this is a much more affordable product
than IBM’s Rational line. It also offers many of the same features including end-to-end
visibility, speed, stability, and performance. It supports all UML 2.1 diagrams and has
robust importing and exporting capabilities for code analysis and creation, document
generation, and general documentation.

In terms of good open-source, free CASE tools, StarUML is a solid performer. It runs on
Microsoft Windows platforms, supports the UML 2.0 standard, provides a plug-in
architecture for additional modules, and has a well designed interface. StarUML supports
the most common 9 (out of 14) UML diagrams with automatic code generation in Java,
C++ and C#. It also produces Microsoft Word, Excel, and PowerPoint documents.

Obviously, many considerations are important in selecting the best tool for a given
project and team. If the budget allows, it is best to go with the best in the business, such
as IBM’s Rational Software Architect, since it provides both a comprehensive set of
features as well as very good customer support. If budget is an issue, there are good open-
source options like StarUML.

K. Look in the classified section of your local newspaper. What kinds of job
opportunities are available for people who want analyst positions? Compare and
contrast the skills that the ads ask for to the skills that we presented in this chapter.

The following are important skills for analyst to possess according to Chapter 1:
• Technical
• Business
• Problem solving
• Communication
• Interpersonal
• Management of people
• Management of situations

Dr. Faouzi Maddouri Page 5


Exercises Chapter 1

• Ethics
• Confidentiality

I went to the website, www.monster.com and entered a job search for “IT development
analyst”. This resulted in nearly 1,300 results. Here are the first three listings:

1. IT Analyst - Integration Development National Grid


Chapter 1 skills Additional skills
• interpersonal • team participation
• communication • self supervision.
• managerial

2. Lead IT Development Analyst Avon Products, Inc.


Chapter 1 skills
• communication
• interpersonal
• management
• project management
• technical

3. IT Systems Analyst Moran Towing Corp


Chapter 1 skills Additional skills
• communication • ability to quickly learn
• problem solving
• technical

L. Think about your ideal analyst position. Write a newspaper ad to hire someone
for that position. What requirements would the job have? What skills and
experience would be required? How would an applicant be able to demonstrate
having the appropriate skills and experience?

The Senior IT/Business Analyst provides a link for IT Services to all appropriate
company departments and specific clients for purposes of furthering the corporation’s
business objectives and client initiatives. The fundamental objective of this position is to
provide analysis, recommendation, communications and technical guidance associated
with developing client systems and corporate Products.

Interacts with the IT groups and helps determine appropriate computer-related solutions
to business problems. Provides analysis and definition to computer-related development
and maintenance activities. Understands the relationship between and can define,
business needs, functional requirements and technical requirements.

Works with Product Management to obtain an understanding of the varied business needs
of multiple interrelated products. Understands the role of the system within the big
picture and provides ideas and recommendations regarding the evolution of the system.

Dr. Faouzi Maddouri Page 6


Exercises Chapter 1

Works directly with all levels of staff at companies’ clients to understand their business
challenge(s), and identify the technology solution companies can deploy to positively
impact the client enterprise. Responds authoritatively to internal and external questions
about technology issues at any level of granularity. Consults with Business Development
Staff to develop an understanding of specific client needs.

The ideal candidate will have an understanding of Use Case Definition, Quality
Attributes, and Business Process Flows, leading to detailed System Specifications as well
as proven project and change management experience, including (but not limited to):
assessment, risk management, communications, organizational design and development,
performance improvement, and cultural change as well as a broad base of IT systems and
process knowledge.

This analyst will:


*Be Well Traveled
*Have detailed systems and process knowledge
*Familiarity with the Aviation Industry
*Excellent Verbal & Written Communication skills
*Ability to achieve goals on multiple Projects

Responsibilities:
*Business Requirements Gathering – Use Cases, Quality Attributes, Glossary of Terms,
Data Dictionary, etc.
*Team Communication – Facilitate collaborative problem solving and leverage existing
solutions
*Scheduling – Maintains calendars and appointment schedules with business experts
controlling the flow of information to and from Technical Developers
*Client Relationship Management – Identify client current and future needs via a close
working relationship with client project management and project teams
*Report Requirements according to company Standards to Project Leaders
*Draft Test Plans to validate business requirements
*Project Initiation – Business Requirements Gathering, Team Formation, Contact
Information, Identification of Deliverables, Timetables, Resources, and Dependencies
*Project Monitoring – Preparation and circulation of summarized project status

Requirements
*BS/BA, MA/MS/MBA preferred
*5+ years experience in IT Business Analysis
*3+ years experience in IT project Management
*Extensive IT experience
*Excellent Management and Communication skills
*Desire to travel, ability to travel extensively
*Desire to work in fast paced, rapidly changing IT environment
*Fluent Spanish A+
*Microsoft Certification A+

Dr. Faouzi Maddouri Page 7


Exercises Chapter 1

*Will be required to submit samples of work from one or more of the following
categories: Use Cases, Business Process Flows, Business Glossary.

Dr. Faouzi Maddouri Page 8

You might also like