Final Questions
3. software functions When LOC is used as the estimation variable, decomposition is absolutely essential and is often taken to considerable levels of detail. The greater the degree of partitioning, the more likely reasonably accurate estimates of LOC can be developed.
Check all that apply: LOC-based estimation is based on problem decomposition which focuses on 1. information domain values 2. project schedule 3. software functions 4. process activities
1. analyze 2. define 5. measure
Check all that apply: Six Sigma methodology defines three core steps. Select them. 1. analyze 2. define 3. design 4. improve 5. measure 6. verify
2. errors in design 3. errors in implementation
Check all that apply: Software reliability problems can almost always be traced to 1. errors in accuracy 2. errors in design 3. errors in implementation 4. errors in operation
1. conduct formal technical reviews prior to testing 2. specify requirements in a quantifiable manner
Check all that apply: What strategic issues needs to be addressed in a successful software testing process? 1. conduct formal technical reviews prior to testing 2. specify requirements in a quantifiable manner 3. use independent test teams 4. wait until code is written prior to writing the test plan
1. functionality 2. portability 3. reliability
Check all that apply: Which of the following are ISO 9126 software quality factors? 1. functionality 2. portability 3. reliability 4. visual appeal
1. adds value for developers and end users 2. effective software process creates infrastructure 4. useful products satisfy stakeholder requirements
Check all that apply: Which of the following are attributes of software quality? 1. adds value for developers and end users 2. effective software process creates infrastructure 3. removes need to consider performance issues 4. useful products satisfy stakeholder requirements
1. observability 3. simplicity 4. stability
Check all that apply: Which of the following are characteristics of testable software? 1. observability 2. reproducability 3. simplicity 4. stability
a) fewer people are required The software equation is derived from the PNR curve and demonstrates the highly nonlinear relationship between chronological time to complete a project and human effort applied to the project.
The software equation can be used to show that by extending the project deadline slightly a) fewer people are required b) you are guaranteed to meet the deadline c) more lines of code can be produced d) the height of the class hierarchy can be reduced
b) Includes project risks evaluation during each iteration.
The spiral model of software development... a) Is more chaotic than the incremental model. b) Includes project risks evaluation during each iteration. c) Ends with the delivery of the software product. d) All of these.
False Software is both a product and a vehicle for delivering a product (information) it is not a physical artifact.
True or False: Software is a product and can be manufactured using the same technologies used for other engineering artifacts True False
True By combining patterns, a software team can solve problems and construct a process that best meets the needs of a project.
True or False: Software processes can be constructed out of pre-existing software patterns to best meet the needs of a software project. True False
d) planning, design, coding, testing Planning and testing are elements of any managed software prcoess.
What are the four framework activities found in the Extreme Programming (XP) process model? a) analysis, design, coding, testing b) planning, analysis, design, coding c) planning, analysis, coding, testing d) planning, design, coding, testing
d) uncover errors in software work products
Which of the following are 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
b) market assessment Like all other areas of software engineering, a number of basic principles guide software project scheduling: <bch_lu> Compartmentalization. Interdependency. Time allocation. Effort validation. Defined responsibilities. Defined outcomes. Defined milestones.
Which of the following is not one of the guiding principles of software project scheduling: a) compartmentalization b) market assessment c) time allocation d) effort validation
d) correctness, maintainability, integrity, usability Although there are many measures of software quality correctness, maintainability, integrity, and usability provide useful indicators for the project team.
Which of the following provide useful measures of software quality? a) correctness, performance, integrity, usability b) reliability, maintainability, integrity, sales c) correctness, maintainability, size, satisfaction d) correctness, maintainability, integrity, usability
b) end users
Acceptance tests are normally conducted by the a) developer b) end users c) test team d) systems engineers
1. casual meeting 2. desk check 4. pair programming
Check all that apply: An informal review may consist of which of the following? 1. casual meeting 2. desk check 3. inspection 4. pair programming
1. control logic is invoked 2. data flow paths are established
Check all that apply: Regression testing should be a normal part of integration testing because as a new module is added to the system new 1. control logic is invoked 2. data flow paths are established 3. drivers require testing
1. attentive to detail 2. brutally honest 4. resilient under pressure
Check all that apply: Which of the following are important traits of an effective software engineer? 1. attentive to detail 2. brutally honest 3. follows process rules dogmatically 4. resilient under pressure
3. function 4. information objectives 5. performance Scope is defined by answering the following questions: Context. How does the software to be built fit into a larger system, product, or business context, and what constraints are imposed as a result of the context? Information objectives. What customer-visible data objects are produced as output from the software? What data objects are required for input? Function and performance. What function does the software perform to transform input data into output? Are any special performance characteristics to be addressed?
Check all that apply: Which of these software characteristics are used to determine the scope of a software project? 1. communications requirements 2. context 3. function 4. information objectives 5. performance 6. software platform
c) independent logic paths
The cyclomatic complexity metric provides the designer with information regarding the number of a) cycles in program b) errors in program c) independent logic paths d) program statements
c) The waterfall model of software development
Which is a reasonable approach when requirements are well defined? a) The spiral model of software development b) The prototyping model of software development c) The waterfall model of software development d) The incremental model of software development
d) All of the above Each of these statements is an example of the impact of software in society.
Which of the following statements indicate the extent of the impact of software on society? a) Social media has become pervasive of our everyday activities. b) Software is embedded in cars and appliances. c) Services are delivered on demand using the Internet and mobile devices. d) All of the above
a) engineering work tasks, milestones, deliverables A task set is a collection of software engineering work tasks, milestones, work products, and quality assurance filters that must be accomplished to complete a particular project. The task set must provide enough discipline to achieve high software quality. But, at the same time, it must not burden the project team with unnecessary work.
A task set is a collection of a) engineering work tasks, milestones, deliverables b) task assignments, cost estimates, metrics c) milestones, deliverables, metrics d) responsibilities, milestones, documents
c) select test paths based on the locations and uses of variables
Data flow testing is a control structure testing technique where the criteria used to design test cases is that they a) rely on basis path testing b) exercise the logical conditions in a program module c) select test paths based on the locations and uses of variables d) focus on testing the validity of loop constructs
d) focus on testing the validity of loop constructs
Loop testing is a control structure testing technique where the criteria used to design test cases is that they a) rely on basis path testing b) exercise the logical conditions in a program module c) select test paths based on the locations and uses of variables d) focus on testing the validity of loop constructs
communication planning modeling construction deployment The normal order in software development would be: communication, planning, modeling, construction, deployment
Place the 5 generic software engineering framework activities in the order they would normally occur during a software development project. modeling construction deployment planning communication
c) enable a manager to make reasonable estimates of cost and schedule. The objective of software project planning is to provide a framework that enables the manager to make reasonable estimates of resources, cost, and schedule. In addition, estimates should attempt to define best-case and worst-case scenarios so that project outcomes can be bounded.
The objective of software project planning is to a) convince the customer that a project is feasible. b) make use of historical project data. c) enable a manager to make reasonable estimates of cost and schedule. d) determine the probable profit margin prior to bidding on a project.
False You should choose a task set that best accommodates the needs of the project and the characteristics of your team. This implies that a software engineering action can be adapted to the specific needs of the software project and the characteristics of the project team.
True or False: A good software development team always uses the same task set for every project to ensure high-quality work products. True False
c) The incremental model of software development
Which is a good approach when a working core product is required quickly? a) The prototyping model of software development b) The waterfall model of software development c) The incremental model of software development d) The spiral model of software development
b) external failure costs
Which of the following is likely to be the most expensive cost of quality? a) appraisal costs b) external failure costs c) internal failure costs d) prevention costs
3. what was reviewed 4. who reviewed it 6. what were the findings
Check all that apply: A review summary report answers which three questions? 1. what defects were found 2. what caused defects 3. what was reviewed 4. who reviewed it 5. who was responsible 6. what were the findings
1. accept the work product without modification 4. reject the product due to severe errors
Check all that apply: At the end of a formal technical review all attendees can decide to 1. accept the work product without modification 2. modify the work product and continue the review 3. reject the product due to stylistic discrepancies 4. reject the product due to severe errors
1. incorrect or missing functions 2. interface errors 4. performance errors
Check all that apply: Black-box testing attempts to find errors in which of the following categories 1. incorrect or missing functions 2. interface errors 3. internal errors 4. performance errors
2. people 4. process 5. product 6. project Effective software project management focuses on the four Ps: people, product, process, and project.
Check all that apply: Effective software project management focuses on 1. payoff 2. people 3. performance 4. process 5. product 6. project
1. information domain values For function point (FP) estimates, decomposition works differently than lines of code (LOC) estimates. Rather than focusing on function, each of the information domain characteristics—inputs, outputs, data files, inquiries, and external interfaces—as well as the 14 complexity adjustment values discussed in Chapter 30 —are estimated. The resultant estimates can then be used to derive an FP value that can be tied to past data and used to generate an estimate.
Check all that apply: Function point (FP)-based estimation is based on problem decomposition which focuses on 1. information domain values 2. project schedule 3. software functions 4. process activities
3. Software increments must be delivered in short time periods 4. Software processes must adapt to changes incrementally Prototyping and iterative implementation with customer feedback are essential to managing unpredictability.
Check all that apply: How do you create agile processes to manage unpredictability? 1. Requirements gathering must be conducted very carefully 2. Risk analysis must be conducted before planning takes place 3. Software increments must be delivered in short time periods 4. Software processes must adapt to changes incrementally
3. start on the right foot 4. track progress A five-part commonsense approach to minimize software project failure: 1. Start on the right foot. 2. Maintain momentum. 3. Track progress. 4. Make smart decisions. 5. Conduct a postmortem analysis.
Check all that apply: How does a software project manager need to act to minimize the risk of software failure? 1. double the project team size 2. request a large budget 3. start on the right foot 4. track progress
2. risk management 3. software quality assurance 4. project tracking 6. formal technical reviews Umbrella activities should be applicable across all framework process actvities.
Check all that apply: Indicate the umbrella activities that would be applied across the entire software engineering process. 1. requirements gathering 2. risk management 3. software quality assurance 4. project tracking 5. modeling 6. formal technical reviews
1. information domain values 3. software functions Regardless of the estimation variable that is used, you should begin by estimating a range of values for each function or information domain value. Using historical data or (when all else fails) intuition, estimate an optimistic, most likely, and pessimistic size value for each function or count for each information domain value. An implicit indication of the degree of uncertainty is provided when a range of values is specified.
Check all that apply: Problem-based estimation is based on problem decomposition which focuses on 1. information domain values 2. project schedule 3. software functions 4. process activities
3. software functions 4. process activities Like the problem-based techniques, process-based estimation begins with a delineation of software functions obtained from the project scope. A series of framework activities must be performed for each function.
Check all that apply: Process-based estimation is based on problem decomposition which focuses on 1. information domain values 2. project schedule 3. software functions 4. process activities
3. to make strategic changes to the software process 4. to make tactical changes during a software project Public metrics generally assimilate information that originally was private to individuals and teams. Project-level defect rates (absolutely not attributed to an individual), effort, calendar times, and related data are collected and evaluated in an attempt to uncover indicators that can improve organizational process performance. Software process metrics can provide significant benefits as an organization works to improve its overall level of process maturity.
Check all that apply: Public metrics are used 1. to evaluate the performance of software development teams 2. to appraise the performance of individual team members 3. to make strategic changes to the software process 4. to make tactical changes during a software project
2. decomposition techniques 3. empirical models Decomposition techniques take a divide-and-conquer approach to software project estimation. By decomposing a project into major functions and related software engineering activities, cost and effort estimation can be performed in a stepwise fashion. Empirical estimation models can be used to complement decomposition techniques and offer a potentially valuable estimation approach in their own right.
Check all that apply: Software project estimation techniques can be broadly classified under which of the following headings? 1. automated processes 2. decomposition techniques 3. empirical models 4. regression models
3. state transition diagram
Check all that apply: Tests derived from behavioral class models should be based on the 1. data flow diagram 2. object-relation diagram 3. state transition diagram 4. use-case diagram
1. Why is the system being developed? 3. Where are they organizationally located? 4. How much of each resource is required? He calls it the W5HH Principle, after a series of questions that lead to a definition of key project characteristics and the resultant project plan: Why is the system being developed? What will be done? When will it be done? Who is responsible for a function? Where are they located organizationally? How will the job be done technically and managerially? How much of each resource is needed?
Check all that apply: The W5HH principle contains which of the following questions? 1. Why is the system being developed? 2. What will be done by whom? 3. Where are they organizationally located? 4. How much of each resource is required?
2. functionality to be delivered 3. process used to deliver functionality During the scoping activity no attempt is made to fully decompose the problem. Rather, decomposition is applied in two major areas: (1) the functionality and content (information) that must be delivered and (2) the process that will be used to deliver it.
Check all that apply: The major areas of problem decomposition during the project scoping activity are the 1. customer workflow 2. functionality to be delivered 3. process used to deliver functionality 4. software process model
2. detecting intertask dependencies 3. determining the critical path A task network, also called an activity network, is a graphic representation of the task flow for a project. It is sometimes used as the mechanism through which task sequence and dependencies are input to an automated project scheduling tool. In its simplest form (used when creating a macroscopic schedule), the task network depicts major software engineering tasks.The task network is a useful mechanism for depicting intertask dependencies and determining the critical path.
Check all that apply: The task (activity) network is a useful mechanism for 1. computing the overall effort estimate 2. detecting intertask dependencies 3. determining the critical path 4. specifying the task set to the customer
2. logic errors 4. typographical errors
Check all that apply: What types of errors are missed by black-box testing and can be uncovered by white-box testing? 1. behavioral issues 2. logic errors 3. performance issues 4. typographical errors
1. degree of communication desired 2. predicted size of the resulting program 3. rigidity of the delivery date Seven project factors that should be considered when planning the structure of software engineering teams: (1) difficulty of the problem to be solved; (2) "size" of the resultant program(s) in lines of code or function points; (3) time that the team will stay together (team lifetime); (4) degree to which the problem can be modularized; (5) quality and reliability of the system to be built; (6) rigidity of the delivery date, and (7) degree of sociability (communication) required for the project.
Check all that apply: Which factors should be considered in choosing the organizational structure for a software team? 1. degree of communication desired 2. predicted size of the resulting program 3. rigidity of the delivery date 4. size of the project budget
3. FP is a language independent measure 4. FP can be computed before a design is completed Proponents claim that FP is programming-language-independent, making it ideal for applications using conventional and nonprocedural languages, and that it is based on data that are more likely to be known early in the evolution of a project, making FP more attractive as an estimation approach. Opponents claim that the method requires some "sleight of hand" in that computation is based on subjective rather than objective data, that counts of the information domain (and other dimensions) can be difficult to collect after the fact, and that FP has no direct physical meaning—it's just a number.
Check all that apply: Which of the following are advantages of using function points (FP) as a measure of the functionality delivered by a software application? 1. FP is easily computed. 2. FP is a language dependent measure 3. FP is a language independent measure 4. FP can be computed before a design is completed
2. Only essential work products are produced 3. Process allows team to streamline tasks 4. Uses incremental product delivery strategy Agile processes use focus on creating only essential documents, early prototypes, and continuous stakeholder feedback.
Check all that apply: Which of the following are benefits of using agile process models? 1. Eliminate the use of project planning and testing 2. Only essential work products are produced 3. Process allows team to streamline tasks 4. Uses incremental product delivery strategy
1. frenzied work atmosphere 2. inadequate budget 3. poorly coordinated software process 5. unclear definition of team roles Clear goals and adequate resources (time, budget, and people) are essentuial avoliding team toxicity.
Check all that apply: Which of the following can contribute to team toxicity? 1. frenzied work atmosphere 2. inadequate budget 3. poorly coordinated software process 4. requirements changes 5. unclear definition of team roles
3. error handling 4. execution paths
Check all that apply: Which of the following need to be assessed during unit testing? 1. algorithmic performance 2. code stability 3. error handling 4. execution paths
1. prepare SQA plan for the project 2. review software engineering activities to verify process compliance 3. report any evidence of noncompliance to senior management
Check all that apply: Which of these activities activities are recommended to be performed by an independent SQA group? 1. prepare SQA plan for the project 2. review software engineering activities to verify process compliance 3. report any evidence of noncompliance to senior management 4. serve as the sole test team for any software produced
2. defect tracking against quality targets 3. empirical cost estimation 4. formal risk management Critical practice include: metric-based project management, empirical cost and schedule estimation, earned value tracking, defect tracking against quality targets, and people aware management (Section 31.2).
Check all that apply: Which of these are critical practices for performance-based project management? 1. assessing product usability 2. defect tracking against quality targets 3. empirical cost estimation 4. formal risk management
1. to characterize them 2. to evaluate them 4. to improve them Measurement can be applied to the software process with the intent of improving it on a continuous basis. Measurement can be used throughout a software project to assist in estimation, quality control, productivity assessment, and project control. Finally, measurement can be used by software engineers to help assess the quality of work products and to assist in tactical decision making as a project proceeds.
Check all that apply: Which of these are valid reasons for measuring software processes, products, and resources? 1. to characterize them 2. to evaluate them 3. to price them 4. to improve them
1. complexity of problem 2. different views of the problem 4. law of unintended consequences 5. risk associated with decision Global software teams often work on big problems where the consequences of making a bad decision can be high.
Check all that apply: Which of these factors complicate decision-making by global software teams? 1. complexity of problem 2. different views of the problem 3. experience of the team leader 4. law of unintended consequences 5. risk associated with decision 6. tools available to team members
b) exercise the logical conditions in a program module
Condition testing is a control structure testing technique where the criteria used to design test cases is that they a) rely on basis path testing b) exercise the logical conditions in a program module c) select test paths based on the locations and uses of variables d) focus on testing the validity of loop constructs
The Waterfall Model - A reasonable approach when requirements are well defined. The Incremental Model - A good approach when a working core product is required quickly. The Prototyping Model - A useful approach when a customer cannot define requirements quickly.
Determine the appropriate software process model given the project characteristics. The Component Model The Prototyping Model The Waterfall Model The V-Model The Spiral Model The Incremental Model ____ A reasonable approach when requirements are well defined. ____ A good approach when a working core product is required quickly. ____ A useful approach when a customer cannot define requirements quickly.
1. no stubs need to be written (bottom-up) 2. major decision points are tested early (top-down) 3. no drivers need to be written (top-down)
Differentiate the advantages of top-down integration testing from bottom-up integration testing. 1. no stubs need to be written 2. major decision points are tested early 3. no drivers need to be written - top-down - top-down - bottom-up
c) regression models derived from historical project data A typical estimation model is derived using regression analysis on data collected from past software projects.
Empirical estimation models are typically based on a) expert judgement based on past project experiences b) refinement of expected value estimation c) regression models derived from historical project data d) trial and error determination of the parameters and coefficients
b) All of these.
Evolutionary software process models... a) Can easily accommodate product requirements changes. b) All of these. c) Are iterative in nature. d) Do not generally produce throwaway systems.
d) an entire system to fail Software safety and hazard analysis are software quality assurance activities that focus on the identification and assessment of potential hazards that may affect software negatively and cause an entire system to fail. If hazards can be identified early in the software engineering process, software design features can be specified that will either eliminate or control potential hazards.
Hazard analysis focuses on the identification and assessment of potential hazards that can cause a) project termination b) schedule slippage c) cost overruns d) an entire system to fail
a) Can gain direct access to the device hardware WebApps make use of a browser to define the user interface and insulate the local device date from tampering.
Identify a characteristic that distinguishes a MobileApp from a WebApp. a) Can gain direct access to the device hardware b) Relies on a browser to protect the local device file system. c) Relies on web services to reduce the size of the App. d) Have been integrated to with corporate databases and applications
Evolutionary Software Process Models (in general) 2, 5, 6 The Spiral Model (in particular) 1
Match the given the project characteristics to the appropriate model(s). 1) Includes project risks evaluation during each iteration 2) Do not generally produce throwaway systems 3) Is more chaotic than the incremental model 4) Ends with the delivery of the software product 5) Iterative in nature 6) Easily Accommodates product requirements changes Evolutionary Software Process Models (in general) The Spiral Model (in particular)
Linear Process Flow - Building a routine product similar to something the team has done before Iterative Process Flow - Building systems involving technologies that are new to the development team Evolutionary Process Flow - Building projects (e.g. WebApps) that need to be developed in a rapid, but controlled manner that avoids unnecessary rework Parallel Process Flow - Building self-contained work products simultaneously for systems that are composed of subsystems Each of these describes different types of problems that may be applicable to each of the generic flows listed.
Match the process flow to the problem type requiring solution. 1. Iterative Process Flow 2. Evolutionary Process Flow 3. Linear Process Flow 4. Parallel Process Flow ____ Building a routine product similar to something the team has done before ____ Building systems involving technologies that are new to the development team ____ Building projects (e.g. WebApps) that need to be developed in a rapid, but controlled manner that avoids unnecessary rework ____ Building self-contained work products simultaneously for systems that are composed of subsystems
2. test cases demonstrate that each program function is called - black-box testing 1. test cases exercise the internal logic of a software module - white-box testing
Match the test case creation technique description to its name. 1. test cases exercise the internal logic of a software module 2. test cases demonstrate that each program function is called - black-box testing - white-box testing
a) give team members more control over process and technical decisions A software team can avoid frustration if it is given as much responsibility for decision making as possible. An inappropriate process (e.g., unnecessary or burdensome work tasks or poorly chosen work products) can be avoided by understanding the product to be built, the people doing the work, and by allowing the team to select the process model.
One of the best ways to avoid frustration during the software development process is to a) give team members more control over process and technical decisions. b) give team members less control over process and technical decisions c) hide bad news from the project team members until things improve. d) reward programmers based on their productivity
d) initiate software process improvement Process metrics are collected across all projects and over long periods of time. Their intent is to provide a set of process indicators that lead to long-term software process improvement
Process indicators enable a software project manager to a) assess the status of an on-going project b) track potential risks c) adjust work flow or tasks d) initiate software process improvement
c) likelihood and consequences Risk projection, also called risk estimation, attempts to rate each risk in two ways—(1) the likelihood or probability that the risk is real and will occur and (2) the consequences of the problems associated with the risk, should it occur.
Risk projection attempts to rate each risk in which two ways? a) likelihood and cost b) cost and impact c) likelihood and consequences d) likelihood and exposure
c) Multiple change requests introduce errors in component interactions Software is not physical so friction and use is not a factor in when it wears out
Software deteriorates rather than wears out because a) Software suffers from exposure to hostile environments b) Defects are more likely to arise after software has been used often c) Multiple change requests introduce errors in component interactions d) Software spare parts become harder to order
c) technology, finance, time, resources Once scope has been identified (with the concurrence of the customer), it is reasonable to ask: "Can we build software to meet this scope? Is the project feasible?" All too often, software engineers rush past these questions (or are pushed past them by impatient managers or other stakeholders), only to become mired in a project that is doomed from the onset.
Software feasibility is based on which of the following a) business and marketing concerns b) scope, constraints, market c) technology, finance, time, resources d) technical prowess of the developers
c) uncertainty and loss There is general agreement that risk always involves two characteristics: uncertainty—the risk may or may not happen; that is, there are no 100 percent probable risks—and loss—if the risk becomes a reality, unwanted consequences or losses will occur. When risks are analyzed, it is important to quantify the level of uncertainty and the degree of loss associated with each risk.
Software risk always involves two characteristics a) fire fighting and crisis management b) known and unknown risks c) uncertainty and loss d) staffing and budget
d) performance, support, cost, schedule The project manager should identify the risk drivers that affect software risk components— performance, cost, support, and schedule. In the context of this discussion, the risk components are defined in the following manner: Performance risk—The degree of uncertainty that the product will meet its requirements and be fit for its intended use. Cost risk—The degree of uncertainty that the project budget will be maintained. Support risk—The degree of uncertainty that the resultant software will be easy to correct, adapt, and enhance. Schedule risk—The degree of uncertainty that the project schedule will be maintained and that the product will be delivered on time.
Software risk impact assessment should focus on consequences affecting a) planning, resources, cost, schedule b) marketability, cost, personnel c) business, technology, process d) performance, support, cost, schedule
b) may cause an entire system to fail
Software safety is a quality assurance activity that focuses on hazards that a) affect the reliability of a software component b) may cause an entire system to fail c) may result from user input errors d) prevent profitable marketing of the final product
Designer and customer - define software objectives Have a backup person for - each critical team member Review works done - up to a particular stage Check whether risk aversion steps - are being properly followed Documents developed in a timely mannered - documentation created early Planning and frequent communication with the customer is needed to reduce the number of change requests along with delivering working software in increments for review by the customer...
Suggest a strategy for building software to prevent deterioration due to change by matching the phrases 1. Check whether risk aversion steps 2. Review works done 3. Designer and customer 4. Documents developed in a timely mannered 5. Have a backup person for _____ define software objectives _____ each critical team member _____ up to a particular stage _____ are being properly followed _____ documentation created early
c) coding A recommended distribution of effort across the software process is often referred to as the 40-20-40 rule. Forty percent of all effort is allocated to front-end analysis and design. A similar percentage is applied to back-end testing. You can correctly infer that coding (20 percent of effort) is deemphasized.
The 40-20-40 rule suggests that the least of amount of development effort be spent on a) estimation and planning b) analysis and design c) coding d) testing
c) and successful review of a defined software work product The best indication of progress is the completion and successful review of a defined software work product.
The best indicator of progress on a software project is the completion a) of a defined engineering activity task b) of a successful budget review meeting on time c) and successful review of a defined software work product d) and successful acceptance of project prototype by the customer
d) the conflicts of interest between developers and testers is reduced
The best reason for using independent software test teams is that a) software developers do not need to do any testing b) strangers will test the software mercilessly c) testers do not get involved with the project until testing begins d) the conflicts of interest between developers and testers is reduced
d) establish the objectives and scope Before a project can be planned, product objectives and scope should be established, alternative solutions should be considered, and technical and management constraints should be identified. Without this information, it is impossible to define reasonable (and accurate) estimates of the cost, an effective assessment of risk, a realistic breakdown of project tasks, or a manageable project schedule that provides a meaningful indication of progress.
The first step in project planning is to a) determine the budget. b) select a team organizational model c) determine the project constraints. d) establish the objectives and scope
a) after an estimate of the development effort is made. The number of people required for a software project can be determined only after an estimate of development effort (e.g., person-months) is made.
The number of people required for a software project is determined a) after an estimate of the development effort is made. b) by the size of the project budget. c) from an assessment of the technical complexity of the system. d) using educated guessing.
1. change 4. quality
The project plan should include explicit techniques for _______ and _______ management? 1. change 2. cost 3. error 4. quality
b) project risks, technical risks, business risks Project risks threaten the project plan making it likely that the project schedule will slip and that costs will increase. Technical risks threaten the quality and timeliness of the software to be produced. Business risks threaten the viability of the software to be built and often jeopardize the project or the product.
Three categories of risks are a) business risks, personnel risks, budget risks b) project risks, technical risks, business risks c) planning risks, technical risks, personnel risks d) management risks, technical risks, design risks
False Is it possible to build software without planning or creating test cases?
True or False: In agile process models the only deliverable work product is a working program. True False
False WebApps have evolved into sophisticated business and consumer applications that require the use of databases, web linking, flexible data representation, and use of API's to access social media or web services.
True or False: Modern WebApps are a mixture of print publishing and software development, making their development outside the realm of software engineering practice. True False
False The communication activity is best handled for large, complex projects with multiple stakeholders by using six distinct actions (inception, elicitation, elaboration, negotiation, specification, validation).
True or False: The communication activity is best handled for small projects using six distinct actions (inception, elicitation, elaboration, negotiation, specification, validation). True False
True Software engineering is a problem solving activity and would follow the usual problem solving steps.
True or False: The essence of software engineering practice might be described as: understand the problem, plan a solution, carry out the plan, and examine the result for accuracy. True False
1. unit testing 2. integration testing 3. validation testing 4. system testing
What is the normal order of activities in which traditional software testing is organized? - integration testing - system testing - validation testing - unit testing
d) The prototyping model of software development
Which is a useful approach when a customer cannot define requirements clearly? a) The incremental model of software development b) The waterfall model of software development c) The spiral model of software development d) The prototyping model of software development
a) Why does computer hardware cost so much? Software engineers try to build high-quality software on time and within budget.
Which question no longer concerns the modern software engineer? a) Why does computer hardware cost so much? b) Why does it cost so much to develop a piece of software? c)Why does software take a long time to finish? d) Why can't software errors be removed from products prior to delivery?
b) random There can be more than one right answer for this scenario, depending on how you perceive the products that are being built in this environment. But the random paradigm is really the most likely for this scenario.
Which team organizational paradigm would you expect to use for a team developing an extremely innovative computer-based video game? a) closed b) random c) open d) synchronous