Work on the following problems of the following textbook.
Text Book: Introduction to Software Engineering Design: Processes, Principles, and Patterns with UML2 by Christopher Fox
Page 29 (problems 10, and 15)
Section 1.2 10. Classify each of the following tasks as a software product design
activity, a software engineering design activity, or possibly both,
depending on the circumstances:
(a) Determining the layout of buttons; labels, text boxes, and so forth
in a window
(b) Brainstorming the classes in an application
(c) Choosing colors for a window
(d) Wording error messages
(e) Deciding whether a product should have a client-server architecture
(f) Deciding whether a program should be a stand-alone application or
a Web services
(g) Choosing the data structure for a list
(h) Determining the reliability that a product should have
(i) Determining the sequence of processing in a program
(j) Specifying the states that a program may be in, and how it changes
state in response to inputs
15. Can you tell by looking at a single specification statement in isolation
whether it is a requirement or (engineering) design specification? How,
or why not?
Pages 64-65 (problems 9, 13 and 14)
Problem 9. Draw an activity dlagm modeling the process you went through to
apply for college. Your diagram should have concurrent flows. –
Problem 13. List two heuristics in addition to those listed in the text that you think
would make activity diagrams easier to read or write.
Problem 14. Categorize each of the following activities as part of software product
design analysis (PA), software product design resolution (PR), software
engineering design analysis (EA), or software engineering design
(a) Choosing data structures and algorithms
(b) Laying out the contents of a window in a user interface
(c) Asking dents what they need in a new program
(d) Deciding which class should have a certain method
(e) Reviewing an SRS to make sure it is complete
(f) Reading an SRS to understand how a feature should work
(g) Readlng an SRS to ensure all requirements are accounted for in a
(h) Deciding whch features should go in each of several releases of a
See Figure 2-1-13 (Page 46) Activity Diagram Heuristics
Heuristics Figure 2-1-13 summarizes the activity diagram heuristics discussed in this section.
Flow control and objects down the page and from left to right.
Name activities and action nodes with verb phrases.
Name object nodes and pins with noun phrases.
o Don’t use both control and data flows when a data flow alone can do
0 Make sure that all flows entering an action node can provide tokens
Use the [else] guard at every branch.
Figure 2-1-13 Activity Diagram Heuristics
Section 1.2(Page 29)
(a) Software Product design Activity
(b) Software Engineering design Activity
(c) Software Product design Activity
(d) Software Product design Activity
(e) Possibly Both (Software Product design Activity, Software Engineering design Activity)
(f) Possibly Both (Software Product design Activity, Software Engineering design Activity)
(g) Software Engineering design Activity
(h) Software Product design Activity
(i) Possibly Both (Software Product design Activity, Software Engineering design Activity)
(j) Possibly Both (Software Product design Activity, Software Engineering design Activity)
Any statement could appear in either a requirement specification or design specification because given a specification, a scenario can be constructed in which it expresses a client need, or a scenario can be constructed in which it states an engineering design perspective. In practice, however, most statements about a product’s features/capabilities are requirement specifications, and most statements about the inner structure and workings of products are design specifications.
Two heuristics in addition to those listed in the text that would make activity diagram easier to read and write are:
- Try not to cross edges.
- Use mainly horizontal and vertical edges.
(NOTE: software product design analysis (PA), software product design resolution (PR), software engineering design analysis (EA), or software engineering design resolution (ER))
Looking for best Computer Science Assignment Help. Whatsapp us at +16469488918 or chat with our chat representative showing on lower right corner or order from here. You can also take help from our Live Assignment helper for any exam or live assignment related assistance.