Beruflich Dokumente
Kultur Dokumente
Review Questions
1. What are the four UP phases, and what is the objective of each?
1. Inception Develop an approximate vision of the system, make the business case, define
the scope, and produce rough estimates for cost and schedule.
2. Elaboration Refine the vision, identify and describe all requirements, finalize the scope,
design and implement the core architecture and functions, resolve high risks, and produce
realistic estimates for cost and schedule.
4. Transition Complete the beta test and deployment so users have a working system and
are ready to benefit as expected.
(1) Business modeling, (2) requirements, (3) design, (4) implementation,(5)test, and (6)
deployment.
(1) Configuration and change management, (2) project management, and (3) environment.
The intent of XP is to extend the best practices of software development to the extreme.
Communication
Simplicity
Feedback
Courage
Planning
Testing
Pair programming
Simple designs
Refactoring the code
Owning the code collectively
Continuous integration
On-site customer
System metaphor
Small releases
Forty-hour week
Coding standards
The product backlog is a list of all the things the system should include and address, including
user functions, features, and technology. The product backlog is continually being prioritized
and is controlled by the product owner.
A Scrum sprint is a firm 30-day time box with a specific goal or deliverable. At the beginning,
the team gathers for a one-day planning session, during which they decide on the major goal for
the sprint, drawing from the prioritized product backlog. The scope of that sprint is then frozen.
Team members meet every day to report progress. At the end of the sprint, the agreed-upon
deliverable is produced.
10. Explain the difference between device-top applications, free-standing Internet applications,
and browser-based applications.
Device-top applications are those that run on a client computer without any need to be
connected to a network. They do not utilize client/server technology.
Systems Analysis and Design in a Changing World, sixth edition 14-3
Free-standing Internet applications are those that require a network and run in a client/server
environment be they are custom designed and do not use a browser to display screens.
The Internet consists of major servers and network connections which consist of large size
computers and fiber or copper cabling around the globe. This is called the Internet backbone.
However to get connectivity from the backbone to an individual house or office, requires
individual connections to each house (or a in-air transmission and receive capability). This last
piece of the connectivity is called the last mile. It is often difficult, because it requires
digging and laying cable from street to street and house to house.
13. What are the six licensing criteria that are usually associated with open-source software?
14. List eight or 10 popular open-source applications. You may include some not mentioned in the
text.
Open Office
Open Project
MySQL
NetBeans
PostgreSQL
Eclipse
GIMP
Systems Analysis and Design in a Changing World, sixth edition 14-4
KTooN
GNU Privacy Guard
ClamWin
Open project
Aptana Studio
SeaMonkey
Unix
Apache
WordPress
phpBB
Joomla
Web pages have gone through three major evolutionary changes. These changes are not distinct
and separate changes, but simply reflect the major evolution.
The first types of pages were static pages which had text, some images, and links to
other pages.
The second major advance occurred when pages added more animation and dynamic
pages that varied depending on the user and the data available.
The third major advance is to make the browser pages function more like a true
application with dynamic changing of the page itself through dynamic programming and
rapid contact with the server. The user himself can work on the page as though it were
an application.
An API (Application Program Interface) consists of the set of program functions or method
signatures that are presented as external functions that can be used by outside programs. In
other words, a system may have a defined API so that things like plug-ins may be connected to
it by executing those specific API methods. An API provides a way that external programs can
use the services of a specific system.
17. What is the difference between widgets and plug-ins and themes?
Plug-in is a generic name to refer to all types of small applications that use and extend the
services of a system (by using its API). A widget is a specific type of plug-in that focuses on the
user interface. A theme is an add-on that changes the look and feel of a system. A theme is not
usually considered a plug-in because it does not have executable statements. It usually consists
only of formatting options that are invoked by the main application to change the look and feel
of the user interface.
Web 2.0 is a loosely defined term that is not standardized in the industry but which refers to the
ability to allow the user to generate content or make changes to a the user interface. It refers to
those capabilities that allow the user to interact more readily with Web pages.
A mashup is the concept of combining the capabilities of two or more Web systems and serve it
in a single integrated Web site. Multiple Web systems that have predefined APIs can be
combined by invoking the services of each, via the API of each Web site, and combining them
together into a single Web page or Web site. It is important for Web 2.0 because it allows new
and innovative ways to allow users to interact and obtain services via the Web.
Rich Internet Applications consist of Web pages that support elaborate and extensive user
interaction. RIA usually contain extensive multimedia as well as allowing the user to enter data
and make changes dynamically on the Web page. Obviously, this is a major contribution to
Web 2.0 and supporting sophisticated user interaction.
JavaScript is a programming language that is executed within a Web browser. All of the major
Web browsers support JavaScript programming to allow executable code on the client computer
within a browser. JavaFX is a Java (which is entirely different than JavaScript) based
environment running under the Java Runtime Environment (JRE). Java based systems use Java
applets and Java servlets to produce active systems without requiring browser based execution.
HTML 5 is a new standard for HTML (still under development and approval), that defines
specific RIA components within the standard. As HTML 5 is integrated into the browsers, then
the browsers themselves will have built in capability to support RIA sites.
Systems Analysis and Design in a Changing World, sixth edition 14-6
2. Consider X P's team-based programming approach in general and its principle of allowing any
programmer to modify any code at any time in particular. No other development approach or
programming management technique follows this particular principle. Why not? In other words,
what are the possible negative implications of this principle? How does XP minimize these
negative implications?
XP helps with these problems by (1) establishing ground rules that code can be modified by
multiple programmers, and (2) setting up an effective communication system to let others know
when code is changed. Also by integrating continuously with small releases, the impacts of
code changes are kept current for all to use.
3. Visit the Web sites of the Agile Alliance (www.agilealliance.org) and Agile Modeling
(www.agilemodeling.com). Find some articles on project management in an Agile environment.
Summarize key points that you think make project management more difficult in this
environment than in a traditional, predictive project. Do the same for key points that make
project management easier for an Agile project.
4. Visit the Web site of the World Wide Web Consortium (www.w3.org) and review recent
developments related to the HTML5 standard. What are some of the basic components of the
standard? What are the major additions to HTML4?
HTML5 brings in new elements to structure the web pages as compared to HTML4 which uses
Systems Analysis and Design in a Changing World, sixth edition 14-7
5. Find a company in your community that uses Scrum or XP (or variations thereof) as its
development methodology. Learn how the company has applied the methodology and how it
applies the principles and practices. Also, research what development tools it uses and how well
the methodology is supported.
6. Find someone in your community who is working on a software development project that is
using Agile principles. How was the team trained to use Agile Development? How was this
approach adopted in the organization? What is the general feeling about its success? What
aspects does this developer like? Which aspects does he or she find frustrating or difficult to use?
Note that answers will vary and there are really no wrong answers. Poor answers are only those
that are not logically supported.
1. What would you recommend as an approach to upgrading the three listed applicationsa
single total project or three individual projects? Explain your decision.
2. Describe the pros and cons of the UP approach versus XP and Scrum development approaches
to upgrading the existing systems or developing new ones. Do the pros and cons change if the
systems are replaced instead of upgraded? Do the pros and cons vary by system? If so, should
different development approaches be used for each system?
3. Assume that MPS has had very little experience with developing projects by using adaptive
techniques. Do you think it would be viable for them to attempt an adaptive approach for these
three systems? What would be your recommendation for each? Which method would you
recommend and why?
However it would be a good idea to take some the more innovative developers and use some
adaptive techniques. They could then train additional developer teams in adaptive techniques.
4. Assuming MPS decided to use one of the three methodologies discussed in the chapter, make a
list of potential problems and the steps they should take to avoid those problems. List any
activities they should consider to ensure success.
5. Assuming that MPS decided to develop and deploy each system individually, what would you
recommend for a development approach? Would you recommend any SAAS solutions? Would
you recommend using MS Visual Studio and IIS or a Unix environment by using some open-
source applications? Explain your decision.
1. Based on Figure 14-6the XP methodology divide your use cases into releases and iterations
within each release. Develop a project iteration plan that includes the necessary activities at each
level (system, release, iteration) for integration testing and acceptance testing. Compare your
answer to this question to the project iteration plan you developed for Chapter 9.
Note: This is a small system, so dividing it into releases may not make sense. However, for
learning purposes, we will divide the system into two releases. Since a release is meant to have
all critical functionality, the first release will be larger than the second release. The table below
identifies which use cases are included in the second release. Often the difference between
releases in a software application is that the same use cases are supported, but later releases
provide more elaborate or more user friendly versions of upgraded use cases.
2. Discuss the requirements of this system for mobility devices. What use cases would be best
utilized on a mobile device? What use cases would be best with a desktop user interface?
This system is used by both the Board of Realtors, who work mostly in their offices and Real
Estate Agents, who are seldom in their offices. Hence the use cases that apply mostly to the
Board of Realtors staff will work well on larger computers with keyboards and screens. Some
use cases, particularly those for view the Listings, will work well for laptops and notepads, and
even for smart phone devices.
3. Would this application be suited as an SAAS application? What would be critical factors for a
company to consider if it wanted to offer an SAAS version of this application?
Given that every state has a Board of Realtors, it is not unlikely that a vendor company may
produce and provide an SAAS version. One advantage of an SAAS version is that there would
probably be more consistency across states in the functionality of the software and user
functions. Also the cost would be more reasonable, and in all likelihood, the system would be
able to provide more enhanced and state of the art functions, such as more support for mobile
devices.
As with all SAAS services, each Board of Realtors would need to assure that the service
provided is a reliable, robust, and full-featured. Data isolation is a key issue, but SAAS
providers always must guarantee the integrity of the data. Probably the biggest issue would be
whether the SAAS provider could provide support for mobile devices.
Systems Analysis and Design in a Changing World, sixth edition 14-12
4. Can you identify any use cases that would best be implemented as a mashup Web application?
Discuss which ones might fit this requirement and why?
All the use cases and pages that view listings would be enhanced if location and map data were
provided. This would facilitate both Agents and Consumers to use the site to find property
locations.
Recall from Chapter 2 that SBRUs initial system included four major subsystems: resort
relations, student booking, accounting and finance, and social networking. In Chapter 9, you
developed a comprehensive list of use cases for each of the four subsystems. You also developed a
project plan by using the adaptive SDLC and other principles that you learned in this textbook.
For this chapter, you will develop a project plan by using XP. The approach for ordering the use
cases will be based on user interface issues.
Accounting
and Finance
Process student payments Both Secure Browser No
Make refunds/correct payment errors Desktop Secure Browser No
Process payouts to resorts Desktop Secure - any No
Edit/update/correct payouts Desktop Secure - any No
Social
Networking
Create an individual account (join) Both - mobile Browser No
Set preferences on account Both - mobile Browser No
Create a group account Both - mobile Browser No
Assign admin rights to account Both - mobile Browser No
Search for a person or group Both - mobile Browser No
Link up with a person or group Both - mobile Browser No
Send a private message to a friend Mobile Browser No
Chat with friend(s) Mobile Browser Interactive
Post a comment to a Mobile Browser No
friend/group/photo
Upload photo or video Mobile Browser No
Tag photo Mobile Browser Interactive
Write/update vacation experience Both - mobile Browser No
2. Based on your table from question 1, organize the use cases by using two criteria:
a. The logical ordering based on functional similarity (i.e., as you did in Chapter 9)
b. Group them together as much as possible based on primary use device, development platform,
and RIA characteristics. In other words, you are trying to help the team so everyone is building
similar types of use cases together.
3. Assuming two separate XP programmer teams, build a project iteration plan as you did in
Chapter 9.
Note: In organizing by primary device, platform, and RIA characteristics, the logical ordering
requirement has to be relaxed. Also the two teams are no longer specifically Student oriented
functions and Resort oriented functions. This exercise might be performed by a project
manager to see if this grouping or if the Chapter 9 grouping will be easier for the development
Systems Analysis and Design in a Changing World, sixth edition 14-15
teams.
In the following iteration plan, the desktop use cases were scheduled first. Then the mobile use
cases were scheduled second. Both teams work similarly on desktop first, then on mobile.
Team 2 also picks up some student mobile functions in its iterations 3 and 4.
2. Mix and match practices from each methodology. Discuss which ideas you like from each
methodology.
Given the trends in new technology, software availability, and the Web as an application
platform, answer these questions:
1. What kind of equipment would be best and most stable for the truck drivers to use?
Answers will vary by student and over time as technology improves. In most companies such as
On the Spot, special purpose tablets are used some use a stylus to record data, particularly
signatures. For entering package data, it is usually helpful to have some type of keyboard. New
technology includes screen touch pads, virtual keyboards (projected), or even speech-to-text
data entry. This assignment is most fun if students think out of the box and come up with
interesting solutions.
2. What would you recommend as the development approach and platform: a custom application
using Visual Studio and .NET, a custom application using Java or similar language, a Web
application using ASP.NET, a Web application using PHP and JavaScript, or some other
combination. Discuss your recommendation.
Answers will vary by student. Either platform is acceptable, and depending on the background
and experience of the student one or the other will be chosen. The .NET platform is a stable and
well integrated platform used by many companies. The open source platform also is widely
used and provides many different options for development.
Systems Analysis and Design in a Changing World, sixth edition 14-17
1. The chapter classified apps on portable devices as device-top, free-standing Internet, and
browser based. Which type is most appropriate for the client-side portions of the RTGM system?
Be sure to consider such issues as client-server communication requirements and frequency, user
interface quality, and portability across devices and operation systems.
Answers will vary by student. In most of the chapters, however, it was assumed that the client
side software would be special purpose apps that run on the smart phones and on the monitoring
device. Some reasons for developing a free-standing Internet application are the following:
Dependable does not have to depend on browser robustness. This is probably the most
important.
Compatibility can be specifically programmed for devices. No problems with cross
browser support
Efficient can be programmed to run very efficiently streamlined using few resources
Fast can be built to run faster with less latent and delay times
2. Which (if any) social networking capabilities might make a useful addition to the RTGM
system? Be sure to consider the HIPAA requirements described for this case at the end of
Chapter 6.
The current system allows messages to be sent between the medical staff and the patient. This
could be enhanced to allow for online chats to occur. (Of course, phone calls are also, an
option, but often times a quick question can be done via online chat. ) Online chats would be
under the same HIPAA requirements as the messages. They must be protected on the server and
the mobile devices.
Social networking between patients is probably not a good idea at this point. There are diabetic
support groups online where people can share experiences and messages with others that have
similar ailments. However, it is probably too invasive to allow that to be done with this system.
Systems Analysis and Design in a Changing World, sixth edition 14-18
3. When recorded glucose levels generate high priority alerts, physicians or other health-care
providers initiate direct contact with the patient. An ordinary phone call over the cellular phone
network is one way to support direct contact. Because any client-side device used with the RTGM
system must be fully Internet-capable, an Internet telephony application, such as Skype, is
another possible way of supporting synchronous voice or video communication with the patient.
Should Skype or a similar Internet telephony application be used with the RTGM system? Why
or why not? If such an application is used, should it support video? Why or why not?
Data mining is an increasingly important technique for medical research. The ability to
scan medical records of large numbers of patients over extended time periods enables researchers
to better evaluate the effectiveness of drugs and therapies, more accurately connect disease risk
levels to specific patient characteristics, and identify patterns of transmission or occurrence,
progression, and treatment response for rare diseases and conditions. What types of medical
research might be enabled or better supported by the data collected by the RTGM system?
Would your answer change if the database were extended to include additional information that
might be gathered from the patients mobile phone (e.g., location information when each glucose
level was captured, size and content of the patients contact list, call history, and the volume of
text messages and Internet browsing activity)?