Pressman Books Question Solution Chapter
Pressman Books Question Solution Chapter
Step 2 of 2
Examples of the law of unintended consequences:
1. Boy and girl internet friend ship:
Instant messengers were developed as a solution for fast, real time communication.
The problem that rose with this type of software is that - strangers can communicate
with each other.
2. Way of chatting in mobile phone:
Mobile phone communication technology helped in erasing communication barriers.
But the same technology showed a path to anti-social elements in creating havocs.
3. War (Web – apps span a wide array of applications):
Computers are used in the every field, which was a change the strategies of the user. One
of the examples is
Digital automobile dashboard that shows an image in high quality resolution.
• This type of image was harmful to create an impact on the social network users.
• It can be little more than a set of lined hypertext _les that present information using text
and limited graphics.
• However, as e –commerce and B2B applications grow in importance, web apps are
evolving in sophisticated
computing environments.
It is a great achievement in embedded systems area. The Missile tracking system used to
know about the paths of a
missile.
• Actually it is a software system developed with an intension of fisnding out the path or
to track the path generated
or motion by a missile.
• But this has become curse. This technology is now being widely used for darker side
rather than for a right
purpose.
1.2 .Provide a number of examples (both positive and
negative) that indicate the impact of software on our society.
Positive
Step-by-step solution:
Step 1 of 3
Software is both product and a vehicle that delivers a product. Software delivers the most
important product of our
time information. If transforms personal data so that data can be more useful in a local
context; it manages
business information to enhance competitiveness ; it provides gateway to world wide
information networks and
provides the means for acquiring information in all of its forms.
1.4. Many modern applications change frequently—before they are presented to the
end user and then after the first version has been put into use. Suggest a few ways
to build software to stop deterioration due to change.
Solution;
Gather the required information.
Designer and customer define the overall objectives for the software.
Identify the known requirements.
After building a prototype the developer uses an existing program fragment, this will help the
working program to complete quickly.
To maintain and improve our technical competence and to undertake technological tasks for
others only if qualified by training or experience, or after full disclosure of pertinent limitations.
Documents should be developed in a timely manner, to do this documentation standards are
defined and mechanisms are established.
Review works done up to a particular stage.
There should be a backup person for every critical team member.
Check whether the risk aversion steps are being properly applied or not. Check whether the
necessary information for future risk analysis is necessary to collect.
1.5. Consider the seven software categories presented in Section 1.1.2. Do you think
that the same approach to software engineering can be applied for each? Explain
your answer.
Step-by-step solution:
Step 1 of 3
Software is engineered, not manufactured.
Nature of software:
The computer software is the product that is built by the software professionals, supported for a long
term.
• It defined with the various programs and approaches presented in the form of architecture.
• Nowadays, software plays a major role because it affects every aspect of the human life in all the
activities.
• In the world, it is placed as a most important technology to improve business, science, engineering,
etc.,
• The importance of software is increasing and growing as software community developing the
technologies
continue to make the life easier, less expensive, faster, and high-quality programs are maintained.
• Software manages to play a dual role that, it acts as a product and as a vehicle (medium) to deliver a
product;
managing both personal and business information in any manner, also acts a medium for software threats.
• The role of computer software deals with the signi_cant change over the years, to become a dominant
factor in
the industrialized world.
• Also, there are more concerns about the software being developed to examine the characteristics of
the
software’s that are built by the human world.
• Every software failure leads to an error that complexes the entire system pretends to give challenges
continuously
to the software engineers.
Seven broad categories of computer software present continuing challenges for software engineers
are shown
below:
PRESSMAN BOOKS QUESTION SOLUTION
1. System software
2. Application software
3. Engineering / scienti_c software
4. Embedded software
5. product – line software
6. Web – application
7. Arti_cial intelligence software.
Software Engineering approach:
Software engineering is an engineering discipline which involves all the aspects of software production
from the
starting stage to the _nal stage by maintaining the speci_cations of the system.
• It allows the professionals to build the high-quality computer software which encompasses a
process, a
collection of methods and the tools of the array.
• It completes the profession with a discipline of work to build a complex system in a timely manner.
• It is the application of a systematic, quanti_able, disciplined approach to the development, operation,
and
maintenance of the software.
• This study approaches the application engineering of the software with a technology of layers.
• It de_nes all the forms to its application software’s which should be engineered.
• It ultimately leads to the continuous process improvement to approach the effectiveness of software
applications
to software engineering.
• It provides the techniques how-to build the software that includes all the stages of the software
development
with the descriptive techniques.
• These tools provide the full support of the software development to go through all the stages of the
software to
be engineered.
Chapter 2
2.1. Figure 2.1 places the three software engineering layers on top of a layer
entitled “A quality focus.” This implies an organizational quality program such as
total quality management. Do a bit of research and develop an outline of the key
tenets of a total quality management program.
FIGURE 2.1 Software engineering layers
PRESSMAN BOOKS QUESTION SOLUTION
Step-by-step solution:
Step 1 of 2
Software engineering is the layered approach which contains process, methods, and tools. The method
contains a
variety of tasks which includes requirements phase, analysis phase, design and modelling phase, program
construction phase, testing and support phase.
Software engineering methods depends on certain principals which includes modelling activates.
The process and methods are provided with automated or semi-automated support for the fourth layer
“tools”.
Step 2 of 2
Key tenets for total quality management program are given below:
• To have perfect vision, Mission and Values
o Create orientation program to educate employees about organizational goals and achievements.
• Identifying critical success factor (CSF)
o CSF is useful in identifying the objectives set by the organization and how to achieve them. Some of the
examples of CSF are:
• Financial Performance
• Customer Satisfaction
• Market Share
• Employee Satisfaction
• Product Quality
• Metrics to track CSF data
• Identify key customer group
• Customer feedback
• Develop survey tool
• Quality improvement plan
• Resurvey after certain time period
• Technology
2.2 Is software engineering applicable when Web-Apps are built? If so, how might it
be modified to accommodate the unique characteristics of Web-Apps?
Step-by-step solution:
Step 1 of 3
4633-1-7P SA: 4475
SR: 6376
Yes, software engineering is applicable, when WebApps are built because it is a layered technology and
consists of
Tools, Methods, Process, and A quality focus.
WebApps exhibit some unique attributes like, Network intensiveness, concurrency, availability, security
etc.
These unique characteristics of WebApps can be accommodated through a generic process framework for
software engineering. It encompasses _ve activities and they are modi_ed to accommodate the WebApps.
Modi_ed process framework activities for WebApps are:
1. Customer communication (analysis/formulation) - Setting the goals, objectives and scope of the _rst
increment.
2. Planning - _ne grained estimates and schedule for the _rst increment, coarser estimates for subsequent
increments.
3. Modeling - Establishes requirements and identi_es content items, content design, architectural design,
navigational design, and interface design.
PRESSMAN BOOKS QUESTION SOLUTION
4. Construction - page generation and testing, merging of content and technical designs to produce
executable
web pages that are exercised to uncover errors.
5. Deliver and evaluation - Increment is reviewed and changes required by customer are integrated into
the next
increment.
2.3. As software becomes more pervasive, risks to the public (due to faulty
programs) become an increasingly significant concern. Develop a doomsday but
realistic scenario in which the failure of a computer program could do great harm,
either economic or human.
There are literally dozens of real life circumstances to choose from. For example, software
errors that have caused major telephone networks to fail, failures in avionics that have
contributed to plane crashes, computer viruses (e.g., Michelangelo) that have caused significant
economic losses and attacks on major e-‐commerce sites.
2.4. Describe a process framework in your own words. When we say that framework
activities are applicable to all projects, does this mean that the same work tasks are
applied for all projects, regardless of size and complexity? Explain. Step-by-step
solution:
Step 1 of 3
A process framework establishes foundation for a complete software process by identifying a small
number of
framework activities that are applicable to all software projects, regardless of their size or complexity.
The process
framework encompasses a set of umbrella activities that are applicable across the entire software process.
2.5. Umbrella activities occur throughout the software process. Do you think they
are applied evenly across the process, or are some concentrated in one or more
framework activities?
Step-by-step solution:
Step 1 of 3
The activities that are used to keep the progress of the software development process in check are known
as
umbrella activities. They are included inside the frameworks.
2.6. Add two additional myths to the list presented in Section 2.4. Also state the
reality that accompanies the myth.
2.16. it is possible o prove that a software component that even an entire program
is correct.so why doesn`t do this………/2018/2-c
Yes, it is possible to prove that a software component and even an entire program is correct, but it takes
move time.
Though the entire program is tested as we say that there is no 100% successful test, the program may go
out of
reach some times. In order to make the entire program correct, we need to test the each & every possible
test case
but generally all the test cases may not be tested because some of the test cases may be unknown and the
lock of
time factor and the lack of coordination between the developers and the customers
PRESSMAN BOOKS QUESTION SOLUTION
Chapter 3
3.1. In the introduction to this chapter Baetjer notes: “The process provides
interaction between users and designers, between users and evolving tools, and
between designers and evolving tools [technology].” List five questions that (1)
designers should ask users, (2) users should ask designers, (3) users should ask
themselves about the software product that is to be built, (4) designers should ask
themselves about the software product that is to be built and the process that will
be used to build it. Step-by-step solution:
Step 1 of 4
3.2. Discuss the differences among the various process flows described in Section
3.1.
Can you identify types of problems that might be applicable to each of the generic
flows described?
Step-by-step solution:
Step 1 of 3
The software engineering process basically denes 5 framework activities. They are communication,
planning,
modeling, construction and deployment. They four types of process ow begin with communication
activity.
PRESSMAN BOOKS QUESTION SOLUTION
Difference between the various process flows are described in section 3.1 are given in table below:-
3.3. Try to develop a set of actions for the communication activity. Select one action
and define a task set for it.
Task Set for Communication Activity: A task set would define the actual work to be done to
accomplish the objectives of a software engineering action. For the communication activity
these are:
Make a list of stakeholders for the project
Invite all the stakeholders to an informal meeting
Ask them to make a list of features and functions
Discuss requirements and build a final list
Prioritize requirements and note the areas that he is uncertain of
These tasks may be larger for a complex software project, they may then include
To conduct a series of specification meetings, build a preliminary list of functions and features
based on stakeholder input.
To build a revised list of stake holder requirements Use quality function deployment techniques
to prioritize the requirements.
PRESSMAN BOOKS QUESTION SOLUTION
Step-by-step solution
Step 1 of 3
When stakeholders have conicting, the following process pattern describes an approach
about what the software should be
Pattern name: Con_icting Requirements
Intent: This pattern describes an approach for identifying and making a list of the requirements specified
by the stakeholders.
Type: Stage pattern.
Initial context:
The following conditions must be met prior to the initiation of this pattern.
1. Stake holders have been identied;
2. A mode of communication between stakeholders and the software team has been established;
3. The overriding software problem to be solved has been identied by stakeholders;
Chapter 4
4.1. Provide three examples of software projects that would be amenable to the
waterfall model. Be specific.
Step-by-step solution:
Step 1 of 4
Waterfall model is a sequential approach to software development that begins with customer speci_cation
requirements and progresses through planning, modeling, construction and deployment
The waterfall model is appropriate for projects with the following characteristics:
(1) The problem is well understood (requirements are well-de_ned);
(2) The delivery date is realistic;
(3) it's unlikely that major changes in requirements will be requested as the project proceeds
Step 2 of 4
Communication project initiation, requirements gathering
Planning Estimating, scheduling, tracking
Modeling Analysis and design
Construction code and test
Deployment delivery, support and feedback.
Example software project – (1) transaction Maintenance system (TMS)
(2) Us Department of defense
(3) NASA
Step 3 of 4
(1) Transaction Maintain once system
Phase 1. Preliminary investigation: Aim of this phase is not develop system but to
investigate the problem.
PRESSMAN BOOKS QUESTION SOLUTION
4.2. Provide three examples of software projects that would be amenable to the
prototyping model. Be specific.
Step-by-step solution:
Step 1 of 3
Software applications that are relatively easy to prototype almost always involve human-machine
interaction.
When the customer has a legitimate need but is clueless about the details then develop a prototype as a
_rst step.
A customer de_nes a set of general objectives. For these
applications that are amenable to prototyping are certain classes of mathematical algorithms, subset of
command
driven systems and other applications where results can be easily examined without real-time interaction.
4.3. What process adaptations are required if the prototype will evolve into a
delivery system or product?
Ans Step-by-step solution:
Step 1 of 3
Prototyping
Prototyping paradigm assists the developers and the stakeholders to better understand what to build when
the
requirements are fuzzy. Refer to _gure 4.4 from the text book.
4.4. Provide three examples of software projects that would be amenable to the
incremental model. Be specific.
Ans:
Step-by-step solution:
Step 1 of 3
Software projects for incremental model
Incremental model:
PRESSMAN BOOKS QUESTION SOLUTION
The incremental model delivers a series of releases, called increments that provide progressively more
functionality
for the customer as each increment is delivered.
The incremental model combines elements of waterfall model applied in an iterative fashion. Incremental
model
applies linear sequences in a staggered fashion as time progresses.
Incremental model is widely used to solve the problem of better integrating human factors into the system
engineering and acquisition process.
4.5. As you move outward along the spiral process flow, what can you say about the
software that is being developed or maintained?
Ans: As work moves outward on the spiral, the product moves toward a more complete state
and the level of abstraction at which work is performed is reduced (i.e., implementation specific
work accelerates as we move further from the origin).
Step-by-step solution:
Step 1 of 3
Combine Process Models
Yes, it is possible to combine the software process models.
Some possibilities to combine of software process models are given below,
1) Evolutionary process model.
2) Incremental process model.
3) The spiral model
4.7. The concurrent process model defines a set of “states.” Describe what these
states represent in your own words, and then indicate how they come into play
within the concurrent process model.
Concurrent modeling defi nes a series of events that will trigger transitions
from state to state for each of the software engineering activities, actions, or tasks.
For example, during early stages of design (a major software engineering action
that occurs during the modeling activity), an inconsistency in the requirements
model is uncovered. This generates the event analysis model correction , which
will trigger the requirements analysis action from the done state into the awaiting
changes state.
Concurrent modeling is applicable to all types of software development and
provides an accurate picture of the current state of a project. Rather than confi
ning software engineering activities, actions, and tasks to a sequence of events,
it defi nes a process network. Each activity, action, or task on the network exists
simultaneously with other activities, actions, or tasks. Events generated at one
point in the process network trigger transitions among the states associated with
each activity.
4.8. What are the advantages and disadvantages of developing software in which
quality is “good enough”? That is, what happens when we emphasize development
speed over product quality?
PRESSMAN BOOKS QUESTION SOLUTION
Ans:Step-by-step solution:
Step 1 of 3
The advantages of developing software in which quality is “good enough” are
• Completeness – All the requirements are re_ected in the software
• Conciseness – Compactness
• Reliability – No faulty outputs
• Improved user satisfaction.
• Reduced cost of maintenance
• Efficiency – Amount of computing resources and cost required by a program to perform a function.
• Consistency.
We have to compromise with the advantages of quality software, where speed is major constraint but the
speed
has its own pros and cons.
Advantages
4.10. It is possible to prove that a software component and even an entire program
is correct. So why doesn’t everyone do this?Ans:
Step-by-step solution:
Step 1 of 3
Yes, it is possible to prove that a software component and even an entire program is correct, but it takes
move time.
Though the entire program is tested as we say that there is no 100% successful test, the program may go
out of
reach some times. In order to make the entire program correct, we need to test the each & every possible
test case
but generally all the test cases may not be tested because some of the test cases may be unknown and the
lock of time factor and the lack of coordination between the developers and the customers.
4.11. Are the Unified Process and UML the same thing? Explain your answer.
Ans:
Step-by-step solution:
Step 1 of 3
Chapter 5
5.1. Reread the “Manifesto for Agile Software Development” at the beginning of this
chapter.
Can you think of a situation in which one or more of the four “values” could get a
software team into trouble?
Ans:
Step-by-step solution:
Step 1 of 2
Manifesto for agile software development:
PRESSMAN BOOKS QUESTION SOLUTION
Step 1 of 3
The word agility means “To do something very quickly”. Thus, agility in terms of
software development is to
develop a software which meets all the requirement speci_ed by the customer, and always
ready to accept the
changes required by the customer even in later phases.
121
Although, I have not had the chance to have to work with the agile process in my
current profession, I do believe I have a great understanding of it, in comparison to
other models. What sticks out to be the most is it's "flexibility" and it's abilities to
cater to the employers and not solely on the project ONLY. Meaning, people and
interactions are emphasized rather than process and tools. Customers, developers and
testers constantly interact with each other. Particularly in software projects, I think it's
imperative that there is an atmosphere that can adapt to change and have constant
improvement. Software is rapidly changing around us and everyday it's not only new
but continuous innovations with existing product. With that said, in order to "keep up
with the Jones's", implementing the agile model is the best practice to ensure "quality"
is maintained and there is a continuous delivery of software
Step-by-step solution:
Step 1 of 3
The software team manages change by focusing on a dened increment and postponing
any changes until the
next increment. All agile process models are iterative/incremental.
An iterative process make it easier to manage changes. Since each iteration is a mini –
project, the project team
addresses, to some extent, all the risks associated with the project as a whole each time it
builds an increment of
the system. As risks become greater, as delays occur, and as the environment become
more unstable. The team is
PRESSMAN BOOKS QUESTION SOLUTION
able to make necessary adjustments on a relatively small scale and propagate those
adjustments across the entire
project. An iterative process has greater exibility to change the plan. Hence it is easier
to manage the changes.
Step 1 of 3
Internet bookmarks are stored webpage locations that can be retrieved. The main purpose
is to easily catalog and
access web pages that a user has visited and choose to save. Saved links are called
“favorites”, and by virtue of the
browser’s large market share, the term favorite has been synonymous with bookmark
since the early days of widely
– distributed browsers. Bookmark are normally visible in a browser menu and stored on
the user’s computer and
commonly a metaphor is be used for organization.
Pair programming:
Chapter 8
8.1. Why is it that many software developers don’t pay enough attention to
requirements engineering? Are there ever
circumstances where you can skip it?
Step 1 of 2
Designing and building an elegant computer program that solves the wrong problem
server no one needs. That’s
why it is important to understand what the customer wants before beginning to design
and build a computer –
based system.
Step 2 of 2
But many software developers do not pay enough attention to requirements engineering,
because in developers
point of view –
• After all, doesn’t the customer know what is required ?
• Shouldn’t the end users have a good understanding of the features and functions that
will provide bene_t? The
view is not at all correct.
Requirement engineering helps software engineers to better understand the problem they
will work to solve. It
encompasses the set of tasks that lead to an understanding of what the business impact of
the software will be,
what the customer wants and how end – users will interact with software we cannot
directly skip requirement
engineering but v=can be given less importance if the software to be built is very
familiar.
8.2 .You have been given the responsibility to elicit requirements from a
customer who tells you he is too busy to meet with
you. What should you do?
PRESSMAN BOOKS QUESTION SOLUTION
Step 1 of 3
Just asking a stakeholder what their requirements are rarely works. It is said that the
customer is always right. In
fact the customer may be busy and normally far more urgent things to do rather than
speaking to someone in a
suit about requirements for a system that is not even due to be delivered.
The _rst thing to be sure of when eliciting requirements is that we have to get the
stakeholder into a state in which
they want to talk to us.
8.5. Let’s assume that you’ve convinced the customer (you’re a very good
salesperson) to agree to every demand that you
have as a developer. Does that make you a master negotiator? Why?
Step 1 of 3
Context-free questions are said to be the questions that are asked during the development
of a project or the
project which is under construction. These questions will be used to identify the positive
and negative sides of a
project. These questions will give the clarity for the development of the project.
8.8.Your instructor will divide the class into groups of four or six
students. Half of the group will play the role of the marketing
department and half will take on the role of software engineering.
Your job is to de_ne requirements for the SafeHome
security function described in this chapter. Conduct a requirements-
gathering meeting using the guidelines presented in this chapter
Step 1 of 3
Requirements gathering essentials:
• Fours and clarity
• Format for specifying requirements
• The author of requirements document
• The language of requirements
• Accuracy is critical
• Minimizing risk of errant interpretation
• Conclusion
use case.
• The situations that are identi_ed in exceptions are covered while re_ning the
preliminary use case.
• The use case must be complete and must deliver proper meaning to the user.
8..11. Write a user story for one of the activities listed in question 8.9.
8.12. Consider the use case you created in question 8.9, write a
nonfunctional requirement for the application.
Step 1 of 3
A software might not be useable if it does not satisfy its non-functional requirements
(NFR). They specify the
criteria for checking the operational quality of the system. They can be Performance,
Usability, Reliability, Software
Quality, Security and Safety Requirements.
For making a withdrawal at an ATM system application, the NFR can be:-
• A performance requirement can be that each bank should be able to process transactions
from several ATMs at
the same time.
• A safety requirement is that the temperature of the ATM center should be controlled to
prevent the machines
overheating.
• Security requirement are
o A security guards must be present at the ATM at all times.
o A camera should be installed inside the ATM to capture and stores the videos in the
ATM.
• A Quality requirement can be that the relevant communication with the ATM machine
should have a readable
font size.
8.13.Describe what an analysis pattern is in your own words.
8.14. Using the template presented in Section 8.5.2, suggest one or more analysis pattern
for the following application domains:
a. Accounting software.
b. E-mail software.
c. Internet browsers.
d. Word-processing software.
e. Website creation software.
f. An application domain speci_ed by your instructor.
PRESSMAN BOOKS QUESTION SOLUTION
Chapter 9
Step 1 of 1
The analysis model will serve as a basis for the design and coding. It is possible to begin
coding after objects,
attributes; relationships are analyzed in analysis phase however the design will suffer as a
result of explicit
architecture design will not have been considered. Interfaces will have been developed in
haphazard manner and
global data structure will not have been explicitly designed.
9.2. An analysis rule of thumb is that the model “should focus on requirements that are
visible within the problem or business
domain.” What types of requirements are not visible in these domains? Provide a few
examples.
Step 1 of 3
Thumb rule of Analysis
• The model should focus on requirements which are visible with in problem or business
domain.
• Abstraction levels are high in thumb rule
PRESSMAN BOOKS QUESTION SOLUTION
• New elements added in the analysis model should help in better understanding of the
software requirements of
the system.
• These elements provide better understanding of the functionality, behaviour and
information domain of the
system.
• Coupling should be minimized throughout the system
• The model should be simple
9.3. What is the purpose of domain analysis? How is it related to the concept of
requirements patterns?
Step 1 of 3
592-8-3P SA CODE: 4478
SR CODE: 4475
Domain analysis is an on-going software engineering activity that is not connected to any
one software project
Purpose of domain analysis:
The key to reusable software is captured in domain analysis in that it stresses the
reusability of analysis and design.
9.5.
PRESSMAN BOOKS QUESTION SOLUTION
The department of public works for a large city has decided to develop a Web-based
pothole tracking and repair system
(PHTRS). A description follows:
Citizens can log onto a website and report the location and severity of potholes. As
potholes are reported they are logged
within a “public works department repair system” and are assigned an identifying
number, stored by street address, size
(on a scale of 1 to 10), location (middle, curb, etc.), district (determined from street
address), and repair priority (determined
from the size of the pothole). Work order data are associated with each pothole and
include pothole location and size,
repair crew identifying number, number of people on crew, equipment assigned,
hours applied to repair, hole status (work
in progress, repaired, temporary repair, not repaired), amount of _ller material
used, and cost of repair (computed from
hours applied, number of people, material and equipment used). Finally, a damage
_le is created to hold information
about reported damage due to the pothole and includes citizen’s name, address,
phone number, type of damage, and
dollar amount of damage. PHTRS is an online system; all queries are to be made
interactively.
Draw a UML use case diagram PHTRS system. You’ll have to make a number of
assumptions about the manner in which a
user interacts with this system.
9.6. Write two or three use cases that describe the roles of various actors in the
PHTRS described in Problem 9.5.
Step 1 of 3
The department of public works for a city has decided to develop a web-based Pot Hole
Tracking and Repair
System (PHTRS).
To construct use case for the system _rst identify the actors in the system. For PHTRS,
actors can include:-
• Citizen
• PHTRS employees
• Contractor
• Repair Crew
Then, identify the functionalities to be identi_ed as use case in the system. For PHTRS,
functionalities can include:-
• Citizen reports pothole information like its severity and location.
PRESSMAN BOOKS QUESTION SOLUTION
• Log pothole information like identi_cation number, size, location, address, repair
priority in PHTRS.
• Issue work order with data like repair crew id number, repair crew size, equipment
assigned, hours worked,
status, cost or repair etc.
• Create a PHTRS damaged _le with information such as citizen name, phone number,
and address, type of
damage and cost of damage.
Chapter 10
10.1. You have been asked to build one of the following systems:
a. A network-based course registration system for your university.
b. A Web-based order-processing system for a computer store.
c. A simple invoicing system for a small business.
d. An Internet-based cookbook that is built into an electric range or
microwave. Select the system that is of interest to you
and develop a processing narrative. Then use the grammatical parsing
technique to identify candidate objects and
classes.
Step 1 of 2
PRESSMAN BOOKS QUESTION SOLUTION
PRESSMAN BOOKS QUESTION SOLUTION
PRESSMAN BOOKS QUESTION SOLUTION
PRESSMAN BOOKS QUESTION SOLUTION
10.2. Develop a set of operations that are used within the classes
identi_ed in Problem 10.1.
10.3. Develop a class model for the PHTRS system present in Problem
9.5.
10.6. Conduct a review of the CRC index cards with your colleagues.
How many additional classes, responsibilities, and
collaborators were added as a consequence of the review?
Chapter 11
PRESSMAN BOOKS QUESTION SOLUTION
11.1. There are two different types of “states” that behavioral models can
represent. What are they?
Step 1 of 1
4633-7-7P SA: 9420
SR: 6376
The two different types of “states” that behavioral models can represent are:
1. The state of each class as the system performs its function and
2. The state of the system as observed from the outside as the system performs its
function.
11.2. How does a sequence diagram differ from a state diagram? How are they
similar?
11.3. Suggest three requirements patterns for a modern mobile phone and
write a brief description of each. Could these
patterns be used for other devices? Provide an example.
11.4. Select one of the patterns you developed in Problem 11.3 and develop a
reasonably complete pattern description similar
in content and style to the one presented in Section 11.4.2.
Step 1 of 3
4633-7-12P SA: 9420
SR: 6376
The interaction model describes the manner in which users interact with the WebApp.
The purpose of the
interaction model for a WebApps is to enable a “conversation” between an end user and
application functionality,
content, and behavior.
This conversation can be described using an interaction model that can be composed of
one or more of the
following elements:
• Use cases
• Sequence diagrams
• State diagrams
• User interface prototypes
Chapter 12
12.1. Do you design software when you “write” a program? What makes
software design different from coding?
Step 1 of 1
Design software
No, writing a program is the different concept in design software. Design is the place
where software quality is
established. Before starting of design software, _rst requirements should be analyzed and
speci_ed.
In the software design process, design engineering is the one of the concept. While
beginning software,
PRESSMAN BOOKS QUESTION SOLUTION
requirements have been analyzed and modeled. This model can be accessed for quality
and improved before code
is generated.
In a software engineering context, _rst need to develop the models of program. Not the
program themselves.
Software design different from coding:
At _rst it is very clear that, design is not coding and coding is not design. It is
created from program
components.
Design is the description of the logic, which is used in solving the problem. Coding is the
language speci_cation
which is implementation of the design. It runs on the computer and, provides the
expected resul
testing.
• A design should be modular that is, it can be broken down into smaller sub systems.
• A design should lead to data structures, components, and interfaces that are appropriate
for classes and in turn
reduce the complexity of connection with the external environment.
• A design is derived using repeatable methods and should be represented using simple
notations which
communicates its meaning
12.4. Examine the task set presented for design. Where is quality
assessed within the task set? How is this accomplished? How
are the quality attributes discussed in Section 12.2.1 achieved?
Step 1 of 3
4633-8-4P SA: 4475
SR: 6376
Generic task set for design:
1. Examine information domain model and design appropriate data structures for data
objects and their attributes
2. Select an architectural pattern appropriate to the software based on the analysis model
3. Partition the analysis model into design subsystems and allocate these subsystems
within the architecture
4. Create a set of design classes or components
5. Design any interface required with external systems or devices
6. Design the user interface
7. Conduct component level design
8. Develop a deployment model
Lights,
Weight,
Opening / Close mechanisms
Step 1 of 3
To accomplish this, implement all the task performed by the software in a single module.
Step 1 of 3
592-9-10P SA Code: 4478
SR Code: 4578
PRESSMAN BOOKS QUESTION SOLUTION
12.11. How are the concepts of coupling and software portability related?
Provide examples to support your discussion.
Step 1 of 3
592-9-12P SA Code: 4478
SR Code: 4578
12.14. Does “refactoring” mean that you modify the entire design
iteratively? If not, what does it mean?
12.15. Discuss what the dependency inversion principle is in your own words.
12.17. Briefly describe each of the four elements of the design model
Step 1 of 3
4633-8-15P SA: 9420
PRESSMAN BOOKS QUESTION SOLUTION
SR: 6376
The design model has four major elements:
1. Data design elements
2. Architectural design elements
3. Interface design elements
4. Component level design elements
Chapter 19
19.1 Describe how you would assess the quality of a
university before applying to it. What factors would be
important? Which would be critical?
Ans:
Step 1 of 1
4633-14-1P SA: 9420
SR: 6376
The quality can be assessed by observing various aspects. The important factors to be
observed are:
1. Standards: The standards that the university is maintaining and whether it is following
all the applicable
standards or not.
2. Recognition: How good the university is certi_ed by the government and recognition
it has.
3. Quality of teaching: How good the teaching is? And how the results are obtained?
4. Infrastructure: Check whether a good and supportive environment is present for
students to concentrate well on
studies or not.
5. Behavior and Discipline: Is the management well concerned about teaching well
disciplined activities and
behavior and also making the students to implement them.
Of all the factors the most critical are the standards and the quality of teaching and
knowledge being provided.
PRESSMAN BOOKS QUESTION SOLUTION
Step 1 of 3
McCall’s quality factors are
• Correctness
• Reliability
• Efficiency
• Integrity
• Usability
• Maintainability
• Flexibility
• Portability
• Reusability
• Interoperability
Step 1 of 3
The sub-attributes of the quality factor maintainability are:
• Analyzability
• Changeability
• Stability
• Testability
If one spends in_nite time, extremely large effort, and huge sums of money to build the
absolutely perfect piece of
software, then it will take so long time to complete and it will be so expensive. And also,
they will be out of
business. Either ignores the market window, or simply exhausts all the resources.
Chapter 21
21.1. Some people say that “variation control is the heart of quality control.”
Since every program that is created is different from
every other program, what are the variations that we look for and how do we
control them?
Step 1 of 1
4633-16-1P SA: 9420
SR: 6376
A program is equal to data structure plus algorithm. Generally, different programmers
will design a program in a
different way. Logic of one person varies from the other as per their own thinking.
Coding of one programmer will
be different from others in solving the same problem.
So, we can expect variations in the design and coding of the data structure and the
algorithm of a program by
different individuals. Also the programming language chosen by each may vary. Hence
we can look for the
variations also in the syntax, logic, complexity, readability.
We can control the variations by checking the types and levels of complexity that can be
used in the design of the
data structures and the algorithms of a program.
21.3. Quality and reliability are related concepts but are fundamentally
different in a number of ways. Discuss the differences.
21.5. Can a program be correct and still not exhibit good quality? Explain.
21.6. Why is there often tension between a software engineering group and an
independent software quality assurance group?
Is this healthy?
21.7. You have been given the responsibility for improving the quality of
software across your organization. What is the _rst
thing that you should do? What’s next?
21.8. Besides counting errors and defects, are there other countable
characteristics of software that imply quality? What are
they and can they be measured directly?
21.9. The MTBF concept for software is open to criticism. Explain why.
Step 1 of 3
To build safety – critical systems, instead of simply trying to get software correct and
assuming that will ensure.
System safety, attention is focused on eliminating or controlling the software behaviors.
1. The software requirements are complete and specify only safe behaviors.
2. The entire software development and maintenance process eliminates (or) reduces the
possibility of the unsafe
behavior.
PRESSMAN BOOKS QUESTION SOLUTION