Software Engineering
Software architecture is important because:
1) it constitutes a relatively small, intellectually graspable mode of how the system is structured and how its components work together 2) it enables communication between all parties (stakeholders) interested in the development of a computer-based system 3) it highlights early design decisions that will have a profound impact on all software engineering work that follows
The agile model of software development is
A good approach when a working program is required quickly
The waterfall model of software development is
A reasonable approach when requirements are well defined and fixed
Select all that apply. What are considered to be issues of concerns for software metrics
Cost of collecting metrics Selection of metrics for measurement
When doing detailed design, we will consider
Database design Class design
Non-Functional Requirement
Defines global constraints on the system
Functional Requirement ...
Defines specific behavior or features of the system
A feasibility study does not need to identify risks and alternatives.
False
It is less expensive and better to find and fix bugs later in the Software Development process
False
The output of a feasibility study should be a report that details the design of the system and the software infrastructure to use in the development of the system.
False
1. State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. Users must be able to select their seats
Functional
State whether the following sentence contains a functional, or nonfunctional, or both function and nonfunctional requirements. Only registered users can purchase tickets
Functional
State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. The system must be modifiability for future updates and enhancements
Functional
State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. The user must be able to save their current state in the completion of the form and return to it later.
Functional
State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. Users must be able to specify the number of tickets to be purchased
Functional
State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. Users must be able to browse for events by venue
Functional
Complexity is considered to be a major difference between writing simple program and building a system. Which are ways of handling complexity?
Have large software teams Improving technology and tools
In preparing questions to ask during Requirements Elicitation, "how" related questions include ...
How much data will be involved How will you use this feature How will we know this is complete
Select all that applies. What is WBS?
It is arranged with a hierarchical structure It is a project management technique or tool for defining and organizing the scope of a project. It is representative of work as an activity and this work has a tangible result (deliverable).
1. State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. Once the user enters the order and clicks purchase, the system must process the user's order in less than 150 ms.
Nonfunctional
1. State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. The system's clock must be within 0.05 seconds of the world time server at all times
Nonfunctional
1. State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements: the system must be able to support 500K concurrent users
Nonfunctional
State whether the following sentence contains a functional, or nonfunctional, or both function and nonfunctional requirements. Once the user enters the order and clicks purchase, the system must process the user's order in less than 150ms.
Nonfunctional
State whether the following sentence contains a functional, or nonfunctional, or both function and nonfunctional requirements. The system must be up an available to users between 6 am and 9 pm
Nonfunctional
State whether the following sentence contains a functional, or nonfunctional, or both function and nonfunctional requirements. Tickets purchased at the kiosk should be printed within five seconds
Nonfunctional
State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. The system's clock must be within 0.05 seconds of the world time server at all times
Nonfunctional
Which software process model produces throwaway software
Prototyping
Check all that applies. The input to a feasibility study is
Question options: preliminary business requirements description of the system to be built How the system is intended to support business processes
Some Agile Methodologies are
Scrum Extreme Programming (XP)
A Task is an atomic unit of work that can be managed and that consumes resources.
True
A model is an abstract representation of a system that enables us to answer questions about the system.
True
The aims of a feasibility study are to find out whether the system is worth implementing and if it can be implemented, given the existing budget and schedule.
True
The output of a feasibility study should be a report that recommends wether or not it is worth carrying on with the system development process.
True
The term "software engineering" was coined in 1968
True
Use case diagrams are used to gather the requirements of a system
True
Which software process model produce documentation at each phase
Waterfall
In preparing questions to ask during Requirements Elicitation, "when" related questions include ...
When will we be ready to start When will the feature fail When will this feature be used
This process model's key practices include a 40 hours work week.
XP
Match the project estimation term to it's correct definition. 1. LOC approach 2. FP approach
__1__ estimate the number of lines of code that will be written, multiply that by the cost to write one line of code __2__ estimate the number of function points needed for the application, multiply that by the cost to produce one function point
Place the type of coupling in order of strength from lowest coupling to highest coupling
__4__ common __5__ content __1__ data __2__ stamp __3__ control
Place the phases of the Software Development Process in the correct order
__5__Software evolution __3__Software Implementation __1__Software specification __2__Software design __4__Software Testing
Select all that applies. Completion of the elicitation stage should produce
a statement of need a statement of scope for the system
What is the McCabe Complexity of the following control flow graph? Start Is Leap Year
a) 4
The four P's of Project management are
a) People, Product, Process, Project
Using the risk management paradigm, Track means to
a) monitor risk indicators
In software design concepts, we use _____ as the solution to recurring problems.
a) patterns
Which architectural style is best suited for a relational database management system?
a) repository
These are for solving smaller, specific problems
a. Architectural tactics
A ________________ is a clear and concise description of an opportunity.
business concept
___________ is a description of how entrepreneurs plan to make money with their business concept.
business model
Chose all that applies. When doing detailed requirement elicitation, we must consider the following dimensions:
constraints on performance, security user interfaces the business flow
Using Equivalence Class, what are correct input set to test all three partitions Invalid too low | valid | invalid too high -100 | -99 -0.01 | .01 999.99 | 1000
d) -250.99, 0.00, 1111.11
For McCabe's Cyclomatic Complexity, the formula is
d) E - N + 2p
What is the product of the probability of incurring a loss due to the risk and the potential magnitude of that loss?
d) Risk exposure
Requirement Engineering:
d) The set of activities related to the defining, development, and documenting of the set of systems requirements
___________ is the process that tests a business concept.
feasibility analysis
User must be able to save their current state in the completion of the form and return to it later
functional
User should be able to specify the number of tickets purchased
functional
Software Engineering Project involves: Working with limited time and resources Satisfying a customer Managing risk Teamwork and communication All the above
All the above
UML is proprietary
False
A software process model is an abstract representation of a software process.
True
A test case is a set of conditions or variables under which a tester will determine whether a system under test is verified and validated to be correct.
True
A test suite is a collection of related test cases
True
Architectural tactics are for solving smaller, specific problems.
True
EEE defines testing as - A process of analyzing a software item to detect the differences between existing and required conditions (i.e., defects) and to evaluate the features of the software item.
True
ISO 31000 defines risk as the effect of uncertainty on the possibility of achieving the organization's objectives
True
Identifying object classes is often a difficult part of object oriented design
True
Many of the same metrics apply to both the process and project domains
True
Metrics are defined as a method of measuring something, or the results obtained from this
True
PEMBOK defines a project as a temporary endeavor undertaken to create a unique project service or result
True
Projects are a balance of three dimensions, with the goal of producing a successful software deliverables.
True
Sequence models show the sequence of object interactions that takes place.
True
Software design encompasses the set of principles, concepts, and practices that lead to the development of a high quality system or product
True
Software project management is the task of planning, directing, motivating, and coordinating a team through the stages of software development.
True
One reason why software development is considered to be difficult is the solution domain is difficult. Which statement best describes this.
You can change almost anything you design in software. ??? (not 100% He changed answers based on quiz)
Match the sentence to the correct term. 1. Kanban 2. Scrum
__2__ Timeboxed iterations required __1__ Timeboxed iteration optional __1__ WIP limited directly as policy __2__ WIP limited indirectly per sprint.
Match the POMA terms to the correct definition. 1. Planning 2. Organizing 3. Monitoring 4. Adjusting
__2__ coordinating activities and resources __1__ establish a pragmatic strategy for controlling, tracking, and monitoring a complex technical project. __4__ making changes if the project status suggests potential problem __3__ regular tracking to ensure that it is headed in the right direction
Using Boundary Value Analysis, what are correct input set to test all three partitions Invalid too low | valid | invalid too high -100 | -99 -0.01 | .01 999.99 | 1000
b) -100.00, -99.99, 999.99, 1000.00
A stakeholder is
b) any person or group who will be affected by the system, directly or indirectly
__________ answers the question, should we build this product?
b) economic feasibility
When problem solving, we search for multiple solutions
b) so we can assess the trade off of each solution and select the most appropriate.
For Halstead metrics, a volume greater that 1000 means
b) the function probably does too many things
We engineer software so we can
d) produce better software on time and on budget
For Halstead metrics, a volume less that 20 means
the function is too trivial
A software requirement is
A constraint that the system must satisfy to be accepted by the client A feature that the system must have to be accepted by the client
UML stands for Unified Modeling Language
True
Requirements form a set of statements that describes the clients' needs and desires for the system.
True
Exhaustive testing is easily achievable for large complex systems
False
For McCabe complexity metric, the higher the value of this number, the better
False
cohesion is the strength of the connection between modules
False
coupling is the glue that keeps a module together
False
State whether the following sentence contains a functional, or nonfunctional, or both functional and nonfunctional requirements. The system must be up and available to users between 6 am and 9 pm.
Nonfunctional
The prototype model of software development is
The best approach to use for projects when the customer is unclear as to what they want so throwaway products are developed to help them get a better understanding.
"Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation and maintenance of software; that is, the application of engineering to software." - IEEE
True
A software process is a set of activities that lead to the production of a software product.
True
When designing software, we strive for strong cohesion and weak coupling
True
Match the term to the correct description. 1. Use case diagrams 2. Class diagrams 3. Sequence diagrams 4. Statechart diagrams 5. Activity diagrams
__1__ Describe the functional behavior of the system as seen by the user __5__ Describe the dynamic behavior of a system, in particular the workflow __2__ Describe the static structure of the system: Objects, attributes, associations __4__ Describe the dynamic behavior of an individual object __3__ Describe the dynamic behavior between objects of the system
Place the stages of the requirement engineer in the correct order.
__1__ Feasibility Study __2__ Requirements Elicitation and Analysis __4__ Requirement Validation __3__ Requirement Specification
Match the measure to its correct classification as either direct or indirect 1. Direct metrics 2. Indirect metrics
__1__ LOC __1__ number of bugs found per month __2__ testability __2__ readability
Place the type of cohesion in order of strength from weakest cohesion to strongest cohesion
__1__ coincidental __7__ functional __4__ procedural __3__ temporal __2__ logical __5__ communicational __6__ sequential
Match the sentence to the correct term. 1. Waterfall 2. Incremental 3. Spiral 4. Agile
__1__ earliest process and coping with no process __4__ coping with unpredictability and changes __3__ coping with risk management __2__ coping with decomposing the large systems
The correct order of steps in problem solving:
__1__ formulate the problem __2__analyze the problem __4__decide on the appropriate solution __3__search for solutions __5__specify the solution
Match the sentence about a pro to the pattern 1. Pipe and filter 2. client-server 3. layered
__1__ incremental transformation of data based on streams __2__ centralization of control __3__ separation of concerns
Which of the following are sources of risks important for a software feasibility study and which are not. Match the source of risks to valid and not valid. 1. Valid 2. Not Valid
__1__ lack of familiarity with the technology __2__ the server will not fit under the desk __2__ company will have to borrow at high interest rate __1__ compatibility with existing systems __1__ lack of familiarity with business application area __1__ size of the project __2__ company is unable to repay loans __2__ coffee will be spilt in the server
Match the definition to the correct term. 1.Product metrics 2.Process metrics
__1__ quantify characteristics of the product being developed __2__ quantify characteristics of the process being used to develop the software
Match the statements to the correct category of blackbox or whitebox testing. 1. Blackbox 2. Whitebox
__2__ Examines source code __1__ Examines the program that is accessible from outside __2__ Structural testing __1__ Functional testing
Match the statements to the correct category. 1. Static Analysis 2. Dynamic Analysis
__2__ Execute the program to see if failures occur __1__ Code inspection __2__ Unit tests __1__ Review the code and reason over behaviors that might occur when the program runs.
Match the sentence to the correct term. 1. Feasibility Study 2. Requirement Elicitation 3. Requirement Analysis 4. Requirement Specification 5. Requirement Validation
__2__ The activity of requirements discovery __1__ A short focused study that answers the questions of can we build it and is it economically feasible __3__ The activity of organizing, prioritizing and formalizing the requirements __5__ The activity of checking the requirements for errors. __4__ The activity of formally documenting the requirements
Match the definition to the correct term 1. cohesion 2. coupling
__2__ The measure of the degree of interdependence or interaction between two modules __1__ The measure of the strength of functional relatedness of elements within a module
Match the sentence to the correct term. 1. functional requirement 2. methodology 3. notation
__2__ a collection of methods for solving a class of problems __3__ a graphical or textual set of rules representing a model __1__ an area of functionality that the system must have
Match the sentence to the correct term. 1. system 2. model 3. activity
__2__ abstraction of the reality __1__ underlying reality __3__ a set of tasks performed toward a specific purpose
Match the statement to the correct term. 1.Fault 2.Error 3.Failure
__2__ an incorrect state of the system __1__ the adjudged cause of an error __3__ the external behavior of a system does not conform to that prescribed in the system specification
Match the term to the correct description. 1. Associations 2. Aggregation 3. Composition
__2__ denote a "consists-of" hierarchy __3__ denote the life time of the component instances is controlled by the aggregate. __1__ denote relationships between classes
Match the term to the correct description. 1. Sequence diagrams 2. Statechart
__2__ represent behavior of a single object with interesting dynamic behavior __1__ represent the behavior of a systemas messages ("interactions") between different objects
Match the term to the correct description 1. Actor 2. use case
__2__ represents a class of functionality provided by the system __1__ represents a role, that is, a type of user of the system
Match the correct sentence to the term for Krutchen's 4+1 views 1. Logical 2. Process 3. Subsystem 4. Physical
__2__ shows how, at run-time, the system is composed of interacting processes. __4__ shows the system hardware and how software components are distributed across the processors in the system __3__ shows how the software is decomposed for development __1__ shows the key abstractions in the system as objects or object classes
Match the sentences to the correct terms. 1. Software specification 2. Software design 3. Software implementation 4. Software validation 5. Software evolution
__3__ Translate this structure into an executable program __1__ The process of establishing what services are required and the constraints on the system's operation and development __5__ As requirements change through changing business circumstances, the software that supports the business must also evolve and change __2__ Design a software structure that realizes the specification __4__ demonstrate that a system conforms to its specification and meets the requirements of the customer
Match the correct term to its definition. 1. Participant 2. Role 3. Work product 4. Deliverable
__3__ an artifact produced duringdevelopment __4__ work product for client __2__ associated with a set of tasks assigned to a participant __1__ all persons involved in a project
Match the sentences to the correct terms 1. Design principles 2. Design concepts 3. Design practices
__3__ change continuously as new methods, better analysis, and broader understanding evolve __2__ must be understood before the mechanics of design practice are applied __1__ establish an overriding philosophy that guides the designer as the work is performed
Match the sentence to the correct term for design model elements 1. Data 2. Architectural 3. Interface
__3__ describes the externally observable behavior of a class and provides access to its public operations __2__ describes the views, models, and structure of the system __1__ describes the structure, manipulation and integrity aspects of the data
Match the scheduling principle to it's correct definition. 1. defined outcomes 2. effort validation 3. interdependency 4. defined responsibilities 5. defined milestones 6. compartmentalization
__3__ indicate task interrelationship __5__ review for quality __4__ people must be assigned __2__ be sure resources are available __1__ each task must have an output __6__ define distinct tasks
Match the software metrics definition to the correct term 1. measure 2. measurement 3. indicator 4. process indicators 5. metric
__3__ provides insight into the software development process or project __2__ the act of determining a measure __4__ allow assessment of process in terms of what works and what doesn't __5__ quantitative measure of the degree to which a system, component or process possesses an attribute __1__ quantitative expression of an attribute of a product or process
Match the sentence about a pro to the pattern 1. Repository 2. Three-Tier Style 3. Model-View-Control
__3__ separation of responsibilities means future development or modification is easier __1__ the code to query and fetch data from data source(s) is not repeated __2__ client can access the data layer only through the logical layer, so data better secured
Match the sentence to the correct term. 1. Architectural design 2. Interface design 3. Data/Class design 4. Component-level design
__3__ transforms analysis classes into implementation classes and data structures __4__ transforms structural elements into procedural descriptions of software components __1__ defines relationships among the major software structural elements __2__ defines how software elements, hardware elements, and end-users communicate
With respect to the seven principles of risk management, match the term to the definition. 1. Encourage teamwork 2. Emphasize a continuous process 3. Integrate 4. Encourage open communication
__4__ if someone states a potential risk, don't discount it. __1__ the talents, skills and knowledge of all stakeholder should be pooled __2__ the team must be vigilant throughout the software process, modifying identified risks as more information is known and adding new ones as better insight is achieved. __3__ a consideration of risk must be integrated into the software process
A model of a system allows (multiselect)
better visualization easier comprehension
___________ is a document that describes a new business and a strategy to launch that business.
business plan
Using the risk management paradigm, Identify means to
c) search for an locate risks before they become a problem
The architecture is a representation that enables a software engineer to:
consider architectural alternatives at a stage when making design changes is still relatively easy analyze the effectiveness of the design in meeting its stated requirements reduce the risks associated with the construction of the software
Compute the risk exposure for the case below: •Risk identification. Company ABC planned on integrating 100 reusable software components. However, only 60 percent of the software components scheduled for reuse will, in fact, be integrated into the application. The remaining functionality will have to be custom developed. It will cost $1000.00 to custom develop one component. •Risk probability. 80%.
d) .80 x 40 x 1000
Select the correct types of feasibility analysis that are combined for a feasibility study. (multiselect)
organizational feasibility economic feasibility technical feasibility
Select all that apply. Software metrics are concerned with
product quality development team's productivity
A feasibility analysis is a detailed business case for the project. Select all the items that are outlined in a feasibility analysis.
risks costs benefits
Check all that applies. Requirement elicitation is hard because
stakeholders often don't know what they want from the system stakeholders express requirements in their own domain specific terms different stakeholders have different requirements
Select all that apply. Complete testing is near impossible for most of the system because
the domain of possible inputs of a program is too large it may not be possible to create all possible execution environments of the system the design issues may be too complex to completely test