Académique Documents
Professionnel Documents
Culture Documents
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.
PRESSMAN BOOKS QUESTION SOLUTION
developed system, it has to undergo the refinement. There fore if take so long to
get software finished.
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.
PRESSMAN BOOKS QUESTION SOLUTION
• 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:
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
PRESSMAN BOOKS QUESTION SOLUTION
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.
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:
PRESSMAN BOOKS QUESTION 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
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
Step 4 of 4
(d) Users ask themselves.
1. How quickly developer understand my requirements?
2. Do I have budget to build it correctly?
3. Do I have the human resources to effectively maintain this functionality?
4. Does adding this functionality help me achieve my goals?
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.
Difference between the various process flows are described in section 3.1 are given in table
below:-
PRESSMAN BOOKS QUESTION SOLUTION
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.
Note constraints and restrictions on the system.
Discuss methods for validating system.
3.4. A common problem during communication occurs when you encounter two
stakeholders who have conflicting ideas about what the software should be. That is,
you have mutually conflicting requirements. Develop a process pattern (this would
be a stage pattern) using the template presented in Section 3.4 that addresses this
problem and suggest an effective approach to it.
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
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.
PRESSMAN BOOKS QUESTION SOLUTION
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:
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
PRESSMAN BOOKS QUESTION SOLUTION
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?
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
· Intensity of work increases -as more problems are solved more is expected of workers.
· Can be introduced for incorrect reasons ie. attitude change.
· Management needs to be fully committed to quality systems -if solutions not implemented can
be frustrating for participants.
· Can have a negative effect on industrial relations.
· Can focus on mundane problems.
4.9. Provide three examples of software projects that would be amenable to the
component-based model. Be specific.
Ans:
Step-by-step solution:
Step 1 of 3
Commercial off – the shelf software components, developed by vendors who offer them as
products , can be used
when software is to be built. These components provide targeted functionality with well de_ned
interfaces that
enable the component to be integrated into the software.
Regardless of the technology that is used to create the components, the component – based
development model
incorporates the following steps.
• Available component – based products are researched
• Component integration issuers are considered
• Comprehensive testing is conducted to ensure proper functionality.
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
and incremental software development process which should be customized for specific
organization or project.
Unified Modeling Language (UML):
UML is a standardized general – purpose modeling language in the field of software
engineering. It is a modeling
notation and language consists of a technology which supports the object-oriented (and
conventional) software
engineering practice.
And also, UML is a graphical language for visualizing, specifying, and constructing the artifacts
of software –
intensive system
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:
Better ways of developing software are as follows:
1. Individuals and Interactions over Processes and Tools:
It is the _rst value proposition of the manifesto. In this tool should be used for capturing
requirements, version
control, project planning, editing, _le transfer, etc. Here the process can get in the way, and it is
more important to
get to the point which is using the interaction over process and will get you much better results.
2. Working Software over Comprehensive Documentation:
This tells about the importance of documentation, which is often lacking in projects and can
cause problems.
It is not important, but, when it comes down to a choice between _nishing a project with a
working outcome. It is
really important to the client.
3. Customer Collaboration over Contract Negotiation:
The purpose of contract negotiation is to ensure that responsibilities and deliverables are clear,
as well as providing
a framework for resolving issues should they arise. Relationship with the client are able to
resolve things amicably,
a contract is more like an insurance policy should things go wrong.
4. Responding to Change over Following a Plan:
The purpose of the plan is to know what you are deviating from when you have to make a
change. Change is
inevitable, there's no point in _ghting it.
Creating the initial project plan is an important process to capture all the tasks required, the
ideal order in which
they should be done, and most importantly, to identify dependencies. However, the initial project
plan and how
PRESSMAN BOOKS QUESTION SOLUTION
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
PRESSMAN BOOKS QUESTION SOLUTION
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
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.
• Deployment.
Ans:
5.8. Most agile process models recommend face-to-face
communication. Yet today, members of a software team
and their customers may be geographically separated
from one another. Do you think this implies that
geographical separation is something to avoid? Can you
think of ways to overcome this problem?
Ans:
Most agile process models recommend face-‐to-‐face communication. Yet today,
members of a software team and their customers may be geographically separated
from one another in that case Communication is the key, the consumer and developer
should constantly be communicating even if they are geographically separated, they
can webtalk or talk over the phone every now and then or write emails, use chatting as
the, means or a medium of conference call communication where 2 and more people
can talk to each other at the same time.
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.
Step 1 of 3
Extreme Programming (XP):
• Extreme programming (XP) is a popular agile software development
methodology used to implement the
software project.
• XP uses an object-oriented approach as its preferred development paradigm.
• XP encompasses a set of rules and practices that occur within the context of
framework activities.
Pair programming:
Step 1 of 3
Process pattern template for scrum pattern “communicate Early”
Problem: What is the goal of a project and who are members of a team?
Context: Use of scrum in a distributed project (faster, cheaper and quality
projects)
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
PRESSMAN BOOKS QUESTION SOLUTION
The following are the problems that occur when requirements must be elicited
from three or four different
customers.
• The requirements of the customer cannot be understood easily. The customer’s
requirements will change over
time such that a customer with a set of requirements at one time can include
another set of requirements
afterward.
• It is very difficult to understand the requirements of the customers.
• The customers will have a wide range of expectations such that it may lead to
disappointments at most of the
time.
• The customers will change their requirements rapidly.
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
8..11. Write a user story for one of the activities listed in question 8.9.
PRESSMAN BOOKS QUESTION SOLUTION
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.
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
• 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
PRESSMAN BOOKS QUESTION SOLUTION
9.5.
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
PRESSMAN BOOKS QUESTION SOLUTION
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.
• 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
PRESSMAN BOOKS QUESTION SOLUTION
Scenario:
1. The user clicks on 'Report Pothole' in the web site.
2. The web site displays a form to _ll in following information: location on street,
severity, and address of Pothole.
3. The user _lls his/her information into the _elds, and if s/he needs to mention
damages.
4. The user Clicks on ‘Next’ button.
5. Site asks user for information about Type of damage done and cost if s/he
choose damages in last section.
6. The user _lls out all this information.
7. The user clicks on ‘Submit’ button.
8. The application stores all the information that Citizen entered in a database.
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
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.
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.
PRESSMAN BOOKS QUESTION SOLUTION
In the software design process, design engineering is the one of the concept.
While beginning software,
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
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
Type
Swing direction,
Manufacturer,
Insets,
Lights,
Weight,
Opening / Close mechanisms
Step 1 of 3
To accomplish this, implement all the task performed by the software in a single
module.
PRESSMAN BOOKS QUESTION SOLUTION
Step 1 of 3
592-9-10P SA Code: 4478
SR Code: 4578
Step 1 of 3
592-9-12P SA Code: 4478
SR Code: 4578
12.17. Briefly describe each of the four elements of the design model
Step 1 of 3
4633-8-15P SA: 9420
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.
PRESSMAN BOOKS QUESTION SOLUTION
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.
1. Does the software contain main operating features such as power, clarity,
speed etc.?
2. Does the software requirements are easy to assess by the user?
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
PRESSMAN BOOKS QUESTION SOLUTION
• Changeability
• Stability
• Testability
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.
PRESSMAN BOOKS QUESTION SOLUTION
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?
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.