1/96
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No study sessions yet.
You should choose longer names for local variables or entities, but can use shorter ones for global variables or entities. (T/F)
False
Best definition for requirements
Statements that define and qualify what the software needs to do
What type of testing refers to testing done by the client or someone on their behalf to make sure the program runs as specified?
Acceptance Testing
Extreme Programming practices writing test cases at which point?
Before writing the code.
In white box testing, the test cases are based on the requirements specifications, design and code implementation. (T/F)
True
What are examples of good software implementation practices
Chose descriptive names, use standard libraries, use code reviews, test early, and follow coding conventions
What is a good definition of design constraints
Statements that constrain the ways in which the software can be designed or implemented
Definition for design decisions
Decisions made about the best ways to achieve requirements
What methods are used to simplify a complex problem
Incremental iteration, Modularization, Decomposition
Once the requirements are documented, a review with the user/s customers is done before the design of the software. (T/F)
True
The issue in software complexity that refers to the "relations and interactions" among the functions and components is what?
Depth
What is software integration
The process of linking together individually tested units into a coordinated whole system
The technique of continuous integration for system development did not exist until it was introduced by the Agile development methodologies. (T/F)
True
A key to dealing with the more parts and the extra programmers required to build a large system is coordinating Processes and methodologies, final Product and intermediate artifacts, and People. (T/F)
True
According to the text the term software engineering was first used where?
At the 1968 NATO conference.
Software engineers can also obtain a professional engineer (PE) license in every state of the United States. (T/F)
False
Software engineering is a broad field that touches upon all aspects of (a) developing and (b) supporting a software system; it does not support ______
Multi threaded algorithms for the solving of linear equations
Since the Caper Jones study in 2008 found that requirements errors accounted for only 12.5% of errors and coding errors accounted for 38.33% of errors, we should not focus very much on getting the requirements correct. (T/F)
False
The software engineering discipline has proven laws and proven principles equivalent to the laws of motion or the laws of thermodynamics. (T/F)
False
Requirements specification can be tested with _____
hand-drawn screens, a prototype, or writing the user manual before implementation
Software process models are defined by the
Task's preconditions and post-conditions, input and output, and tasks to be performed
What model has the disadvantages of very little task overlap, a sequential process, and a single iteration
Waterfall
The need to develop multiple components, to overlap the development, and to be more evolutionary leads to which models or models from the Waterfall model.
Incremental model and spiral model
As a software product is developed using RUP, it may go through several iterations during ___________
Elaboration, Transition, Inception, Construction
The Unified Modeling Language (UML) is a foundational part of the Rational Unified Process (RUP). (T/F)
True
What is NOT a major concept that drives RUP framework
Sequential and get it right in a single pass
The Software Engineering Institute located on the Carnegie Mellon University campus created the SEI Capability Maturity Model (CMM) to accomplish what?
Help a software organization to assess the level of maturity of their software development processes.
In both the CMM model and the CMMI staged representation model, if the organization is ranked as Level 1 it means what?
The organization has no processes in place for developing software.
What are two representations of the CMMI-SW model?
Continuous and Staged
What is the Unified Modeling Language (UML)
An object oriented modeling language that provides the elements and relationships to model software requirements and design.
Characteristics of agile methods
short releases and iterations, incremental design and user involvement, minimal documentation and informal communication
Fundamental principles of Extreme Programming?
Simplicity in design and code, constant feedback, frequent communication
The Agile method will design everything about the entire project up front. (T/F)
False
What is NOT a characteristic of the Scrum development process?
It is dependent on ALL the requirements for the system being specified before design, code and test. These stages are only done once and are done sequentially.
Agile processes were designed to deal with the inability of the "Traditional Processes" to cope with changes in requirements and technology fast enough. (T/F)
True
What is the set of statements that describe the user's needs and desires?
requirements
Incomplete requirements can cause which of the following consequences to a project?
Increase in project costs, increase in the project development time, failure of the project
A commonly used standard template for the SRS (Software Requirements Specification) that is often used to base an SRS is available from IEEE. (T/F)
True
Requirements are the "what" and design is the "how." (T/F)
True
The requirements engineering activities include review and validation, which are the testing of the requirements. (T/F)
True
According to the text and the lecture the major activities that must be performed after solicitation, analysis and prioritization does NOT include _____________
Hiring the members of the development team
Analysis of the requirements consists of ________
Clustering the requirements, categorizing the requirements, prioritizing the requirements
Two common tools used in producing and analyzing requirements are UML Use Case Diagrams and user interface prototypes. (T/F)
True
All requirements must be enumerated uniquely. Why?
It makes the requirement easily identifiable, a requirement can be referenced easily in another project document, identifiers can be referenced in the traceability matrix.
Examples of architectural design styles
event driven, pipes-and-filters, client-server, and model-view-controller
What are the two types of prototypes described in the text and lecture that can be done in design?
Low-fidelity, High-fidelity
What is the view representing the run-time components (processes) and how they communicate with each?
process view
Not all software systems have an architecture. (T/F)
False
Architecture deals with the interaction between the important modules of the software system. (T/F)
True
The Unified Modeling Language (UML) is a popular notation for specifying a design. (T/F)
True
An architectural view is a representation of a system structure. Multiple views of a system are possible and useful. (T/F)
True
The Model-View-Control style is a popular way of organizing what?
GUI programs
Modeling an object's different states and how it transitions between these states can be best modeled with what UML diagram?
UML State Transition Diagram
We consider code indentation a very important issue affecting which of the following?
readability and maintainability
Software engineers consistently produce programs that CANNOT be improved. (T/F)
False
You should always optimize your code for performance. (T/F)
False
The most important issues for maintaining a good coding style are to be consistent and to try to highlight the meaning of your code. (T/F)
True
A defensive programming practice of testing the preconditions and postconditions of your modules can be accomplished with which programming technique.
Assertions
What is an important component of the technique of refactoring?
Implement good unit tests so that you can tell if your code improvements altered its behavior
Use of a switch statement in the object oriented languages Java, C++ and C# can be indicative that polymorphism can be used to make the code cleaner. (T/F)
True
It is possible to include too many comments in your code. (T/F)
True
In many cases, if you cannot think of a good name for a module, then it may be indicative that you do not understand it well enough or have improperly decomposed you system. (T/F)
True
What is one of the main purposes of testing
Finding defects and assessing and ensuring quality
When we use an automated static analysis tool, we need to be cognizant of false positives. (T/F)
True
The only person who can test the system is the programmer. (T/F)
False
The white box testing technique develops test cases with knowledge of the requirements and the source code? (T/F)
True
When we are using static analysis of source code we are investigating programming style or error-prone programming practices such as excessive structural complexity. (T/F)
True
Running all the branch coverage test cases would ensure total statement coverage, but is seldom practically achievable. (T/F)
True
The use of boundary value analysis is not very important in constructing test cases. (T/F)
False
What is NOT a benefit of having a good unit test?
It guarantees that there are no defects in the tested code by utilizing black-box testing techniques
One cost-effective technique for detecting errors is to have code and document reviews. It can be applied to all types of all types of artifacts and have the side benefit of disseminating knowledge of parts of the project to other members of the team. (T/F)
True
What is the process of managing all the pieces and parts of artifacts produced as part of software development and support activities?
Software configuration managment
Software configuration is done at the conclusion of a software project. (T/F)
False
An important aspect of configuration management is ensuring that all the source materials are the right ones during and throughout the development stages. (T/F)
True
What process is a set of activities associated with the integration and conversion of source files to a set of executable files targeted for a specific execution environment?
Build process
The three tiers of configuration management tools are version and change control, the build function, and integration with development and support process activities. (T/F)
True
Verification testing definition
Checking that the software product conforms to its requirements and specifications
Performance testing refers to verification that the program behaves according to its performance specification, such as some number of transactions per second. (T/F)
True
Stress testing ensures that the program behaves correctly or degrades gracefully under stress conditions, such as a high load or low availability of resources. Stress testing typically will extend the testing of software beyond the performance specification to see where the breaking points are. (T/F)
True
New product releases are developed by which organization?
Product development organization
A large software product goes through a lengthy and expensive development process. However, the post release product support and maintenance cycle is several times longer that the original development process. (T/F)
True
Customer support and service for large software products are usually free to users. (T/F)
False
Steps that occur during a products sunset period include ___________
Eliminate all customer support for the product as soon as the planned termination of the product is announced
Usually the last layer of support and service functions are ______________
Technical problem/fix analysts
It is not necessary to use the same discipline of requirements, design, coding and testing since a problem-fix may only involve a small number of lines of code. (T/F)
False
It is typical to have a customer who has skipped early software updates and wants to install the latest update to be required to install the skipped updates first. Because of this most companies encourage customers to apply the fix releases as soon as possible after it becomes available. (T/F)
True
Whenever a change request comes in from the field or the customer support and service organization, the developers immediately get the request transferred to them electronically so that they can start solving the issue as quickly as possible and get it into the next update. (T/F)
False
In experienced support organizations, detailed accounts of usage and problem reports are constantly and carefully analyzed to ensure quality. (T/F)
True
What is a description of a time and materials agreement?
The client pays the developer for the time spent and the actual costs incurred in creating the software
Which of the following describes a fixed-price agreement?
The client pays the developer a fixed sum for the entire project
What should be a part of all well written software development agreements?
method for a dispute resolution, details of copyright ownership and license to use the software of parts of the software in specific ways, a breakdown of the project schedule with discrete stages called milestones, warranty provisions, a detailed software specification, payment arrangements
The advantage for the client of including the major milestones in the agreement is getting the work in phases avoids the danger of getting an unsatisfactory product at the very end. It also gives the client the opportunity to comment on work, and keeps the project moving forward on schedule. (T/F)
True
The advantage for the developer of having the client sign off on each phase of the project is the best way to avoid unwarranted claims of nonperformance or unsatisfactory performance by the client when the project is concluded. (T/F)
True
Who is bearing the majority of the risk in a time and materials agreement?
The client
It is common to have legal disclaimers and a copyright notice on the file header for every source file. (T/F)
True
Software developers should avoid transferring ownership of their background technology to the client by making sure the development agreement provides that the developer retains all ownership rights in this material. (T/F)
True
Most software development contracts warranty the software will work correctly for a couple of years at least. (T/F)
False