CSE exam 2
The cyclomatic complexity metric provides the designer with the information regarding the number of a) cycles in the program b) errors in the program c) independent logic paths in the program d) statements in the program
c
Which is NOT a nonfunctional requirement? a) Ease of use b) robustness c) correctness d) portability
c
Occurrences or events are:
(ex: A property transfer or the completion of a series of robot movements) that occur within the context of system operation
Organizational units are
(ex: division, group, team) that are relevant to an application
Roles are:
(ex: manager, engineer, salesperson) played by people who interact w the system
Places are
(ex: manufacturing floor or loading dock) that establish the context of the problem and the overall function of the system
External entities are
(ex: other systems, devices, people) that produce or consume info to be used by a computer based system
Things are
(ex: reports, displays, letters, signals) that are part of the information domain for the problem
Structures are
(ex: sensors, four-wheeled vehicles, or computers) that define a class of objects or related classes of objects
How are the parameter types listed
(name: type)
Cyclomatic complexity is a quantitative measure of logical strength of the program. It indirectly measures the number of linearly independent paths through a program's source code. T or F?
F, directly measures logical strength
T or F? It is generally accepted that a late stage of agile processes is to design an overall systems architecture.
F, early stage
Function points are derived using a theoretical relationship based on countable (direct) measures of software's information domain and assessments of software complexity. T or F?
F, empirical relationships
Experimental verification for selected programming languages has not been performed T or F?
F, has been performed
T or F? An architectural pattern is a stylized description of good design practice, which has been tried and tested in only one environment.
F, in different environments
Valid statistical techniques should be applied to establish relationship between internal product attributes and external quality characteristics T or F?
T
When large amounts of data are to be shared, the repository model of sharing is most commonly used as this is an efficient data sharing mechanism. T or F?
T
Whenever possible, data collection and analysis should be automated T or F?
T
pipes /filters are also data flow architectures T or F
T
Client-server architecture: Distributed system model which shows how data and processing is distributed across a range of components. T or F? Can be implemented on a single computer?
T Yes
True or false: For large systems developed by different groups, design models are an important communication mechanism
TRUE
Flow chart symbol: Oval
Terminal, Start or stop
Product revision includes which qualities? a) Maintainability b) Reliability c) Flexibility d) Usability e) Testability f) Integrity g) Interoperability h) Portability i) Correctness j) Reusability k) Efficiency
a) c) e)
True or false: Sequence diagrams are used to model interactions between the actors and the object in a system
True
True or false: The first step in the design process is to understand the relationships between the software being designed and its external environment.
True
True or false: The layered architecture supports incremental development of a system
True
True or false: The repository architecture is based on different components share data
True
True or false: There is a strong relationship between the non-functional requirements and the system architecture
True
True or false? The conditions in the decision table may take on any number of values.
True
True or false: Object identification is an iterative process
True- you are unlikely to get it right the first time
Sequence diagrams are part of the what?
UML
System modeling has now come to representing a system using some sort of graphical notation, which is almost always based on notations in what language?
UML - unified modeling language
A common template for a user story is "As a <A>, I want to <B> so <C> What is <A>? a) a type of user b) a customer c) A developer d) none of the above What is <C>? a) the action in the system b) the action of the user c) the desired result for the user d) the end condition in the system
a) c)
Which of the following is a good name for a use case? a) Make appointment b) Appointment c) Doctor d) Patient
a) because is provides the verb and the subject
Operators include? a) Function name b) Variables c) Parenthesis d) Constants e) Type f) Brackets g) Strings h) Arithmetic/ logic operators
a) f) c) e) h)
Refactoring the system architecture is usually expensive because it affects so many _______________ in the system
components
Analysis classes elicitation does what?
considers the main perspectives of the system
A design goal when creating a module is to a) Maximize coupling abd cohesion b) minimize couple and cohesion c) maximize coupling and minimize cohesion d) minimize coupling and maximize cohesion
d
Generalization is a _____________ relationship
inheritance
every project should measure?
inputs—measures of the resources (e.g., people, tools) required to do the work. outputs—measures of the deliverables or work products created during the software engineering process. results—measures that indicate the effectiveness of the deliverables
What is a module?
lexically contiguous sequence of program statements, bounded by boundary elements, with aggregate identifier
4 different Architectural views....
logical view, development view, physical view, process view
main() { int a, b, c, avg; scanf ("%d %d %d", &a, &b, &c); avg = (a + b + c) / 3; printf ("avg = %d", avg); } Unique operators? Unique operands?
main, (), {}, int, scanf, &, =, +, /, printf a, b, c, avg, "%d %d %d", 3, "avg = %d"
A generalization relationship ____________ be used to model interface implementation
may not
Process management: derived outcomes from the process include?
measures of errors uncovered before release of the software defects delivered to and reported by end-users work products delivered (productivity) human effort expended calendar time expended schedule conformance other measures.
Verbs are potential
methods or responsibilities of a class
An indicator is a...
metric or combination of metrics that provide insight into the software process, a software project, or the product itself
Procedural Cohesion: module performs series of actions related by procedureon ___________ data values Why is this bad? Fix?
multiple actions are still weakly related to one another not reusable break it up
Coincidental Cohesion: module performs ________________, completely unrelated actions Why is this bad? Easy to fix. How?
multiple degrades maintainability & modules are not reusable break into separate modules each performing one task
n1 =? n2 =? N1 =? N2 =?
n1 = the number of distinct operators n2 = the number of distinct operands N1 = the total number of operators N2 = the total number of operands
Program Vocabulary formula? Program length formula?
n= n1 + n2 N= N1 + N2
To clarify its meaning, and association can be
named The name is represented as a label and is midway along the association line--- usually verb
State machine models show the system states as
nodes
Can you do anything you want with open source code?
nooo
Identifying analysis classes: Synonyms should be
noted
Information domain values are defined in the following manner
number of external inputs (EIs) number of external outputs (EOs) number of external inquiries (EQs) number of internal logical files (ILFs) number of external interface files (EIFs)
In terms of metrics knots are...
number of times control paths cross
Generalization indicates that...
objects of specialized class (subclass) are substitutable for objects of the generalized class (super-class) - "is kind of" relationship
Architectural patterns are a means of....
of reusing knowledge about generic system architectures. They describe the architecture, explain when it may be used and describe its advantages and disadvantages.
Functional Cohesion: module performs exactly __________ action why is this good?
one >more reusable >corrective maintenance easier >>fault isolation >>reduced regression faults >easier to extend product
In state machine modeling when an event occurs the system moves from
one state to another
Temporal Cohesion: module performs series of actions related in ____________ Why is this bad? How to fix initialization issue?
time actions weakly related to one another, but strongly related to actions in other modules code spread out -> not maintainable or reusable define these intializers in the proper modules & then have an initialization module call each
Is it okay to omit things from UML diagrams if they aren't needed by team/supervisor/instructor
true
State machine models show system responses to stimuli so are often used for modeling real-time systems
true
Coupling: Degree of interaction between_________ modules
two
Identifying analysis classes: Classes are determined by
underlining each noun or noun phrase and entering it into a table
Association is a ________________ relationship
usage
Object-Oriented Metrics include the number of?
use cases (scenario scripts) support classes (required to implement the system but are not immediately related to the problem domain) average number of support classes per key class (analysis class) Number of subsystems (an aggregation of classes that support a function that is visible to the end-user of a system)
when is MVC used?
when there are multiple ways to view and interact with data when the future requirements for interaction and presentation of data are unknown
What are CRC card exercises
write down classes' names on index cards next to each class list: responsibilities and collaborators
Comments are represented as
A folded note, attached to the appropriate class/methods/etc. by a dashed line
What is the component level of reuse
Components are collections of objects and object classes that you reuse in application systems
Collection: The computation of metrics and the application of mathematical tools. T or F?
F, The mechanism used to accumulate data required to derive the formulated metrics
T or F Architectural design is a creative process so the process is the same across all types of system being developed.
F, differs across all different types
True or false: The symbol for aggregation is an open diamond next to the class that is the part
False
True or false: UML activity diagrams may be used to define business process models?
TRUE
True or false: State diagrams are used for event-based modeling
True
What are the different system perspectives?
1. External 2. Interaction 3. Structural 4. Behavioral
Graphical models care used in what 3 ways
1. To facilitate discussion about an existing or proposed system (doesn't matter if models are incomplete or incorrect, the role is to support discussion) 2. To document a system (models should be accurate but don't need to be complete) 3. As a detailed system description that can be used to generate a system implementation (Models have to be correct and complete)
In a class diagram an object class can be thought of as what?
A general definition of one kind of a system object
In software quality assurance work, there is no difference between software verification and software validation. True or False
False, there is a difference
What are the 5 different UML diagram types?
Activity Use Case Sequence Class State
Interactions between objects are indicated by what?
Annotated arrows
Models are made and used to communicate with who?
Customers
Stimuli are categorized in what 2 types
Data and events
True or false: Actors in a use case may not be other systems
False- Actors in a use case can be other people or systems
The objects and actors involved in a sequence diagram are listed where?
At the top of the diagram, with a dotted line drawn vertically from these
Which of the following is NOT an objective for building a requirements model? A)Define a set of software requirements that can be validated B)Describe customer requirements C)Develop an abbreviated solution for the problem D)Establish a basis for software design
C
True or false: In an agile process, it is not relevant to create an architectural design
False
True or false: Modeling component interaction helps us determine if the system components haven't delivered the dependability
FALSO- Modeling component interaction helps us understand if a proposed system structure is likely to deliver the required system performance and dependability
What is the difference between a functional and a nonfunctional requirement?
Functional requirements identify what the product must do, while nonfunctional requirements identify the experience or quality
Modeling user interaction is important why?
Helps identify user requirements
Process models reveal what?
How the system being developed is used in broader business processes
What does an state diagram show?
How the system reacts to internal/external events
Use case diagrams and sequence diagrams may be used for what?
Interaction modeling
What does an sequence diagram show?
Interactions between actors and the system and between system components
Rather than learning the detailed characteristics of every entity that we experience we do what?
Place these entities in more general classes (ex: animals, cars, houses) and then learn the characteristics of these classes --- allows us to infer that different members of these classes have some common characteristics
A sequence diagram shows the what?
Sequence of interactions that take place during a particular use case or instance
True or false: Graphical models can be used to stimulate discussion on a system
TRUE
True or false: Model-driven engineering is an approach in which a system is represented as a set of models that can automatically be transformed into executable code
TRUE
True or false: System modeling is the process of developing abstract models of a system, with each model presenting different views or perspectives of that system
TRUE
True or false: UML activity diagrams show the activities in a process and how the flow of control moves from one activity to another
TRUE
What does an activity diagram show?
The activities involved in a process or data processing
Modeling system-to system interaction highlights what?
The communication problems that may arise
What does system modeling help analysts understand?
The functionality of the system
What does a use case diagram show?
The interactions between a system and its environment
What does an class diagram show?
The objects in classes in the system and the associations between these classes
Structural models display what
The organization of a system in terms of the components that make up that system and the relationships
Dynamic models show what?
The organization of the system when it is executing
A(n) _________ class serves as an interface between the system and its environment a) Communication b) Boundary c) Entity d) Control
b
Structural models can be static models, which show what?
The structure of the system design
Give an example of a functional requirement
The system must update the database
Use case modeling is represented diagrammatically why?
To provide an overview of the use case in a mode detailed textual, form
A use case scenario is a textual description of actions and conditions. True or False
True
Git is a version control system that you can think of as a series of snapshots or commits of your code while GitHub, is a web-page on which you can publish your Git repositories and collaborate with other people. True or False
True
True or false: A compiler is an example of a pipe and filter architecture
True
True or false: Architectural design is concerned about the overall structure of the system
True
True or false: Behavior models show the dynamic behavior of a system
True
True or false: Class diagrams are used to show the classes and the associations between the classes
True
True or false: Context models are used to illustrate the operational context of a system, they show outside the system boundaries
True
True or false: The MVC pattern is useful when there are multiple ways to interact with the data
True
When can structural models be created?
When designing and discussing the system architecture.
What is an external perspective?
Where you model the context or environment of a system
What's a behavioral perspective?
Where you model the dynamic behavior of a system and how it responds to events
What is an interaction perspective?
Where you model the interactions between a system and its environment, or between the components of the system
What's a structural perspective
Where you model the organization of a system or the structure of the data that is processed by the system
Were use cases developed originally to support requirements elicitation and now incorporated into the UML?
Yes
A technique to identify classes is to parse a description and a) Identify classes by nouns and operations by verbs b) Identify classes by verbs and operations by nouns c) Identify classes by data and operations by data flows d) Identify classes by actors and operations by services
a
The relationship between two or more objects where all objects have their own lifecycle and there is no owner is a) Association b) Aggregation c) Generalization d) Composition
a
Which is NOT true about creating CRC cards? a) it is best to use software as a tool rather than physical cards b) it is a group activity, rather than an individual activity c) participants act out the behaviors os classes d) Class definitions can change during session
a
Event-driven modeling is based on the assumption that a system has ______ number of states and that events may cause a _______ from one state to another
a finite transition
A data flow diagram represents how... a) Data objects are transformed as the move through the system b) data objects are related to each other c) Data objects interact with each other d) Data objects represent the state of an object
a)
A level 0 data flow diagram is also called... a) Context level diagram b) High level diagram c) Abstract diagram d) Main diagram
a)
When a user story is too large to be coded and tested within an iteration, it is called a(n) a) epic b) saga c) long story d) Bad requirement
a)
Coupling is a qualitative indication of the degree to which a module a) can be written more compactly b) focuses on just one thing c) is able to complete its function in a timely manner d) is connected to other modules and the outside world
d
How are use cases helpful? a) In determining requirements b) In communicating with clients c) For generating test cases d) All of the above
d
Look at practice exam What rule determines that A4 is to be done? a) R3 b) R7 c) R8 d) all of the above
d
Superclasses are identified on CRC cards, this indicates... a) Another class uses the class b) This class uses another class c) Another class inherits from this class d) This class inherits from another class
d
Which of the following is NOT a factor in the measurement of effort for a code review? a) effort to prepare for the review b) effort to hold the review c) rework effort d) training effort
d
Which of the following is NOT an analysis modeling approach? a) scenario-based models b) Flow models c) Behavioral models d) prototyping
d
Which of the following is NOT part of the definition of "use case"? a) sequence of actions b) observable result c) Value to particular actor d) Required action to be preformed
d
In a data flow diagram, an external entity is represented by a(n) a) oval with a label b) arrow with a label c) stick figure with a label d) rectangle with a label
d)
Look at practice exam What action are done if C1 && !C2 && !C3? a) A1 only b) A1 and A4 c) A1, A2, and A4 d) none of the above
d)
Real time systems are often ___________- driven
event, with minimal data processing ex: landline phone switching system responds to events such as 'receiver off hook' by generating a dial tone
Algorithm design is the closest design activity to what?
coding
GNU General public license (GPL)
'reciprocal license', that means if you use open source software under this license then you must make that software open source
What are some common size measurements?
# of LOC # of statements # of classes # of files
Analysis classes elicitation : The system logic
- Controls and coordinates the behavior Delegates the work to other classes Decouples interface and data classes
Aggregation test questions
- Is the phrase "part of" used to describe the relationship (A door is part of a car) - Are some operations on the whole automatically applied to its parts? (Move the car, move the door) - Are some attribute values propagated from the whole to all or some of its parts (The car is blue, therefore the door is blue) - Is there an intrinsic asymmetry to the relationship where one class is subordinate to the other (A door is part of a car. A car is not part of a door)
Design problems
- Tell several objects that the state of some other object has changed (Observer pattern). - Tidy up the interfaces to a number of related objects that have often been developed incrementally (Façade pattern). - Provide a standard way of accessing the elements in a collection, irrespective of how that collection is implemented (Iterator pattern). - Allow for the possibility of extending the functionality of an existing class at run-time (Decorator pattern).
Control classes are
-- For coordinating boundary and entity classes -- Receives or handles system events -- Often one control class per use case ( control classes encapsulate behavior of use case) -- Control object is created at the beginning of use case and is destroyed at the end of use case
Features of structured programming
-Uses a limited set of constructs - Leads to more readable, testable code - Can be used in conjunction with 'proof of correctness' - Important for achieving high quality, but not enough
3 different uses for UML
1. As a sketch- to communicate aspects of a system 2. As a blueprint - a complete design to be implemented 3. As a programming language- with the right tools, code can be auto generated and executed from UML- only good if this is faster than coding in a "real language"
How do we design classes (2 things)
1. Class identification from project specifications/requirements 2. CRC card exercises
Rate the different levels of cohesion worst (1) to best (7)
1. Coincidental (worst) 2. Logical 3. Temporal 4. Procedural 5. Communicational 7. Functional | Informational (best)
Operations are divided into what 4 categories?
1. Operations that can manipulate data (ex: adding, deleting, reformatting, selecting) 2. Operations that perform a computation 3. Operations that inquire about the state of an object 4. Operations that monitor an object for the occurrence of a controlling event
Approach for algorithm design
1. Review design description for component 2. Use stepwise refinement to develop algorithm 3. Use structured programming to implement procedural logic 4. Use formal methods to prove logic
4 Approaches to identification
1. Use a grammatical approach based on a natural language description of the language 2. Base the identification on tangible things in the application domain 3. Use a behavioural approach and identify objects based on what participates in what behavior 4. Use a scenario based analysis. The objects, attributes, and methods in each scenario are identified.
Classes can fulfill their responsibilities in 1 of two ways
1. Use its own operations to manipulate its own attributes, thereby fulfilling a particular responsibility 2. A class can collaborate w other classes
What are some questions asked in the transition
1. What classes will we need to implement a system that meets out requirements? 2. What fields and methods will each class have? 3. How will the classes interact with each other
Look at practice exam If there are 4 binary conditions in a decision table, how many rules are there assuming that no rules are reduced?
2^4 = 16 4 binary conditions 2 binary values
Five levels of coupling worst = 1 best = 5 ?. Data ?. Stamp ?. Control ?. Common ?. Content
5 4 3 2 1
Decision Table Components consists of what 3 main parts?
>Condition stubs Lists condition relevant to decision >Action stubs Actions that result from a given set of conditions >Rules Specify which actions are to be followed for a given set of conditions
An encapsulated object can be thought of as what?
A black box- Because the inner workings are hidden from the client
Object oriented design process requires what?
A lot of effort for development and maintenance of the models
Structured object-oriented design processes involve what?
A number of different system models
What is structured programming
A programming paradigm which is aimed at improving the clarity, quality, and development time of a computer program by making extensive use of subroutines, block structures, and for and while loops
What are reviews NOT?
A project summary or progress assessment A meeting solely to impart information A mechanism for political/personal reprisal
Whats a defect
A quality problem found AFTER the software has been released
Whats an error?
A quality problem found BEFORE the software is released to end users
What are informal reviews?
A simple desk check of software engineering work product w a colleague. Casual meeting to review product Side effect of pair programming
Every block in structured programming has
A single entrance and single exit
What is aggregation
A special form of association that models a whole-part relationship bw an aggregate (the whole) and its parts
Composition is
A strong form of aggregation
Generalization features
A subclass inherits from its super-class (attributes, operations, relationships) A sub class can add attributes, operations, relationships, and refine inherited operations
A design pattern is
A way of reusing abstract knowledge about a problem and its solution. A pattern is a description of the problem and the essence of its solution. It should be sufficiently abstract to be reused in different settings
Dependency
A weaker form of relationship which indicates that one class depends on another because it uses it at some point in time One class depends on another if the independent class is a parameter variable or local variable of a method of the dependent class This is different from association, where an attribute of the dependent class is an instance of the independent class
4 levels of reuse
Abstraction Object Component System
Advantages of using layered architecture patterns?
Allows replacement of entire layers so long as the interface is maintained. Redundant facilities (e.g., authentication) can be provided in each layer to increase the dependability of the system.
What is a role
An end of an association where it connects to a class
Generalization is what?
An everyday technique that we use to manage complexity
Constrains and notes do what
Annotate among other things associations, attributes, operations, and classes
What does Ea stand for in the total review effort formula
Assessment effort- the (in person hours) that is expended during the actual review
A(n) _______________ is a link between classes that indicates there is some relationship between these classes
Association
What 3 categories can classes be placed into
Boundary Entity Control
5 essential elements of a UML class diagram
Class Attributes Operations Relationships Constraint rules and notes
What does a class diagram show: (4)
Classes Attributes Operations (methods) Relationships among the classes
What are the Component-Level Design Metrics?
Cohesion metrics: a function of data objects and the locus of their definition Coupling metrics: a function of input and output parameters, global variables, and modules called Complexity metrics: hundreds have been proposed (e.g., cyclomatic complexity)
Pipe Filter Models are used when?
Commonly used in data processing applications (both batch- and transaction-based) where inputs are processed in separate stages to generate related outputs.
Decision Table is a tool that helps us look at the combination of conditions to detect.... _________________ of conditions & _________________ of conditions
Completeness Inconsistency
Repository Pattern Advantages?
Components can be independent—they do not need to know of the existence of other components. Changes made by one component can be propagated to all components. All data can be managed consistently (e.g., backups done at the same time) as it is all in one place.
The organization of the Model-View-Controller The controller maps? Model encapsulates? and notifies? The view renders? requests? sends what to controller?
Controller maps user actions to model updates and selects view Model encapsulated application state and notifies view of state changes View renders model and requests model updates and sends user events to controller
Flow chart symbol: Diamond
Decision. Used for any logic or comparison operation
Defect density forumla
Defect density = Errtot / WPS
Association is
Dependency Aggregation Composition
What does a class diagram do?
Describes the system structure
What are the 2 forms of measurements?
Direct and indirect
A measure provides a qualitative indication of the extent, amount, dimension, capacity, or size of some attribute of a product process. T or F
F, QUANTITATIVE
Defining operations means
Doing a grammatical parse of a processing narrative and looking at the verbs
What is the abstraction level of reuse
Don't reuse software directly, but you use the knowledge of successful abstractions in the design of your software
For calculating the cyclomatic complexity of a structured program, what does each variable represent E =? N=? P=? M=?
E= the number of edges of the graph N= the number of nodes of the graph P= the number of connected components (exit node) M= complexity
Client-server model disadvantages?
Each service is a single point of failure so susceptible to denial of service attacks or server failure. Performance may be unpredictable because it depends on the network as well as the system. May be management problems if servers are owned by different organizations.
Pipe Filter Models Advantages:
Easy to understand and supports transformation reuse. Workflow style matches the structure of many business processes. Evolution by adding transformations is straightforward. Can be implemented as either a sequential or concurrent system.
Typical Project Metrics include?
Effort/time per software engineering task Errors uncovered per review hour Scheduled vs. actual milestone dates Changes (number) and their characteristics Distribution of effort on software engineering tasks
Object oriented program facilitates :
Encapsulation and information hiding
Total review effort forumla
Ereview = Ep + Ea + Er
Total errors found formula
Errtot = Errminor + Errmajor
What is the job of the review leader
Evaluates the product for readiness, generates copies of product materials, and distributes them to 2/3 reviewers for advance preparation
Identifying analysis classes:
Examining the usage scenarios developed as a part of the requirements model and perform a 'grammatical parse'
What is the job of the reviewer(s)
Expected to spend b/w 1 and 2 hours reviewing the product, making notes, and otherwise becoming familiar with the work
7 identifying objects from use-cases
External entities Things Occurrences or events Roles Organizational units Places Structures
A good side effect of a review is the review of the performance of the people creating the work. T or F?
F
If there is an external quality management group, then the developers do not need to be committed to a high level of achieving a high level of product quality. T or F?
F
Software quality is directly comparable with quality in manufacturing. T or F?
F
Software standards, such as coding standards, are not important is plan-based software quality management. T or F?
F
T or F? Quality management in agile development is more formal than in plan-based development.
F
The coding standards using in this class are an example of process standards. T or F?
F
the filter is continuous and carries out one type of data transformation. T or F?
F the filter is discrete
The Repository pattern: Only some data in a system is managed in a central repository that is accessible to some system components. Components interact directly, not through the repository.
F, ALL DATA in a system is managed in a central repository that is accessible to ALL system components, and the components DO NOT interact directly, ONLY through the repository
The advantage of a decision tree....
Missing items are quickly apparent
In a client-server architecture, the functionality of the system is organized into services, with each service delivered from the same server. Clients are users of these services and access servers to make use of them. T or F?
F, not same server but each service is delivered from a different server
Supports the incremental development of sub-systems in different layers. When a layer interface changes, all layers are affected. T or F?
F, only the adjacent are affected
Quality attributes are always measured directly? T or F?
F, quality attributes are often measured indirectly, we measure attributes that reflect quality
Cyclomatic complexity is a software feature T or F?
F, software metric
T or F? Architectural patterns should not include information about when they are and when the are not useful.
F, they should include
Use case diagrams provide details of each use case. T or F?
F, use case diagrams not are detailed explanations of use cases
True or false: Statecharts aren't integral for UML, and are used to represent state machine models
FALSE, they are integral
True or false: A UML class diagram is a dynamic model
False
True or false: All open source licenses are the same
False
True or false: An architectural model can be used for encouraging discussion but not for documenting a current system
False
True or false: Design and implementation are the same thing on object oriented programming
False
True or false: Design is a clear-cut, sequential process
False
True or false: Host-target development is never an issue as all development and production environments are identical
False
True or false: In open source, you can do any thing you want with the software
False
True or false: Purchasing software off the shelf is always easier and less expensive
False
True or false: Reuse is only possible at the abstract level as all software is unique
False
True or false: Taking the incremental development approach to developing an architecture is the best approach
False
True or false: The client server architecture is not commonly used for distributed systems
False
True or false: The pipe and filter architecture requires that only a single path exists in the sequence
False
True or false: a system model is a complete representation of a system and does not leave out any details
False
True or false: architecture in the large is concerned with the architecture of individual programs
False
Use-case actors are always people, never system devices. True or False
False
Process management: True or false? We measure the efficiency of a software process directly
False Indirectly we derive a set of metrics based on the outcomes that can be derived from the process. Also derive process metrics by measuring the characteristics of specific software engineering tasks.
The decision table allows the iteration of only some of the combinations of values of the conditions, thus it provides a "completeness check." True or false?
False, allows the iteration of all the combinations
True or false: Not any work item can be review
False, any work item can be review
true or false: UML does not offer many pre-defined constraints
False, it does offer pre-defined constraints
Implementation issues focus on
Focus is not on programming but on other implementation issues
Pipe and filter architecture: _____________ transformations process their inputs to produce outputs.
Functional
The observer pattern: Consquences
Optimizations to enhance display performance are impractical
3 license models
GNU general public license (GPL) GNU lesser general public license (LGPL) Berkley standard distribution license (BSD)
Open triangle represents what?
Generalization/Realization
Nassi-Schneiderman Diagrams are
Graphical design representation for structured programming
4 algorithm design models
Graphical ex: flowchart, box diagram Pseudo code ex: PDL Programming language Decision table
Flowcharts do what?
Graphically depict the logical steps to carry out a task and show how the steps relate to eachother
For large off the self systems, reuse costs are typically
HIGH
a comprehensive collection of metrics all predicated on the number (count and occurrence) of operators and operands within a component or program What is the name of this code metric?
Halstead's Software Science
Are state diagrams low or high level models
High, they are high level models of a system or an objects run-time behaviour
State diagrams are used to show
How objects respond to different service requests and the state transitions triggered by these requests.
Static view shoes
How the classes are organized NOT how the objects interact
Subsystem models show
How the design is organized into logically related groups of objects
What is a difficult part of object oriented design
Identifying object classes
Disadvantages of using layered architecture patterns?
In practice, providing a clean separation between layers is often difficult and a high-level layer may have to interact directly with lower-level layers rather than through the layer immediately below it. Performance can be a problem because of multiple levels of interpretation of a service request as it is processed at each layer.
Entity classes are
Independent of the system interfaces Correspond to real world entities that the system manipulates
What are the 2 types of reviews?
Informal Formal
Generalization is
Inheritance between classes Interface implementation
Flow chart symbol: Rhombus
Input/output
For object identification what does it need?
Relies on skill/experience Domain knowledge of system designers
The observer pattern: Solution description
Involves 2 abstract objects: Subject and observer. ConcreteSubject and concreteObject, which inherit the attributes of the related abstract objects. The abstract objects include general operations that are applicable in all situations. The state to be displayed is maintained in concreteSubject, which inherits operations from subject allowing it to add and remove observers (each observer corresponds to a display) and to issue a notification when the state has changed The concreteObserver maintains a copy of the state of ConcreteSubject and implements the Update() interface of observer that allows these copies to be kept in step. The concreteObserver automatically displays the state and reflects changes whenever the state is updated.
What are the 3 generic relationships between classes
Is-Part-of has-knowledge-of depends-upon
Whats a metric for structured programming
Knots
What are some important open source products
Linux MySQL Java Apache
The complexity M is then defined as....
M = E − N + 2P
Why design language?
Machine readable and processable Can be embedded with source code, therefore easier to maintain Can be represented in great detail, if designer and code are different Easy to review
Indirect measurements are:
Measure one or more attributes to measure or infer some attribute Example Pedometer and Watch - number of steps taken in a given time interval is used to infer speed
What are reviews?
Meeting conducted by and for technical people Technical assessment of a work product created during process Software quality assurance mechanism A training ground
What are the three logical components that interact with each other in a (hint) Model-View-Controller pattern? What does each component do in terms of the system data?
Model, View, controller >Model component manages the system data and associated operations on that data >View component defines and manages how the data is presented to the user >Controller component manages user interaction (e.g., key presses, mouse clicks, etc.) and passes these interactions to the View and the Model
4 elements of a pattern
Name Problem description Solution description- Not concrete, just a template for a design solution that can be instantiated in different ways Consequences- The results of trade-offs of applying the pattern
Decision Table disadvantages....
Need to decide (or know) what conditions are relevant for testing - - - this may require Domain knowledge Scaling up can be massive: 2n rules for n conditions - - - that's if the conditions are binary and gets worse if the values are more than binary
For small systems is object oriented design process effective?
No
Pipe and filter models are suitable for interactive systems?
No
Pipe/filters only provide a single path?
No
The Berkley standard distribution (BSD) license
Non reciprocal license. You don't have to re-publish any changes or modifications made to open source code and you can include the code in proprietary systems that are sold
Pattern descriptions usually make use of what?
Object oriented characteristics like inheritance and polymorphism
Objects represent what when you are developing models during the early stages of the software engineering process
Objects represent something in the real world like: a patient, prescription doctor, etc.
The observer pattern: Name
Observer
How do layered architecture patterns organize the system?
Organizes the system into layers with related functionality associated with each layer. A layer provides services to the layer above it so the lowest-level layers represent core services that are likely to be used throughout the system.
Collaborators in CRC card exercises include:
Other classes that are sent messages by this class (asymmetric)
~ in a class diagram represents what?
Package
Modules: Higher level view?
Packages Subsystems consisting of multiple parts
In the UML subsystem models are shown using what?
Packages - an encapsulation construct. This is a logical model. The actual organization of objects in the system may be different
What does Ep stand for in the total review effort formula
Preparation effort- the (in person hours) required to review a work product prior to the actual review meeting
Responsibilities in CRC card exercises include:
Problems to be solved; short verb phrases
Flow chart symbol: Square
Processing. For arithmetic and data manipulation operations
Who attends reviews?
Producer Review Leader Reviewer(s) Recorder
What are the 3 categories of McCall's triangle of quality?
Product revision product Transition product operation
Why opt for FP
Programming language independent Used readily countable characteristics that are determined early in the software process Does not "penalize" inventive (short) implementations that use fewer LOC that other more clumsy versions Makes it easier to measure the impact of reusable components
Analysis classes elicitation: Interface between the system and its actors
Protocols for information exchange Don't concentrate on visual aspects
why do we measure?
Quality assurance >assess the status of an ongoing project >track potential risks >uncover problem areas before they go "critical," >adjust work flow or tasks, >evaluate the project team's ability to control quality of software work products.
An association between 2 classes indicates that objects at one end of the association ___________ objects at the other end and may send messages to them
Recognize
Boundary classes
Reduce complexity (minimize communication and coordination bw other classes and actors by providing an interface neutral form of communication) AND Helps maintainability (normally only boundary class will need to change when interface changes)
What is validation?
Refers to a different set of tasks that ensure that the software that has been built is traceable to the customer requirements.
What is verification?
Refers to the set of tasks that ensure that software implements a specific function
what does the +1 represent in the 4 +1 view model of software architecture
Related using use cases or scenarios
What are 3 implementation issues
Reuse Most modern software is constructed by reusing existing components or systems. When you are developing software, you should make as much use as possible of existing code. Configuration management During the development process, you have to keep track of the many different versions of each software component in a configuration management system. Host-target development Production software does not usually execute on the same computer as the software development environment. Rather, you develop it on one computer (the host system) and execute it on a separate computer (the target system).
What is the system level of reuse
Reuse the entire application system
Conduction the review features
Review the product, not producer Set an agenda, maintain it Limit debate Take written notes Enunciate problem areas, but do not solve problems noted Limit the number of participants and insist upon advance preparation Develop a checklist for each product that is likely to be reviewed Allocate resources and schedule for FTRs Conduct meaningful training for all reviewers
What is the job of the recorder
Reviewer who records (in writing) all important issues raised during the review
What does Er stand for in the total review effort formula
Rework effort- in person hours that is dedicated to the correction of errors found in the review
The observer pattern: Description:
Separates the display of object state from the object itself
Programs consist of nested blocks(3)
Sequence Iteration Decision
What are client server architectures composed of?
Set of stand-alone servers which provide specific services such as printing, data management, etc. Set of clients which call on these services. Network which allows clients to access servers.
What are 2 ways to manage the exchanging of sub-system data?
Shared data is held in a central database or repository and may be accessed by all sub-systems; Each sub-system maintains its own database and passes data explicitly to other sub-systems.
Context models show what? and do not show what?
Show the other systems in the environment Do not show how the system being developed is used in that environment
What is stimuli: data
Some data arrives that has to be processed by the system
What is stimuli: events
Some event happens that triggers system processing. Events may have associated data, although this isn't always the case
What are the 2 design models
Structural and dynamic
Whats version management
Support is provided to keep track of the different versions of software components. Version management systems include facilities to coordinate development by several programmers
A program inspection involves team members who examine the code, line-by-line. T or F?
T
Analysis: The computation of metrics and the application of mathematical tools. T or F?
T
Class diagrams are used to show the classes and the associations between the classes. T or F?
T
Cyclomatic complexity is computed using the control flow graph of the program T or F?
T
Cyclomatic complexity is used to indicate the complexity of a program.
T
Defect density can be estimated for any software engineering work product. T or F?
T
Each architectural model only shows one view or perspective of the system. T or F
T
Feedback: Recommendations derived from the interpretation of product metrics transmitted to the software team. T or F?
T
Formulation: The derivation of software measures and metrics appropriate for the representation of the software that is being considered. T or F?
T
In general the earlier a software defect is discovered and corrected, the less costly it is to the overall project budget T or F?
T
In terms of Cyclomatic complexity, the nodes of the graph correspond to indivisible groups of commands of a program, and a directed edge connects two nodes if the second command might be executed immediately after the first command. T or F?
T
Interpretation: The evaluation of metrics results in an effort to gain insight into the quality of the representation T or F?
T
Interpretative guidelines and recommendations should be established for each metric T or F?
T
It is important to have a quality plan to define the desired software qualities and how the qualities are assessed. T or F?
T
It is not possible for any system to be optimized for all software quality attributes. T or F?
T
It is possible to develop different models from different perspectives such as external, structural, or behavioral. T or F?
T
Layered Architecture design organizes the system into a set of layers (or abstract machines) each of which provide a set of services. T or F?
T
Model-driven engineering is an approach in which a system is represented as a set of models that can be automatically transformed into executable code. T or F?
T
Product quality metrics are useful for highlighting anomalous components that may have quality issues. T or F?
T
Project Metrics: used to minimize the development schedule by making the adjustments necessary to avoid delays and mitigate potential problems and risks used to assess product quality on an ongoing basis and, when necessary, modify the technical approach to improve quality. T or F?
T
Quality assurance is the definition of processes and standards that should lead to high-quality products. T or F?
T
Repository architecture is used when subsystems must exchange data. T or False
T
Software analytics is the automated analysis of large volumes of software product data. T or F?
T
Software is designed rather than manufacturing making the link between process quality and product quality more complex. T or F?
T
T or F A number of common decisions span all design processes and these decisions affect the non-functional characteristics of the system.
T
T or F Architectural design is concerned with understanding how a software system should be organized and designing the overall structure of that system.
T
T or F Modules in themselves are not "good" Must design them to have good properties
T
T or F? Architectural patterns are a means of representing, sharing and reusing knowledge.
T
T or F? Halstead's "laws" have generated substantial controversy, and many believe that the underlying theory has flaws
T
The ISO 9001 standard is actually a framework for developing software standards. T or F?
T
The assessment of software quality is a subjective process. T or F?
T
The purpose of software reviews is to uncover errors and defects in work products so they can be removed before moving on to the next phase of development T or F?
T
The use of quality management techniques has led to improvements in software quality over the last 20 years. T or F?
T
UML activity diagrams show the activities in a process and how the flow of control moves from one activity to another. T or F?
T
Use case modeling is mostly used to model interactions between a system and external entities. T or F?
T
What does a realization relationship indicate
That one class implements a behavior specified by another class (an interface or protocol) An interface can be realized by many classes A class may realize many interfaces
The algorithm design model represents what?
The algorithm at a level of detail that can be reviewed for quality options
What are the pipes and what are the filters?
The arrows are the pipes (path) and filters are the nodes in graph
The second rectangle of a class diagram contains what?
The attributes
Analysis classes elicitation: Data the system uses
The core of the system, key concepts
A transition from what the system must do --> to how the system will do it is what phase?
The design phase
What does Defect density represent?
The errors found per unit of work product reviewed
Pipe Filter Models Disadvantages:
The format for data transfer has to be agreed upon between communicating transformations. Each transformation must parse its input and unparse its output to the agreed form. This increases system overhead and may mean that it is impossible to reuse functional transformations that use incompatible data structures.
Configuration management is the name given to
The general process of managing a changing software system
Multiplicity is
The number of objects that participate in the association and indicates whether an association is mandatory
What do knots count?
The number of times control paths cross
Design models show what?
The objects and object classes and their relationships
The third rectangle of a class diagram contains what?
The operations
What is the job of the producer
The person who has developed the work product
Client-server model advantages?
The principal advantage of this model is that servers can be distributed across a network. General functionality (e.g., a printing service) can be available to all clients and does not need to be implemented by all services.
Repository Pattern Disadvantages?
The repository is a single point of failure so problems in the repository affect the whole system. May be inefficiencies in organizing all communication through the repository. Distributing the repository across several computers may be difficult.
What is underlined in a class diagram
The static methods
Features of composition
The whole is the sold owner of its part-( The part object may belong only to one whole.) Multiplicity on the whole side must be zero or one The life time of the part is dependent upon the whole (The composite must manage the creation and destruction of its parts)
Describe dynamic models
They describe the dynamic interactions between objects
Describe structural design models
They describe the static structure of the system in terms of object classes and relationships
Standard procedure for creating decision tables 1) Name the condition and values each condition can assume 2) Name all possible actions that can occur 3) List all rules 4) Define the actions for each rule 5) Simplify the table True or false?
True
True or False: Categorization represents a separation of concerns that supports maintainability and minimizes complexity
True
True or false: A use case models an interaction with a system
True
True or false: Configuration management includes version control
True
True or false: Design patterns are a way of reusing the knowledge and experience of other designers?
True
True or false: History of review results can help drive future reviews
True
True or false: In a class diagram the name of the class is always in the top rectangle of the class representation
True
True or false: In a grammatical parse, objects are nouns and operations are verbs
True
True or false: Reviews are useful to determine errors before release
True
Flow chart symbol: --------> Flowline
Used to connect symbols
Direct measurements are:
Used to directly measure some property or attribute Examples Thermometer - measure temperature Pedometer - measure the number of steps taken
When are layered architecture patterns used?
Used when building new facilities on top of existing systems; when the development is spread across several teams with each team responsibility for a layer of functionality; when there is a requirement for multi-level security.
Client-server architectures are used when? Can servers be replicated? If so, is it used when the load on a system is what?
Used when data in a shared database has to be accessed from a range of locations. Because servers can be replicated, may also be used when the load on a system is variable.
The observer pattern: Problem description
Used when multiple displays of state are needed
Generic Layered architecture is organized?
User interface UI management, authentication/authorization core business logic/ application functionality, system utilities System Support (OS, database etc.)
Types of boundary classes include:
User interfaces Other system interfaces Device interfaces
What does V& V stand for?
Verification and Validation
What are the questions asked with verification and validation?
Verification- Are we building the PRODUCT right? Validation - Are we building the RIGHT product?
3 configuration management activites
Version management System integration Problem tracking
What do formal reviews consist of?
Walkthroughs Inspections Between 3- 5 people Advance prep of no more than 2 hours of work per person. Duration of review meeting should be less than 2 hours Focus is on a work product (ex: portion of a requirements model, a detailed component sign, source code for a component)
Pipe and filter model: What is a common variant of this approach?
When transformations are sequential, this is a batch sequential model which is extensively used in data processing systems
Whats problem tracking
Where support is provided to allow users to report bugs and allow developers to see who is working on the problems and when they are fixed
Whats system integration
Where support is provided to help developers define what versions of components are used to create each version of a system. This description is then used to build a system automatically by compiling and linking the required components
Collaboration are identified by determining what
Whether a class can fulfill each responsibility itself
What does WPS stand for in the defect density formula?
Work product size, a measure of the size of the work product that has been reviewed. ex: UML models, or the number of document pages, or number of lines of code
Are more and more product companies using open source approach to development?
YES- their business model is not reliant on selling a software product but on selling support for that product. They believe that involving the open source community will allow software to develop cheaper, quicker, and create a community of users for the software
GNU Lesser General public license (LGPL)
You can write components of that link to open source code without having to publish the source of these components
What is the object level of reuse
You directly reuse objects from a library rather than writing the code yourself
In a structure chart, the decision making modules should be placed a) Toward the top of the structure b) at the bottom of the structure c) in the middle of the structure d) Whenever they are needed
a
Metric is defines as...
a quantitative measure of the degree to which a system, component, or process possesses a given attribute
what are the advantages and disadvantages of using MVC
ad: Allows the data to change independently of its representation and vice versa. Supports presentation of the same data in different ways with changes made in one representation shown in all of them. disad: Can involve additional code and code complexity when the data model and interactions are simple.
What does a boundary class serve as:
an interface between the system and its environment
SState machine models show the events as
arcs between nodes
Cohesion is a qualitative indication of the degree to which a module a) can be written more compactly b) focuses on just one thing c) is able to complete its function in a timely manner d) is connected to other modules and the outside world
b
Encapsulation supports the concept of a) inheritance b) information hiding c) polymorphism d) structured design
b
In a use case diagram, common usages that are required by multiple use case diagrams are marked as a) <<extend>> b) <<include>> c) a straight line d) An open arrow
b
The number of functions that a function calls is defined as its a) Fan-in b) Fan-out c) Coupling d) Cohesion
b
Which of the following is NOT a goal for the validation activity of requirements engineering a) finding errors in interpretation b) finding errors in planned release dates c) finding missing information d) finding unrealistic requirements
b
Data flow diagrams are an example of.. a) scenario-based models b) flow diagrams c) Behavioral models d) class models
b)
We read a decision table by ________________ of rules a) rows b) columns c) actions d) statements
b)
Product Operation includes which qualities? a) Maintainability b) Reliability c) Flexibility d) Usability e) Testability f) Integrity g) Interoperability h) Portability i) Correctness j) Reusability k) Efficiency
b) d) f) i) k)
Operands include? a) Function name b) Variables c) Parenthesis d) Constants e) Type f) Brackets g) Strings h) Arithmetic/ logic operators
b) d) g)
The operations are like the
behavior
A UML class diagram represents the _________ relationships among classes a) Dynamic b) Interacting c) Static d) Data
c
Inheritance is also called a) association b) aggregation c) generalization d) composition
c
Look at practice exam Which rules can be combined? a) R1 & R4 b) R4 & R5 c) R2 & R6 d) R1 & R8
c
Which is not a decision made at the end of a formal technical review? a) accept the work product without modification b) accept the work with minor modifications c) modify the work product and continue the review d) reject the product due to severe errors
c
Collaborations identify relationships between ______
classes
Nouns are potential
classes, objects, and fields
What is NOT an advantage of Decision Tables: a) Allow us to start with a "complete" view, with no consideration of dependence b) Allow us to look at and consider "dependence," "impossible," and "not relevant" situations and eliminate some test cases. c) Allow us to detect potential errors in our specifications d) The best approach to analyze the design of the interface
d
Which is NOT a software measurement? a) Size b) understandability c) Maintainability d) all are measurements
d
Which is not a goal of information hiding? a) reducing the likelihood of "side effects" b) emphasizing communication through controlled interfaces c) Resulting in higher quality software d) Removing
d
Which of the following are the objectives for formal technical reviews? a) allow senior staff members to correct errors b) assess programmer productivity c) determining who introduced an error into a program d) uncover errors in software work products
d
Which of the following is NOT a factor in the measurement of effort for a code review a) effort to prepare for the review b) effort to hold the review c) rework effort d) training effort
d
Stamp Coupling: ________ ____________ is passed as parameter, but called module operates on only some of individual components Example calculate withholding (employee record) Why is this bad?
data structure affects understanding not clear, without reading entire module, which fields of record are accessed or changed unlikely to be reusable other products have to use the same higher level data structures passes more data than necessary e.g., uncontrolled data access can lead to computer crime
Cohesion is the __________ of interaction within module
degree
Architectural design is between ___________ and requirements engineering, as it identifies the structural _____________ in a system and the relationships between them.
design components
Content Coupling: one module___________ references contents of the other Example: module a modifies statements of module b module a refers to local data of module b in terms of some numerical displacement within b module a branches into local label of module b Why is this bad?
directly almost any change to b requires changes to a
Whats backward design in UML
doing UML after coding as documentation
Whats forward design in UML
doing UML before coding
Behavioral models are models of...
dynamic behavior--- models of a system as it is executing. This shows what happens or what is supposed to happen when a system responds to a stimulus from its environments
While you get the conditions from the requirements, what do you look for? Requirement statement that talks about... a) inputs b) processing c) outputs d) criteria e) all of the above
e
The conditions in the decision table may be interpreted as the outputs of the table, and the actions may be thought of as inputs of the table.
false, conditions may be interpreted as the inputs while the actions are thought of as the outputs
The function point metric (FP) can be used effectively as a means for.....
for measuring the functionality delivered by a system
Product Transaction includes which qualities? a) Maintainability b) Reliability c) Flexibility d) Usability e) Testability f) Integrity g) Interoperability h) Portability i) Correctness j) Reusability k) Efficiency
g) h) j)
Common Coupling: two modules have write access to the same _________ data Example two modules have access to same database, and can both read and write same record use of Java public statement while (global variable == 0) if (argument xyz > 25) module 3 (); else module 4 (); Why is this bad?
global resulting code is unreadable modules can have side-effects must read entire module to understand difficult to reuse module exposed to more data than necessary
A development view shows...
how the software is decomposed for development.
A process view shows...
how, at run-time, the system is composed of interacting processes.
Control Coupling: ________ module passes an ____________ of control to the other Example control-switch passed as an argument Why is this bad?
one, element modules are not independent module b must know the internal structure of module a this affects reusability
Informational Cohesion: module performs a number of actions, each with its _____ entry point, with _______________ code for each action, all performed on the __________ data structure
own, independent, same
UML generally defined is
pictures of an object oriented system - programming languages are not abstract enough for OO design
Model-View-Controller Pattern (MVC) separates ____________ and ___________ from the system data
presentation and interaction
Communicational Cohesion: module performs series of actions related by the _______________ to be followed by , _______________ but in addition all the actions operate on _______ data why is it bad?
procedure, product, same still leads to less reusability -> break it up
Modules: Lower level view?
procedures & functions in classical programming languages (for example, C)
The filter is a....
processing component
Nassie Schneiderman diagrams force designers to
put algorithms into predefined boxes from LARGE to SMALL
Logical Cohesion: module performs series of _______________ actions, one of which is selected by calling module Why is this bad?
related interface difficult to understand code for more than one action may be intertwined difficult to reuse
The cost of adapting and configuring the reusable software components or systems to reflect the
requirements of the system that you are developing
Legal UML: Whats descriptive language
rigid formal syntax - like programming
Constraints are _________________ ______________________noted as BOOLEAN expressions
semantic restrictions
Legal UML: Whats prescriptive language
shaped by usage and convention
When is a Repository Pattern used?
should use this pattern when you have a system in which large volumes of information are generated that has to be stored for a long time. You may also use it in data-driven systems where the inclusion of data in the repository triggers an action or tool.
Data Coupling: every argument is either a ___________ argument or a _______ ____________ in which all elements are used by the called module Example display time of arrival (flight number) get job with highest priority (job queue) Why is this good?
simple, data structure maintenance is easier good design has high cohesion & weak coupling
Identifying analysis classes: If the class (noun) is required to implement a solution then it is part of the...
solution space, otherwise if a class is necessary only to describe a solution, it is part of the problem space
Design is
specifying the structure of how a software system will be written and function without actually writing the complete implementation
The attributes are like the
status
Layered Architecture is used to model the interfacing of _________________
subsystems
The aim of configuration management is to
support the system integration process so that all developers can access the project code in a controlled way, find out what changes have been made, and compile and link components to create a system.
Architectural patterns may be represented using __________ and ______________ descriptions.
tabular, graphical
A logical view shows....
the key abstractions in the system as objects or object classes.
A physical view shows...
the system hardware and how software components are distributed across the processors in the system.
Give an example of a nonfunctional requirement
the system must be user-friendly