Sie sind auf Seite 1von 10

Chapter 1 & 2, Questions

Chapter 1
1.1 Software is the differentiating characteristic in many computer-based products
and systems. Provide examples of two or three products and a least one system in
which software, not hardware, is the differentiating element.
Products: Cellular phones, Pocket PC's
System: Automated Teller Machine
1.2 In the 1950s and 1960s, computer programming was an art form learned in an
apprentice-like environment. How have the early days affected software development
practices today?
We have learned from our many mistakes and successes and are continuing to seek
improvements in process and technology to continue to improve the end result, as well
as speeding up the process and getting the customer more involved in the process.
1.3 Many authors have discussed the impact of the "information era." Provide a
number of examples (both positive and negative) that indicate the impact of software
on our society. Review on of the pre-1990 references in section 1.1 and indicate
where the author's predictions were right and where they were wrong.
FunLuv virus that damaged many corporations information systems in 2001.
Y2K bug.
E-commerce
The internet.
Naisbitt prediction, that we would become an "information society" is partly true,
well, more true in the US, then it was when he made the prediction.
Osborne was right, when he said "revolution," but not really a Industrial revolution,
more of a information/technical revolution, where there has been a big change in how
we use, retrieve, store, information. This information/technical revolution, however,
has had a definite impact on industry.

Feigrnbaum and McCorduck were correct when they implied that, information is
power. Those who have it and are able to organize, retrieve, and store it, most
efficiently, will realize wealth and power.
Stoll was definitely correct when he said networks and software would be the "key to
knowledge interchange." We have definitely seen this happening in our society and
around the world.

Chapter 2
2.2 Is there ever a case when the generic phases of the software engineering process
don't apply?
Yes. There is never one all-encompassing right tool for any project. There are always
be a time when the amount of variables, and/or the problem is to intricate for one
"software engineering tool."
2.4 The Chaos model suggests that a problem solving loop can be applied at any
degree of resolution. Discuss the way in which you would apply the loop to (1)
understanding requirements for a word-processing product; (2) develop an advanced
spelling/grammar checking component for the word processor; (3) generate code for a
program module that determines the subject, predicate, and object in an English
language sentence.
Not sure how to answer this question. The Chaos model is really just an Idea, that
says, it doesn't really matter what specific model you choose to develop, "at the core,
all of the models exhibit characteristics of the Chaos model." pp. 28. So it seems one
could pick any of the models in the following pages, in the textbook, to describe the
three development projects, in the preceding question.

Chapter 3
3.1 Based on information contained in this chapter and your own expertise, develop
"ten Commandments" for empowering software engineers. That is, make a list of ten
guidelines that will lead to software people who work to their full potential.
1. Thou Shalt continuously develop thyself through online courses, classes and
certifications provided and paid for by your work.

2. Thou Shalt ask questions of each other, and answer questions from others,
without criticism or sinicism.
3. Thou Shalt work with others in a manner, building each other up, in an effort to
create a no-hostile, no-aggressive, non-competitive work group.
4. Thou Shalt communicate and document everything.
5. Thou Shalt trust one another and build trust with new members of the team.
6. Thou Shalt have fun.
7. Thou Shalt take a break when needed.
8.
3.3 Describe three real-life situations in which the customer and the end-user are the
same. Describe three situations in which they are different.
Operators on the floor where I work are the customer and end-users of the
applications we develop.
People who by software off the shelf, are the customer and the end-user.

Stand-alone photo development system, that you see in some stores is an example of a
customer, the store, and the end user, the store customers, are two different people.
Data Base Administrators, are end users and customers, but operators on the floor, that
only view the data, and do little more interaction or use the software.
Someone who manages a website, or web application, that was developed by another
developer group. Her the "someone" is the customer and the people whop use their
site are the end users.

3.6 You have been appointed a project manager within an information systems
organization. Your job is to build an application that is quite similar to others your
team has built, although this on is larger and more complex. Requirements have been
thoroughly documented by the customer. What team structure would you choose and
why? What software process model(s) would you choose and why?

