deck_17529172 (1) Flashcards
(36 cards)
Why do software engineers use “architectural design”?
The architectural design identifies the main structural components in a system and the relationship between them. It is a critical link between design and requirements engineering, as it identifies the main structural components in a system and the relationships between them.
Which one of the following symbols is used to represent a component in a system architecture?
oval
circle
line
rectangle
rectangle
How does architectural design help stakeholders?
Stakeholders use to write code
Stake holders use to design class diagrams
Help improve communication
Stake holders will use it to run the program
Help improve communication
(True/False) An architectural diagram of a system shows the detailed relationships between components.
False
(True/False) An architectural pattern is a description of a system organization.
True
Architectural patterns/styles give us a clue as to at which situations we should use a certain architectural pattern. There were several architectural patterns that we learned in this chapter. List all of them:
(Select all that appy)
Class view
Client-sever
Logical filter
Layered
Piples and filters
Development view
Repository
Model-vew-controller
Client-sever
Layered
Piples and filters
Repository
Model-vew-controller
What architectural style/pattern describes the following statement:
System functionality is organized into separate layers, and each layer only relies on the facilities and services offered by the layer immediately beneath it.
Layered style
Repository style
Client–server style
Piples and filters style
Layered style
What is an example of a transaction processing application?
Web search engine
Video game
Google assistant
Online shopping
Online shopping
Which of the following is a primary reason for using architectural patterns in software design?
(Choose the best answer)
To eliminate the need for documentation
To define the user interface for the system
To provide a template solution to common software design problems
To model the hardware layout for the system
To show the structural view of a componant
To provide a template solution to common software design problems
(True/False) It is not possible to combine several architectural patterns together when developing an application.
False
When developing software, the interface needs to be specified. What does the interface design is concerned with?
Interface design is concerned with specifying the detail of the interface to an object or to a group of objects.
When you use UML to develop a design, you should develop two kinds of design models. What are those?
Dynamic models
Visual model
Structural models
Filter model
Validity Model
Layered architecture
Dynamic models
Structural models
Which one of the following statements is true about a state diagram?
Show how objects change their state in response to classes.
Show the sequence of object interactions that take place.
Represents an interaction with outside entities of a system
Show how objects change their state in response to events.
Show how objects change their state in response to events.
One of the design patterns we learned in the class “observer pattern.” Which one of the following systems will use this observer pattern? (Choose the more applicable one)
Amazon’s product discription
Video game’s icon updating
YouTube subscriber system
Search bar on an app store
YouTube subscriber system
When you are developing software, you should make as much use as possible of existing items. Which one of the following can be reused when developing software?
(Select all that apply)
Components
Objects
Aplication systems
Architectural patterns
Components
Objects
Aplication systems
Architectural patterns
Three activities of configuration management are version management, system integration, and problem tracking. Which one of the following is true about problem tracking?
Support is provided to help developers define what versions of components are used to create each version of a system
Support is provided to allow users to report bugs and other problems, and to allow all developers to see who is working on these bugs and when they are fixed.
Support is provided to keep track of the different versions of software components. It includes facilities to coordinate development by several programmers.
Helps build a system automatically by compiling and linking the required components.
Support is provided to allow users to report bugs and other problems, and to allow all developers to see who is working on these bugs and when they are fixed.
In host-target development, production software does not usually execute on the same computer as the software development environment. If a gaming company were to run its games, which of the following describe target systems?
(Select all that apply)
Gaming company’s development sever
User’s gaming counsole
User’s Laptop
Game developer’s machine
User’s gaming counsole
User’s Laptop
Who develops open-source systems? (choose the best match answer)
Any one can contribute
Only the development team
Only the stake holders
Ownders of the system and the development team
Any one can contribute
We discussed three open-source licenses in class. If you don’t want to keep any secrets and want to share everything about your system in an open-source platform, which one of the licenses will you use?
The GNU General Public License (GPL)
The GNU Lesser General Public License (LGPL)
The Berkley Standard Distribution (BSD) License
None of the above
The GNU General Public License (GPL)
Which of the following statements are true about open-source development?
(Select all that apply)
Errors in the software get fixed early
Increase reliability
It will help to keep confidential business knowledge out of competitors
Making software open source will guarantee that you will always get a large community of volunteers to work on it.
Errors in the software get fixed early
Increase reliability
What is regression testing?
Regression testing is testing the system to check that changes have not ‘broken’ previously working code.
What are you trying to discover during defect testing?
Discover if we are building the right product
Discovering inputs and outputs of the user
Demonstrate to the developer and the system customer that the software meets its requirements
Faults in the software where its behavior is incorrect or not in conformance with its specification
Faults in the software where its behavior is incorrect or not in conformance with its specification
What are the 3 major testing stages a software system should go through?
User testing
Development testing
Problem testing
Release testing
Class testing
User testing
Development testing
Release testing
Development testing includes all testing activities that are carried out by the team developing the system. The tester of the software is usually the programmer who developed that software. Three states of this development testing are: Unit testing, component testing, and system testing. During unit testing, what does a development team test?
Test the whole system
Test individual functions
Test component interfaces
Test interaction of classes
Test individual functions