New Semester
Started
Get
50% OFF
Study Help!
--h --m --s
Claim Now
Question Answers
Textbooks
Find textbooks, questions and answers
Oops, something went wrong!
Change your search query and then try again
S
Books
FREE
Study Help
Expert Questions
Accounting
General Management
Mathematics
Finance
Organizational Behaviour
Law
Physics
Operating System
Management Leadership
Sociology
Programming
Marketing
Database
Computer Network
Economics
Textbooks Solutions
Accounting
Managerial Accounting
Management Leadership
Cost Accounting
Statistics
Business Law
Corporate Finance
Finance
Economics
Auditing
Tutors
Online Tutors
Find a Tutor
Hire a Tutor
Become a Tutor
AI Tutor
AI Study Planner
NEW
Sell Books
Search
Search
Sign In
Register
study help
computer science
introduction to software engineering
Software Engineering A Practitioner's Approach 7th Edition Roger Pressman - Solutions
7. Refine user scenarios based on stakeholder feedback.
8. Build a revised list of stakeholder requirements.
9. Use quality function deployment techniques to prioritize requirements.
10. Package requirements so that they can be delivered incrementally.
11. Note constraints and restrictions that will be placed on the system.
12. Discuss methods for validating the system.
1. Available component-based products are researched and evaluated for the application domain in question.
2. Component integration issues are considered.
3. A software architecture is designed to accommodate the components.
4. Components are integrated into the architecture.
5. Comprehensive testing is conducted to ensure proper functionality.
Build self-directed teams that plan and track their work, establish goals, and own their processes and plans. These can be pure software teams or integrated product teams (IPTs) of 3 to about 20 engineers.
Show managers how to coach and motivate their teams and how to help them sustain peak performance.
Accelerate software process improvement by making CMM23 Level 5 behavior normal and expected.
Provide improvement guidance to high-maturity organizations.
Facilitate university teaching of industrial-grade team skills.
2.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 (a) designers should ask users, (b) users should ask
2.2. Try to develop a set of actions for the communication activity. Select one action and define a task set for it.
2.3. 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
2.4. Do some research on PSP and present a brief presentation that describes the types of measurements that an individual software engineer is asked to make and how those measurement can be used to improve personal effectiveness.
2.5. The use of “scripts” (a required mechanism in TSP) is not universally praised within the software community. Make a list of pros and cons regarding scripts and suggest at least two situations in which they would be useful and another two situations where they might provide less benefit.
2.6. Read [Nog00] and write a two- or three-page paper that discusses the impact of “chaos”on software engineering.
2.7. Provide three examples of software projects that would be amenable to the waterfall model. Be specific.
2.8. Provide three examples of software projects that would be amenable to the prototyping model. Be specific.
2.9. What process adaptations are required if the prototype will evolve into a deliverable system or product?
2.10. Provide three examples of software projects that would be amenable to the incremental model. Be specific.
2.11. As you move outward along the spiral process flow, what can you say about the software that is being developed or maintained?
2.12. Is it possible to combine process models? If so, provide an example.
2.13. 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.
2.14. 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?
2.15. Provide three examples of software projects that would be amenable to the componentbased model. Be specific.
2.16. It is possible to prove that a software component and even an entire program is correct.So why doesn’t everyone do this?
2.17. Are the Unified Process and UML the same thing? Explain your answer?How do I ensure that I’ve done it right?
1. It is difficult to predict in advance which software requirements will persist and which will change. It is equally difficult to predict how customer priorities will change as the project proceeds.
2. For many types of software, design and construction are interleaved. That is, both activities should be performed in tandem so that design models are proven as they are created. It is difficult to predict how much design is necessary before construction is used to prove the design.
3. Analysis, design, construction, and testing are not as predictable (from a planning point of view) as we might like.
1. Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer’s competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
7. Working software is the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10. Simplicity—the art of maximizing the amount of work not done—is essential.
11. The best architectures, requirements, and designs emerge from self–organizing teams.
12. At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
What did you do since the last team meeting?
What obstacles are you encountering?
What do you plan to accomplish by the next team meeting?
3.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?
3.2. Describe agility (for software projects) in your own words.
3.3. Why does an iterative process make it easier to manage change? Is every agile process discussed in this chapter iterative? Is it possible to complete a project in just one iteration and still be agile? Explain your answers.
3.4. Could each of the agile processes be described using the generic framework activities noted in Chapter 2? Build a table that maps the generic activities into the activities defined for each agile process.
3.5. Try to come up with one more “agility principle” that would help a software engineering team become even more maneuverable.
3.6. Select one agility principle noted in Section 3.3.1 and try to determine whether each of the process models presented in this chapter exhibits the principle. [Note: I have presented an overview of these process models only, so it may not be possible to determine whether a principle has been
3.7. Why do requirements change so much? After all, don’t people know what they want?
3.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
3.9. Write an XP user story that describes the “favorite places” or “bookmarks” feature available on most Web browsers.
3.10. What is a spike solution in XP?
3.11. Describe the XP concepts of refactoring and pair programming in your own words.
3.12. Do a bit more reading and describe what a time-box is. How does this assist an ASD team in delivering software increments in a short time period?
3.13. Do the 80 percent rule in DSDM and the time-boxing approach defined for ASD achieve the same result?
3.14. Using the process pattern template presented in Chapter 2, develop a process pattern for any one of the Scrum patterns presented in Section 3.5.2.
3.15. Why is Crystal called a family of agile methods?
3.16. Using the FDD feature template described in Section 3.5.5, define a feature set for a Web browser. Now develop a set of features for the feature set.
3.17. Visit the Official Agile Modeling Site and make a complete list of all core and supplementary AM principles.
3.18. The tool set proposed in Section 3.6 supports many of the “soft” aspects of agile methods. Since communication is so important, recommend an actual tool set that might be used to enhance communication among stakeholders on an agile team.
What concepts and principles guide software engineering practice?
What is requirements engineering and what are the underlying concepts that lead to good requirements analysis?
How is the requirements model created and what are its elements?
What are the elements of a good design?
How does architectural design establish a framework for all other design actions and what models are used?
How do we design high-quality software components?
What concepts, models, and methods are applied as a user interface is designed?
What is pattern-based design?
What specialized strategies and methods are used to design WebApps?
Understand of the problem you’re trying to solve.
Understand basic design principles and concepts.
Pick a programming language that meets the needs of the software to be built and the environment in which it will operate.
Select a programming environment that provides tools that will make your work easier.
Create a set of unit tests that will be applied once the component you code is completed.
Constrain your algorithms by following structured programming [Boh00]practice.
Consider the use of pair programming.
Select data structures that will meet the needs of the design.
Understand the software architecture and create interfaces that are consistent with it.
Keep conditional logic as simple as possible.
Create nested loops in a way that makes them easily testable.
Select meaningful variable names and follow other local coding standards.
4.1. Since a focus on quality demands resources and time, is it possible to be agile and still maintain a quality focus?
4.2. Of the eight core principles that guide process (discussed in Section 4.2.1), which do you believe is most important?
4.3. Describe the concept of separation of concerns in your own words.
4.4. An important communication principle states “prepare before you communicate.” How should this preparation manifest itself in the early work that you do? What work products might result as a consequence of early preparation?
4.5. Do some research on “facilitation” for the communication activity (use the references provided or others) and prepare a set of guidelines that focus solely on facilitation.
4.6. How does agile communication differ from traditional software engineering communication? How is it similar?
4.7. Why is it necessary to “move on”?
4.8. Do some research on “negotiation” for the communication activity and prepare a set of guidelines that focus solely on negotiation.
4.9. Describe what granularity means in the context of a project schedule.
4.10. Why are models important in software engineering work? Are they always necessary?Are there qualifiers to your answer about necessity?
Showing 1200 - 1300
of 1534
First
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Step by Step Answers