Controlled decentralized, because there is a definite leader, me, and because we have
already created something similar, the group is already familiar with the scope of the
project, so most of the problem solving will done within the group. It would not be a
problem selecting strong leaders for each group within the project, because I have
already seen them in action in the last, very similar, project and they would
communicate project progress to each other and the team leads would communicate
this to me.
I would use the Prototyping Paradigm, because, even though we know the customers
requirements already, we needs to go back to the customer during the process and let
them "test drive" the system. Since we are pretty confident in what the outcome will
be, we can then focus on improving and adding functionality.
Chapter 4
4.4 Why should some software metrics be kept "private?" Provide examples of
three metrics that should be private. Provide examples of three metrics that should be
public.
Software metrics that are very useful to a company in measuring the success of a
software implementation, could also be what gives a company the competitive edge.
Therefore, as a corporation, you wouldn't want everyone else realizing the same
competitive advantage and/or success, this metrics or metrics are providing.
Defect Rates by individual, defect rates by module and errors found during
development are examples of metrics that should be private.
Defects reported for major software functions that have been developed by a number
of practitioners, errors found during formal technical reviews, an lines of code or
function points per module and function are examples of metrics that should be
public.

4.8 What is an indirect measure and why are such measures common in software
metrics work?
Indirect measures of the product include functionality, quality, complexity, efficiency,
reliability, maintainability, and many others.
These are used to measure the quality, and functionality of software or its efficiency or
maintainability.

Chapter 5
5.2 Software project complexity is discussed briefly in Section 5.1. Develop a list
of software characteristics (e.g. concurrent operation, graphical output) that affect the
complexity of a project. Prioritize the list.
1. Project size
2. Degree of structural uncertainty
3. Availability of historical information

Some more specific examples I could think of that might make a project more
complex...
Connection to a database over the internet or WAN.
Connection to legacy equipment (e.g. older manufacturing equipment) for transfer
of measurement data or statistical data from this equipment
to new system.
Connection to apps developed in legacy software or programming languages.

5.3 Performance is an important consideration during planning. Discuss how


performance can be interpreted differently upon the software application area.
Performance can be viewed differently, depending on what one person believes
performance means to them, or what another person believes. One person might think
performance is the speed at witch the system delivers a report or some other data.
Another person may believe performance can be measured by how much the system
can do for them, not dependent on time, rather, more on functionality. Another person
may believe performance is measured by how few time the system crashed on them.
Ease of use may be another person's idea of performance.
5.4 Do a functional decomposition of the home security system software you
described in problem 5.1. Estimate the size of each function in LOC. Assuming that
your organization produces 450 LOC/pm with a burdened labor rate of $7000 per
person-month, estimate the effort and cost required to build the software using the
LOC-based estimation technique described in section 5.6.3.

asds
Chapter 6
6.4 You've been asked to build software to support a low-cost video editing system.
The system accepts videotapes as input, stores the video on a disk, and allows the user
to do a wide range of edits to the digitized video. The result can then be output to
tape. Do a small amount of research on systems of this type and then make a list of
technology risks that you would face as you begin a project of this type.
Technology Risks:
Project size could be a risk, meaning, while building the system, customers may start
to realize what the capabilities of the system are and ask for more functionality, which
can cause the size of the project to increase, as well as cost, and complexity.
Technology to be built kind of goes along with the first risk factor. To further define
this, many times as the customer follows the system through its design stage, they
become more aware of the alternative systems that are currently offered, and the
functionality of these other systems. Customers may then begin to ask for some, if
not all, of these functions, to be added to their system. Adding these functions, most
likely will add complexity to the system, and if it happens later in the design process,
it will most likely make it much more difficult to design these into the current system.

6.8 Develop a risk monitoring strategy and specific risk management activities for
three of the risks noted in Figure 6.2.
End-users resist plan:
1. Bring in many, if not all, of the end-users, at the beginning of the analysis phase
all the way through the design phases of the project. If they are part of the project,
they will be more likely to accept the system when it is finished.
2. Take down every request. Do not reject any request until you have tried to fulfill
the request. When it is apparent that the request cannot be filled, due to time
constraints, technological constraints, or whatever the reason, bring it back to the
users, and explain why it can't be done.
Staff inexperienced:

