Classnotes 6 - focusconsulting.ws

advertisement
Software Engineering
Fall Term 2015
Marymount University
School of Business
Administration
Professor Suydam
Week 6
1
Quiz 2 Review
Mini-Project 2 Planning
Chapter 7 Design: Architecture & Methodology
2
Essentials of Software Engineering Chapters 4-6
UML Distilled Chapter 9
3
4
5
6
7
8
9
10
11
12
VTC Preparation for Week 6
Suggestion: Use Quicktime video player
13
CS3/MP3 Preparation
14
15
Search:
Gane-Sarson
Frame
Title Blocks
16
Crow’s Foot Database Notation
17
18
1. Explain the role of requirements in architectural design. Explain the role of requirements in detail
design.
Ans: The role of requirements in architectural design can be described as:
a transformational step where the requirements are the input and become the reasons for how the
software is to be structured; the requirements influence the architecture choice for the system and/or
the high level requirements posed as software elements require interaction, which is defined in the
architectural design of the system.
The role of requirements in detail design is more direct than in architectural design. There is a one-to-one
mapping between each functional requirement and a module in detail design.
Page: 130-131
2. What does aggregation mean in OO? Give an example.
Ans: Aggregation is a “part-of” association. For example, student is a part of a class.
Page: 149
3. When we employ the technique of generalization in design, what are we doing, and which part of OO
design is closely related to this concept?
Ans: Generalization is an abstraction where we keep only the essentials and suppress the details. In OO, in
moving from specific objects to a general class definition is an example of generalization.
Page: 150
19
4. List two differences between the state transition diagram and the sequence diagram.
Ans: State diagram shows the states of the objects and how those states change. Sequence diagram only
shows the message interactions among the objects.
Page: 150-152 and Appendix C page 311
5. Mention and describe three different views used in architectural design.
Ans: Architectural design is a high level view of the system. It can be described with:
logical view : represents the decomposition of a system and how those parts work with each other
physical architectural view: represents the mapping of the software to the hardware
process view: represents the run-time “processes” and flow of the system.
Page: 133-139
6. What is the difference between data modeling and logical data base design?
Ans: In data modeling we are constructing and showing the Entity-Relationship among the objects. In logical
data base design, the E-R diagram is converted to the sets of tables and relationships among the tables.
Page: 142-143
20
7. Describe the difference between low fidelity and high fidelity prototyping in the design of the
interface. Choose one and give the reasons why you would show the client this prototype.
Ans: Low fidelity prototypes are quick hand drawn screens using markers, post-it notes, post cards,
and/or cut out images to represent the screens of the system. They can be simple mockup sketch of
the target product, as seen in page 153, Figure 7.22. High fidelity prototypes are screens created
using a tool to design the screens. These screens look and mimic the behavior of the future screens of
the system. An example of a tool is visual basic with the use of hide and show. High fidelity
prototyping is the activity of creating detailed mockup screens resembling and behaving close to the
final product.
Choice: Low fidelity prototyping activity is used during early stages of the system development to
validate with the client/user the correctness of understanding of the system. Low fidelity prototypes
can be drawn quickly to present and obtain approval from the client or user of the system.
Choice: High fidelity prototype would be shown to the client/user of the system during the detail
designing activity. The high fidelity prototype would show the look and feel of the proposed interface
and the functional behavior of the system to the client/user at a time where changes can be
incorporated.
Page: 152-153
21
8. Explain the three columns in Figure 7.26 called User, Screen Output and Process with regard to design.
Ans: First column – User: This column shows the user’s interaction with the system The user “aStudent” sees
the system’s display “Registration” and using the drop box “All Courses” object, they select a course and click
the button “Add Course”. The last interaction is the response from the system with the new screen
“Registration” with a course added “SWE 2313 Intro to Software Engineering”.
Second column – Screen Output: This column shows the two screens displayed by the system in this interaction.
The second screen is the reaction to the user’s usage of the drop box (a scrollable list of the available courses
with the user selecting in this case “SWE 2313 Intro to Software Engineering”). The screen shows the course
selected with new functions: Delete course, Add another course, and Confirm Schedule.
Third column – Process: The inner system process is shown as a sequence diagram. The user’s input would
trigger the RegistrationGUI object to pass the registration information to the aSection object. This aSection
object needs to check if the student has the prerequisites for the course. If the boolean returned is True then
the message Add(aStudent) is sent to students object. Note: another sequence diagram would represent
Boolean = False.
Page: 156
22
9. Choose one of the cognitive models and explain how the model impacts the design of the user
interface.
Ans: Norman’s cognitive model impacts the design of the user interface to be more “intuitive”. The
user has a mental model of the task. This mental model is the user’s common thought process
(cognition-thinking). Design of an interface that looks and gives feedback resembling the common
thought process of the user is an “intuitive” user interface.
GOMS model promotes consideration of many basic Operators and Methods to achieve the user’s
goals in the design of the user interface.
Page: 156
10. Visit a web site that is from a different country or culture. Give an example of a multicultural
issue you found in the site. Explain how you would propose to redesign to take into consideration the
issue found.
Ans: Variety of web sites with URL that may be different from the common practices (.com .org .edu).
The multicultural issues will include localized versions of language, colors, icons, and expression.
Page: 157
23
Download