P4L5 Design Principles
.pdf
keyboard_arrow_up
School
Georgia Institute Of Technology *
*We aren’t endorsed by this school
Course
6310
Subject
Computer Science
Date
Oct 30, 2023
Type
Pages
14
Uploaded by SuperElkMaster712
Design
Guidelines
e
Design
CAN'T
resly
be
taught,
but
has
to
be
learned
through
experience
o
Offered
severa
ways
to
learn
from
the
experience
of
others
l
e
Design
principles
are
informal
guidelines
Design
Quality
»
One
of
severa
ways
of
gauging
the
quality
of
designs
e
Utimate
validation
of
design
is
to
build
the
program
and
have
its
users
report
their
satisfaction
o
Can
buld
8
prototype
or
conduct
design
reviews
e
Various
metrics
can
compute
actudl
numbers
assessing
the
quality
\
«
Least
expensive
but
conceivably
most
valuable
Design
Guidelines
Coupling
e
also
caled
8
design
principle
or
design
heuristics
»
Extent
to
which
3
module
is
dependent
on
other
modules
*
an
ipformal
piece
of
e
Coupling
of
your
advice
about
the
.
modules
should
be
low
in
structure
of
8
design
order
to
make
it
easier
to
maintain
them
o
téke
the
form
of
*
invented
by
Larry
k
do's
and
don'ts
Constantine
Cohesion
Orthogonality
.
o
Extent
to
which
the
features
of
a
o
Extent
to
which
8
module
has
8
system
can
be
varied
independently
single
purpose
i
gie
purp
e
Enhance
the
orthogonality
of
your
system
in
order
to
«
Cohesion
shoud
be
high
g:/aa'fgblfgotrg
i?Spfli‘cgr;?s
in
order
to
enhance
understandability
and
o
Clarifies
system
promote
reuse
descriptions
and
support
automatic
generation
e
Developed
by
David
l
e
Invented
b.y
Larry
McGovern
and
Christopher
Constantine
Date
e
also
caled
encapsulation
o
Extent
to
which
the
implementation
details
of
a
system
are
encapsulated
behind
abstract
interfaces
e
Use
of
inheritance
can
Information
Hiding
Catalog
e
Give
the
principle's
name,
author,
definition
and
implications
of
its
use
violate
information
hiding
e
Only
guidelines
and
not
e
developed
by
David
Parnas
hard-and-fast
rules
Place
the
letter
indicating
the
described
design
principle
into
the
text
box
next
to
the
situation
describing
it:
A.
Coupling
B.
Cohesion
C.
Orthogonality
D.
Information
hiding
B
C
D
A
Improves
reusability
Enables
maximum
variability
Raises
the
level
of
adbstraction
Requires
more
code
reading
Catalog
e
Give
the
principle's
name,
author,
definition
and
implications
of
its
use
e
Only
guidelines
and
not
hard-and-fast
rules
Liskov
Substitution
Principle
e
Barbara
Liskov
e
Subclass
instances
should
satisfy
.
parent-class
constraints
e
Implies
that
child
class
instances
should
obey
parent
class
invariants
\
and
method
contracts
Law
of
Demeter
e
Karl
Lieberherr
e
Suggests
limits
on
the
classes
that
can
be
referred
to
by
8
given
method
o
Limits
the
objects
that
can
be
referred
to
e
Reduces
coupling,
but
sometimes
requires
extra
wrapper
classes
Hollywood
Principle
e
Donald
Wallace
o
Frameworks
consist
of
a
set
of
abstract
classes
together
with
rules
for
the
ways
that
therr
concrete
subclasses
may
interact
»
Suggests
that
calls
should
be
made
from
the
framework
to
the
client
classes
e
also
caled
inversion
of
control
\
«
"Don't
cal
us;
we'l
cal
you"
Your preview ends here
Eager to read complete document? Join bartleby learn and gain access to the full version
- Access to all documents
- Unlimited textbook solutions
- 24/7 expert homework help
Related Questions
Facts:
Successful projects are managed well. To manage a project efficiently, the manager or development team must choose the software development methodology that will work best for the project at hand. All methodologies have different strengths and weaknesses and exist for different reasons. Here’s an overview of the most commonly used software development methodologies and why different methodologies exist. -Synopsys (Links to an external site.
Question:
Which methodology you're most likely interested to use and why?
arrow_forward
- no hand writing
- only unique answers
- to students: DO NOT COPY THE ANSWER | YOU'LL GET ZERO POINTS
Q: What is the purpose of system engineering? How to achieve performance improvement by using system engineering? What is the benefit of using modeling and simulation in system engineering?
arrow_forward
Software engineering
This requirement has a clarity problem; rewrite it to be better.
"The communication app will verify that a student is in the professor’s class by making a POST request to Coursebook to check that information."
arrow_forward
Facts:
Software design is the process of defining software methods, functions, objects, and the overall structure and interaction of your code so that the resulting functionality will satisfy your user's
requirements. There are many different ways of designing software, almost all of which involve coming up with an initial design and refining it as necessary. Different developers prefer different
amounts of design upfront or during the implementation phase. Generally, the overall design should be well thought out and reviewed before coding starts. Refer to our section on Design
reviews to learn how to review your design. It is easier to try out different designs upfront and discover problems early in the development cycle than to make a major design change after much
of the code has been written.
Your software design should include a description of the overall architecture. This should include the hardware, databases, and third-party frameworks your software will use or interact with.…
arrow_forward
Analysis and design are comparable: Designs concentrate on the ultimate outcome, whereas analyses include individuals.
arrow_forward
Software design covers a wide range of activities.
How do designers fulfill their duties?
When there is a problem, how can software design be used to fix it?
arrow_forward
Software engineering is a field of engineering which is concerned with all aspects of software production. Softwareengineering is the “application of a systematic, disciplined, quantifiable approach to the design, development, operation,and maintenance of software. Software engineers are people who are trained and skilled in the optimal use of softwareengineering practices to produce high quality software. Software engineers, therefore, are not just computer programmers;they may be programmers, but they also have a thorough understanding of the principles of software engineering, and thecomplete life-cycle activities of a software development project, such as software specification, software development,software validation, and software evolution. In your role as a software engineer, you will have to advise the development team on various software engineering aspects.
1. Elaborate on any five types of applications for development.
arrow_forward
Software engineering is a field of engineering which is concerned with all aspects of software production. Softwareengineering is the “application of a systematic, disciplined, quantifiable approach to the design, development, operation,and maintenance of software. Software engineers are people who are trained and skilled in the optimal use of softwareengineering practices to produce high quality software. Software engineers, therefore, are not just computer programmers;they may be programmers, but they also have a thorough understanding of the principles of software engineering, and thecomplete life-cycle activities of a software development project, such as software specification, software development,software validation, and software evolution. In your role as a software engineer, you will have to advise the development team on various software engineering aspects.
1. Explain in detail the importance of software engineering to the software development team and Elaborate on any five…
arrow_forward
Computer Science
A problem with using a production system to control robots is the Qualification Problem – trying to predict all of the things in the environment that can prevent the robot from successfully completing the task and developing actions the robot can execute in order to complete the task. A friend of mine used to maintain the robots for the paintshop at GM. One of their problems was making sure the robots were all using the same colour of paint on the car. The paint was manually loaded into reservoirs by humans and occasionally the wrong colour paint was loaded (by mistake or on purpose). Sometimes the vehicles came off the production line as car of many colours.
a. Excluding the loading of the wrong colour mentioned above, what are five external events that could cause these robots to stop their task or do the task incorrectly? Is it possible for the robot to solve each problem without human intervention? If so, how? - if not, why not?
b. People used to do this job.…
arrow_forward
Subject: Software Engineering
The objective of a warning system is that it must sound a warning signal if it is approaching an object. The warning system interfaces with a computer vision system which is designed to detect all objects in its field of view, even in extremely low-light conditions. It can identify millions of types of objects, detect the exact location of each object, and interpret each object’s movement (speed and direction). Which of the following is the most logical statement regarding the minimum number of bits required for a C-C-I protocol which supports communication between these systems?
a)It maybe an infinity problem requiring an infinite number of test cases.
b)Theobjective can be satisfied using 2 or fewer bits, even in extremely low-light conditions.
c)Thenumber of bits required can be reduced significantly by doing object categorization.
d)It dependson the type of warning signal needed to achieve acceptable Level 2 SA.
e)Noneof the above.
arrow_forward
Design involves making many decisions among numerous alternatives. Design rationale provides an explicit means of recording those design decisions and the context in which the decisions were made. Explain this through an example.
Book Used: www.hcibook.com/e3/plain/chapsSubject: Human Computer InteractionPs: this is the whole question, it is in regards to design, there are no other references or parts to it.
arrow_forward
Project 4: PyGame
Assignment Overview
This assignment focuses on the design, implementation and testing of PyGame programs to build games.
Assignment Specifications
Go to Invent with Python, Making Games with Python & PyGame and choose either Chapter 4: Slide Puzzle or Chapter 5: Simulate to complete.
Assignment Note
These chapters have quite a bit more information than the previous projects you have completed but as you have figured out by now, making a game in PyGame is a more lengthy process. You are allowed to use the chapter as a tutorial as to what you need to do to create the game. You are allowed to use the files in the chapter, rather than build the code from scratch. You must then change something in the code to make the game different to create your own remix.
Assignment Deliverable
You must turn in a file called proj04.py – this is your source code solution; be sure to include your names, the project number and comments describing your code.
arrow_forward
TOPIC : Visual Sensory system, Auditory and Cognition, Human-Computer Interaction;
Decision Making and Display DesignSelf-service has long been a way of selling run by various companies. One method of sales by utilizing self-service services is the provision of vending machines. Not only makes it easier for sellers but also for buyers because they don't have to wait to be served by sellers. However, the display on the vending machine can be considered confusing for buyers.
What feature design should be added to the machine so that it can help buyers and machine vending fillers use the machine more easily, based on the concept of Visual Sensory system, Auditory and Cognition?
arrow_forward
Design pattern does not follow the concept software reuse
Select one:
True
False
arrow_forward
In the process of developing software, to what degree is it possible to make use of design patterns to their full potential?Please provide three examples of distinct design patterns, along with a brief description of each one.
arrow_forward
Computer Science
Hi am working on building a python script "passed analyzer" and need help with a couple of questions.
Begin to document the project that you want to do over the course of this term.
You will have a chance to evolve the project over the term so don't feel as though you are going to have your feet nailed to the floor based on this proposal. Include the following sections in your proposal.
Major Features and Solution Overview (how might you go about solving the problem at a high level?)
Data Needs (data you will need to capture, manipulate, etc and the data types that may be associated with it)
arrow_forward
Model diagrams are used to depict the software development life cycle.
arrow_forward
Formal methods: pros and cons? Software development should employ specifications for four reasons.
arrow_forward
Model diagrams are used to represent the software development life cycle.
arrow_forward
When and how should design patterns be used during software development? To what extent can you demonstrate the variety of design patterns?
arrow_forward
Define the relationship between user-centered design concepts and the software development lifecycle in detail.
A189
arrow_forward
Define the top-down design approach and describe how it works.
arrow_forward
Computer Science: How would you remedy a scenario where an organisation currently lacks the capabilities essential to make a project technically feasible?
arrow_forward
Model diagrams are used to depict the stages of the software development life cycle.
arrow_forward
computer science - The three phases taken during the physical design stage should be listed and briefly explained.
arrow_forward
Computer Science
The Idea of App : It displays the unknown tourist and archaeological places in the Kingdom Problems it solves:
1- Job opportunities for tour guides
2- Knowledge of tourist places by citizens and tourists in the Kingdom
3- Improving the conditions of tourism
4- Visitors' evaluation of the places
Give me this things
1. Give the Sequence Diagrams of your project.
Sequence Diagram Document
The Sequence Diagram Document should contain the following information:
A sequence diagram for each Use case of your system.
A brief description on the symbols used in the sequence diagram
explaining the reason for the usage of that particular symbol.
arrow_forward
The design of software is a broad term.
What are the responsibilities of the design process?
How can software design help solve problems?
arrow_forward
SEE MORE QUESTIONS
Recommended textbooks for you
A+ Guide To It Technical Support
Computer Science
ISBN:9780357108291
Author:ANDREWS, Jean.
Publisher:Cengage,
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Related Questions
- Facts: Successful projects are managed well. To manage a project efficiently, the manager or development team must choose the software development methodology that will work best for the project at hand. All methodologies have different strengths and weaknesses and exist for different reasons. Here’s an overview of the most commonly used software development methodologies and why different methodologies exist. -Synopsys (Links to an external site. Question: Which methodology you're most likely interested to use and why?arrow_forward- no hand writing - only unique answers - to students: DO NOT COPY THE ANSWER | YOU'LL GET ZERO POINTS Q: What is the purpose of system engineering? How to achieve performance improvement by using system engineering? What is the benefit of using modeling and simulation in system engineering?arrow_forwardSoftware engineering This requirement has a clarity problem; rewrite it to be better. "The communication app will verify that a student is in the professor’s class by making a POST request to Coursebook to check that information."arrow_forward
- Facts: Software design is the process of defining software methods, functions, objects, and the overall structure and interaction of your code so that the resulting functionality will satisfy your user's requirements. There are many different ways of designing software, almost all of which involve coming up with an initial design and refining it as necessary. Different developers prefer different amounts of design upfront or during the implementation phase. Generally, the overall design should be well thought out and reviewed before coding starts. Refer to our section on Design reviews to learn how to review your design. It is easier to try out different designs upfront and discover problems early in the development cycle than to make a major design change after much of the code has been written. Your software design should include a description of the overall architecture. This should include the hardware, databases, and third-party frameworks your software will use or interact with.…arrow_forwardAnalysis and design are comparable: Designs concentrate on the ultimate outcome, whereas analyses include individuals.arrow_forwardSoftware design covers a wide range of activities. How do designers fulfill their duties? When there is a problem, how can software design be used to fix it?arrow_forward
- Software engineering is a field of engineering which is concerned with all aspects of software production. Softwareengineering is the “application of a systematic, disciplined, quantifiable approach to the design, development, operation,and maintenance of software. Software engineers are people who are trained and skilled in the optimal use of softwareengineering practices to produce high quality software. Software engineers, therefore, are not just computer programmers;they may be programmers, but they also have a thorough understanding of the principles of software engineering, and thecomplete life-cycle activities of a software development project, such as software specification, software development,software validation, and software evolution. In your role as a software engineer, you will have to advise the development team on various software engineering aspects. 1. Elaborate on any five types of applications for development.arrow_forwardSoftware engineering is a field of engineering which is concerned with all aspects of software production. Softwareengineering is the “application of a systematic, disciplined, quantifiable approach to the design, development, operation,and maintenance of software. Software engineers are people who are trained and skilled in the optimal use of softwareengineering practices to produce high quality software. Software engineers, therefore, are not just computer programmers;they may be programmers, but they also have a thorough understanding of the principles of software engineering, and thecomplete life-cycle activities of a software development project, such as software specification, software development,software validation, and software evolution. In your role as a software engineer, you will have to advise the development team on various software engineering aspects. 1. Explain in detail the importance of software engineering to the software development team and Elaborate on any five…arrow_forwardComputer Science A problem with using a production system to control robots is the Qualification Problem – trying to predict all of the things in the environment that can prevent the robot from successfully completing the task and developing actions the robot can execute in order to complete the task. A friend of mine used to maintain the robots for the paintshop at GM. One of their problems was making sure the robots were all using the same colour of paint on the car. The paint was manually loaded into reservoirs by humans and occasionally the wrong colour paint was loaded (by mistake or on purpose). Sometimes the vehicles came off the production line as car of many colours. a. Excluding the loading of the wrong colour mentioned above, what are five external events that could cause these robots to stop their task or do the task incorrectly? Is it possible for the robot to solve each problem without human intervention? If so, how? - if not, why not? b. People used to do this job.…arrow_forward
- Subject: Software Engineering The objective of a warning system is that it must sound a warning signal if it is approaching an object. The warning system interfaces with a computer vision system which is designed to detect all objects in its field of view, even in extremely low-light conditions. It can identify millions of types of objects, detect the exact location of each object, and interpret each object’s movement (speed and direction). Which of the following is the most logical statement regarding the minimum number of bits required for a C-C-I protocol which supports communication between these systems? a)It maybe an infinity problem requiring an infinite number of test cases. b)Theobjective can be satisfied using 2 or fewer bits, even in extremely low-light conditions. c)Thenumber of bits required can be reduced significantly by doing object categorization. d)It dependson the type of warning signal needed to achieve acceptable Level 2 SA. e)Noneof the above.arrow_forwardDesign involves making many decisions among numerous alternatives. Design rationale provides an explicit means of recording those design decisions and the context in which the decisions were made. Explain this through an example. Book Used: www.hcibook.com/e3/plain/chapsSubject: Human Computer InteractionPs: this is the whole question, it is in regards to design, there are no other references or parts to it.arrow_forwardProject 4: PyGame Assignment Overview This assignment focuses on the design, implementation and testing of PyGame programs to build games. Assignment Specifications Go to Invent with Python, Making Games with Python & PyGame and choose either Chapter 4: Slide Puzzle or Chapter 5: Simulate to complete. Assignment Note These chapters have quite a bit more information than the previous projects you have completed but as you have figured out by now, making a game in PyGame is a more lengthy process. You are allowed to use the chapter as a tutorial as to what you need to do to create the game. You are allowed to use the files in the chapter, rather than build the code from scratch. You must then change something in the code to make the game different to create your own remix. Assignment Deliverable You must turn in a file called proj04.py – this is your source code solution; be sure to include your names, the project number and comments describing your code.arrow_forward
arrow_back_ios
SEE MORE QUESTIONS
arrow_forward_ios
Recommended textbooks for you
- A+ Guide To It Technical SupportComputer ScienceISBN:9780357108291Author:ANDREWS, Jean.Publisher:Cengage,Systems ArchitectureComputer ScienceISBN:9781305080195Author:Stephen D. BurdPublisher:Cengage Learning
A+ Guide To It Technical Support
Computer Science
ISBN:9780357108291
Author:ANDREWS, Jean.
Publisher:Cengage,
Systems Architecture
Computer Science
ISBN:9781305080195
Author:Stephen D. Burd
Publisher:Cengage Learning
Browse Popular Homework Q&A
Q: The propane fuel (C3H8)(C3H8) used in gas barbeques burns according to the following thermochemical…
Q: 1. When approximating the binomial and Poisson distribution with the normal distribution Why do we…
Q: A calorimeter contains 25.0 mLmL of water at 12.5 ∘C∘C . When 1.70 gg of XX (a substance with a…
Q: . the position that distinguishes between DNA and RNA is
2. the carbon that the phosphate group…
Q: In outer space two space modules are joined together by a massless cable. These probes are rotating…
Q: Assuming the company uses direct labor-hours to compute its predetermined overhead rate, what is the…
Q: A stereo store is offering a special price on a complete set of components (receiver, compact disc…
Q: Netowrk Concepts Class:
Considering the total number of IPv4 addresses is limited to 4,294,967,296…
Q: According to a recent report (based on historical data), 47% of college student internships are…
Q: After having been on the air for more than a decade, Fox's American Idol seemed to be suffering from…
Q: Graph the feasible region subject to the following constraints:
Select the correct answer below:
O…
Q: A person exerts a horizontal force of 190 N in the test apparatus shown in the figure. Find the…
Q: In Oracle database, If we have Iname field in our table then regardless of how the
value have been…
Q: Two blocks are connected by a very light string passing over a massless,
frictionless pulley (see…
Q: You may be wondering, "Why bother with a technical analysis?" Explain how it is
used, why it is…
Q: When Dylan jumps into the air, his height in feet above the
surface of the water is given by
h = -…
Q: Companies can choose from several different branding strategies. Kohl’s, with its own Croft &…
Q: 5 Determine if the following are functions of x, and if they are determine if they are 1-1. Explain…
Q: Find the quotient and remainder using synthetic division for
r3 + 6x? + 15x + 15
x + 2
The quotient…
Q: 1) The circuit in the above figure (1) has a supply voltage of 60 volts, and
three resistors of…
Q: Which of the following is not an example of an open ended question?
O What features do you want on…
Q: ind the intervals on which f is increasing or decreasing. Find the local maximum and minimum values…
Q: The following data was collected from 1 bag of Hershey Kisses®. Each Kiss® was weighed in grams with…
Q: Definition 3: Let X be a subspace of Rn and let X be the set of all vectors in R" that are…
Q: The Brew House needs to decide which of two coffee maker designs is better environmentally. Using…