1. Send several staff members to training courses, that will sharpen their skills for
this project, before and during the project.
2. Bring in a couple consultants, to help, as well as to work with and train up current
staff members.
3.
Staff turnover will be high:
1.

Find out the causes of turnover before project begins.

2. Try to work out some of the issues that cause turnover before the project starts.
3. Plan for some turnover and develop techniques to ensure continuity when people
leave.
4. Make sure teams are organized in such a way, that information about each
development activity is communicated.
5. Define documentation standards and establish mechanisms to be sure that
documents are developed in a timely manner.
6. Conduct peer reviews of all work so that more then one person is up to speed on
the project.

Chapter 10
10.5 Business process engineering strives to define data and application architecture
as well as technology infrastructure. Describe what each of these terms mean and
provide an example.
Business process engineering: The goal of business process engineering is to define
architectures that will enable a business to use information effectively.
This is, essentially like taking raw data, and converting it to something that is
understandable and useful for the business. This can be people or computers.

Application Architecture: This encompasses those elements of a system that


transform objects within the data architecture for some business purpose.
This would be something like a VB front in, that talks to a database. The data is all
out there, but it is presented better with a coherent GUI interface.
Technology infrastructure: This provides the foundation for the data and application
architectures.
This would be, servers, clusters, OS's, etc.

10.7 A systems engineer can come from one of three sources: the system developer,
the customer, or some outside organization. Discuss the pros and cons that apply to
each source. Describe an "ideal" system engineer.
System Developer:
Develop has the knowledge and experience to get the job done, in terms of making the
applications functional, coding, and readying the hardware infrastructure.
The developer can also get to technical and loose site of what the end users want.
The developer may or may not fully understand the process for which he/she is
developing the system for, and therefore may have a different approach or idea about
the functionality or usability of the end product.

Customer:
The customer usually has the most insight as far as using the system. He/she works
with the current process day in and day out, so they know what the system needs to be
able to do and where the current system is lacking.
The customer is not a developer and may ask for something that cannot be done, or
may not ask for what can be done, because of their lack of knowledge, in knowing
what is feasible.

Outside organization:

Outside organization can bring in experience from the "outside." There may be some
systems they have worked on, that are similar to the system your company is trying to
build, and they may have some insight.
They are like the customer in some ways, because they aren't apart of your particular
process, and they are not intimately familiar with your company's business structure
or processes. Sure, they can be told what these are, but without having worked for the
company, they don't have the same level of understanding as someone from the
company would.
The Ideal System Engineer would be someone who has an "Intimate" understanding
of the business processes, maybe even someone who works for the company.
Someone who has worked at different level in the company and has seem and worked
in the areas, that need a new system designed. Someone who has developed systems
for companies outside his/her own, and therefore has gained insight and experience
from these experiences, that he/she can now turn and use for their own companies
needs.

10.9 Develop a checklist for attributes to be considered when the "feasibility" of a


system or product is to be evaluated. Discuss the interplay among attributes and
attempt to provide a method for grading each so that a quantitative "feasibility
number" may be developed.

Chapter 11
11.9 Partition the functional domain for SafeHome. First perform horizontal
partitioning; then perform vertical partitioning.
Horizontal:

.
Define the project scope
and
project requirements
A
software engineer should
specify the scope of the project. The project requirements should
also be defined to ensure that the end product satisfies the requirements
,

SafeHome Software

and
is within the defined
scope (
BITovi
1
).
2.
Adopt simplicity in de
sign
A projects design should be simple. This is to ensure that
people who do not have a
programming background can understand the system.
Moreover
, it should enable future upgrades
by other programmers
(McConnell 6
)
Practical statement
Project scope helps to give the project objectives and also give a timeline of how the project
deliverables will be delivered a
nd when they will be delivered.
A good project scope helps the
project manager to evaluate the progress of the project. It also enables departments to convince
the top management to approve a particular project.

Das könnte Ihnen auch gefallen