click below
click below
Normal Size Small Size show me how
CECS 343 Final Exam
| Question | Answer |
|---|---|
| According to the 1995 Chaos Report, what percentage of software projects were completed on time and within budget? | |
| In the Chaos 2014 Report, “challenged” software projects were defined as projects that: | |
| Which factor was MOST associated with successful software projects according to the Chaos Report? | |
| Which of the following was identified as a major cause of “challenged” projects? | |
| Projects categorized as “impaired and ultimately cancelled” commonly suffered from: | |
| According to the Capers Jones study, which type of software error occurred MOST frequently? | |
| Why are requirements errors generally considered more dangerous than coding errors? | |
| Which statement BEST explains why requirement errors are costly? | |
| Which of the following is considered a NON-TECHNICAL issue in software engineering? | |
| The US General Accounting Office (2004) identified which strategy as critical for software success? | |
| What major realization led to the “birth” of software engineering? | |
| The term “Software Engineering” was formally emphasized during the: | |
| Which definition of software engineering emphasizes “cost-effective development of high-quality software systems”? | |
| IEEE Standard 610-1990 defines software engineering as the application of a: | |
| According to Tsui and Karam, software engineering spans across: | |
| Which statement BEST describes the relevancy of software engineering today? | |
| Which U.S. state recognized software engineering as a licensed engineering discipline? | |
| According to the IEEE-CS/ACM ethics principles, software engineers should primarily act consistently with: | |
| Which of the following is one of the “simpler” behavior rules discussed in software engineering ethics? | |
| Why are there no universal laws in software engineering comparable to Newton’s laws in physics? | |
| Which Davis principle stresses identifying the actual issue before documenting requirements? | |
| Davis’s principle “Put techniques before tools” means: | |
| According to Davis, which factor is MORE important than technology for software success? | |
| Royce’s principle of “architecture first” primarily focuses on: | |
| Royce emphasized iterative processes mainly because they: | |
| Which Royce principle attempts to reduce development effort through reusable parts? | |
| In software engineering, “round-trip engineering” refers to: | |
| Which Wasserman concept refers to simplifying complex systems? | |
| Which Wasserman concept is MOST associated with dividing software into manageable sections? | |
| Metrics in software engineering are primarily used to: | |
| Which statement BEST reflects the relationship between software engineering and project management? | |
| Which of the following was NOT identified as one of the three key strategies from the GAO report? | |
| Why did software engineering evolve from simple programming practices? | |
| Which of the following BEST represents a software engineering “profession”? | |
| Which principle is shared across Davis, Royce, and Wasserman concepts? | |
| What is the primary purpose of a process model in software engineering? | |
| Why are process models important in software development? | |
| Which of the following is considered a key word associated with process models? | |
| In the “simple and familiar” software process, which activity is commonly skipped by developers? | |
| Proceeding without understanding the “problem statement” mainly affects the: | |
| As software projects became larger and more complex, organizations needed to: | |
| Which factor contributed to the need for more formal processes in large projects? | |
| With more people and tasks, organizations must define: | |
| A defined process provides which of the following advantages? | |
| Traditional software development often lacked formal attention to: | |
| Which process model is considered the earliest formal software process? | |
| In the Waterfall model, which activity must occur first? | |
| The Waterfall method is characterized by: | |
| Which activity follows coding in the Waterfall model? | |
| The Incremental Model (A) emphasizes: | |
| In Incremental Model (A), each major requirement goes through: | |
| Incremental Model (B) is mainly associated with: | |
| Which process model was specifically proposed to address risk management? | |
| The Spiral Model was first proposed by: | |
| In the Spiral model, software development activities are organized into: | |
| The Rational Unified Process (RUP) includes which phase? | |
| Which sequence correctly represents the four RUP phases? | |
| Entry and exit criteria in a process model are important because they: | |
| SEI’s original Capability Maturity Model (CMM) was proposed to help organizations: | |
| In the Initial level of CMM, project success is mainly due to: | |
| Which of the following belongs to the Repeatable level of CMM? | |
| The Defined level of CMM focuses on organizations becoming competent at: | |
| Which process is associated with the Managed level of CMM? | |
| The highest CMM level, Optimizing, focuses heavily on: | |
| Which process belongs to the Optimizing level of CMM? | |
| Traditional software processes were mainly designed for: | |
| One major weakness of traditional processes was their inability to: | |
| Traditional processes generally assumed that requirements were: | |
| Traditional processes often relied on “heroic” developer efforts, meaning: | |
| Why did traditional processes require process experts? | |
| Traditional software processes often produced waste due to: | |
| Agile methodologies are best described as a: | |
| Agile methodologies emphasize: | |
| Which of the following is strongly associated with Agile development? | |
| Agile methodologies generally assume that: | |
| According to the Agile Manifesto, greater value is placed on: | |
| The Agile Manifesto values working software more than: | |
| Agile methodologies value customer collaboration over: | |
| Which Agile value emphasizes flexibility? | |
| Which methodology is considered the first Agile method developed by Kent Beck? | |
| Which Agile methodology is currently one of the most popular? | |
| Which methodology is considered only partially Agile? | |
| Which XP core value focuses on interaction among team members and customers? | |
| In XP, simplicity mainly applies to: | |
| Which XP principle encourages developers to welcome modifications during development? | |
| XP’s principle of “quality work” suggests that: | |
| Which XP practice involves customers providing immediate feedback directly to developers? | |
| In XP, refactoring refers to: | |
| Which XP practice aims for complete functional and unit test coverage? | |
| Collective code ownership in XP means that: | |
| Pair programming primarily provides: | |
| The XP practice of a 40-hour work week is intended to maintain: | |
| Cockburn classified Crystal methodologies partly based on project: | |
| Crystal Clear is intended for: | |
| Scrum development uses short development cycles known as: | |
| In Scrum, the Product Owner is responsible for: | |
| The Scrum Master’s primary responsibility is to: | |
| Which Kanban practice focuses on limiting unfinished tasks? | |
| Which of the following is a core element of DevOps? | |
| DevOps emphasizes sharing primarily to improve: | Collaboration and coordination |
| Before performing requirements engineering activities, what must be planned? | Resources, methodology, and time needed |
| Some organizations perform requirements engineering as a separate stand-alone activity in order to: | Price the activity separately from the software project |
| Which of the following is listed as a major requirements engineering activity? | Prototyping |
| Which activity involves obtaining requirements from stakeholders and users? | Elicitation |
| Why are clear requirements needed in software development? | For marketing strategies |
| Requirements documentation is needed to help create: | Programming languages |
| Which document helps control potential scope-creep? | Requirements document |
| Requirements documents are used to create: | Compiler optimization algorithms |
| The requirements document provides a way to: | Eliminate software testing |
| Requirements may already be provided when: | A request for price quotation is issued for a software development project |
| Users sometimes only understand requirements related to: | Their specific job tasks |
| What problem may occur when gathering requirements from users? | Requirements may be contradicting and incomplete |
| High-level requirements elicitation includes identifying: | Business opportunity and business needs |
| Which of the following is part of high-level requirements elicitation? | Success factor |
| Software engineers who interact with business management and handle requirements are sometimes called: | Business analysts |
| Requirements analysis involves: | Categorizing and prioritizing requirements |
| Two high-level categories of requirements are: | Functional and non-functional |
| Which of the following is one of the six dimensions of requirements? | Individual functionality |
| Which requirement dimension describes usage scenarios? | Constraints |
| Which category includes requirements such as performance, security, and reliability? | Business flow requirements |
| View Oriented Requirements Definition (VORD) is based on the concept that: | Requirements are only written by developers |
| The first step in VORD is to: | |
| Why is requirements prioritization necessary? | |
| Which of the following may influence requirements priority? | |
| Another factor influencing prioritization is: | |
| Requirements prioritization can be performed using: | |
| After requirements are solicited, analyzed, and prioritized, which activity must be performed? | |
| Requirements definitions may be written using: | |
| Which diagram captures relationships among data? | |
| Which methodology identifies actors, use cases, and system boundaries? | |
| Requirements traceability ensures that: | |
| Requirements prototyping mainly focuses on: | |
| Low-fidelity prototyping often uses: | |
| Once requirements are defined, prototyped, and reviewed, they must be placed into a: | |
| Why is requirement sign-off important? | |
| Implementation in software engineering refers to: | |
| Detailed design performed during implementation is often: | |
| Which of the following is considered a characteristic of a good implementation? | |
| Which quality refers to how easily code can be modified later? | |
| Coding guidelines are usually: | |
| Coding guidelines are important mainly for: | |
| Coding guidelines commonly specify: | |
| Good variable and file names should primarily: | |
| According to the notes, if you think of a “good” name immediately, it may indicate: | |
| Which naming convention style is commonly associated with Java? | |
| Which style issue helps improve code readability through alignment of code blocks? | |
| Which of the following is a concern related to function or method size? | |
| Which type of comment explains the purpose or goal behind the code? | |
| Why must comments be kept up to date? | |
| Debugging is the process of: | |
| Which phase of debugging focuses on reproducing an error consistently? | |
| Which debugging phase identifies where the error exists? | |
| In debugging heuristics, routines that already contain one error tend to: | |
| Which type of code is more likely to contain errors? | |
| Which debugging tool compares different versions of source code? | |
| A pre-condition defines: | |
| A post-condition describes: | |
| An assertion is: | |
| Performance optimization often involves tradeoffs with: | |
| According to the notes, which factor is usually more important than performance? | |
| A profiler is used to: | |
| Before optimizing software, developers should first: | |
| Refactoring is defined as: | |
| Which of the following is considered a “bad smell” in code? | |
| Which bad smell refers to a method becoming excessively large? | |
| Which refactoring technique creates a new smaller method from part of an existing one? | |
| Why can code reuse save effort? | |
| Why is writing reusable code more difficult? | |
| Virtualization allows organizations to: | |
| Containers are considered: | |
| One major advantage of cloud computing is: | |
| One disadvantage of cloud computing is: | |
| Infrastructure as Code means that: | |
| DevOps combines: | |
| Continuous Integration and Deployment mainly support: | |
| Quality assurance (QA) primarily focuses on: | |
| Quality control (QC) activities are mainly designed to: | |
| Which statement about QA and QC is TRUE? | |
| One traditional definition of software quality is that software: | |
| The definition “fit to use” is associated with: | |
| Verification asks the question: | |
| Validation focuses on whether software: | |
| Which technique involves executing software in a controlled environment? | |
| Formal methods are primarily used for: | |
| Static analysis is used to detect: | |
| An error in software engineering is: | |
| A fault (or defect/bug) is defined as: | |
| A failure occurs when the system: | |
| Fault severity is based mainly on: | |
| Testing is primarily performed for: | Replacing design activities |
| Testing is considered a form of: | Mathematical proof |
| Why can testing never prove software works 100% correctly? | Testing replaces debugging |
| Which group may participate in software testing? | Only programmers |
| Which type of testing focuses on individual modules or small pieces of code? | Functional testing |
| Acceptance testing is mainly associated with: | Database indexing |
| Black-box testing techniques are based mainly on: | Source code structure |
| White-box testing techniques are based mainly on: | Program code and internal logic |
| Equivalence class partitioning works by: | Dividing inputs into equivalent groups |
| The main purpose of equivalence partitioning is to: | Reduce redundant testing while maintaining coverage |
| Boundary value analysis is especially useful because: | Boundaries eliminate all defects |
| In basic boundary value testing, which input is commonly tested? | Far outside the maximum only |
| Path analysis is considered what type of testing technique? | User-oriented |
| Statement coverage in path analysis measures whether: | All program statements were executed |
| Testing all possible combinations of related variables is often difficult because: | Combinations grow rapidly |
| Unit testing is usually performed by: | Managers |
| Keeping unit test cases and results helps support: | Network optimization |
| Test-driven development (TDD) requires developers to: | Avoid refactoring |
| In TDD, after writing a failing test, developers should: | Delete the test |
| One reasonable stopping condition for testing is when: | All planned test cases are executed and defects fixed |
| Defect seeding involves: | Planting known bugs into software to measure testing effectiveness |
| In defect seeding, if the percentage of seeded bugs found exceeds the stopping threshold, testers should: | Stop testing |
| A review is best defined as: | Human examination of documents to detect errors |
| In a walkthrough, the: | Author explains the document to a team |
| Software inspections following Fagan’s method are primarily focused on: | Finding defects in work products |
| Which role in an inspection process records notes and defects? | Scribe |
| One advantage of inspections over testing is that inspections: | Can be applied to intermediate artifacts early |
| A major advantage of testing over inspections is that testing: | Can validate actual running behavior |
| Formal methods mainly provide: | Mathematical verification of correctness |
| One limitation of formal methods is that they: | Replace all testing |
| Static analysis tools can be applied to: | Source code and executable files |
| Customer/User Support mainly refers to: | Post-software product release support |
| Which of the following is considered non-defect support? | Usage questions and installation help |
| Defect support mainly focuses on: | Designing databases |
| Why does defect support require sophistication? | Because organizations must estimate resources and manage fixes |
| Immediately after a software release, the number of reported problems generally: | Increases significantly |
| Over time, the types of discovered problems usually become: | More difficult to diagnose |
| The traditional problem discovery curve is modeled after a: | Rayleigh curve |
| The Rayleigh curve is a special case of the: | Weibull distribution |
| When the Weibull parameter m = 2, the distribution becomes a: | Rayleigh curve |
| Software support is generally: | Included permanently without cost |
| Many software companies support only: | The latest release and a limited number of back levels |
| The purpose of moving users to newer software releases is mainly to: | Simplify and improve support management |
| In the product support life cycle, reduced defect support mainly focuses on: | All cosmetic issues |
| “Sun-setting” a product means to: | Increase feature releases |
| During product sun-setting, companies usually: | Stop all communication with customers |
| Which type of problems are typically still fixed during sun-setting? | High-severity problems |
| Tiered customer support organizes support teams into: | Different levels of expertise and responsibility |
| The first tier of customer support mainly handles: | Accepting, prioritizing, and resolving simple problems |
| Higher support tiers are usually responsible for: | Writing marketing material |
| The highest tier of customer support generally consists of experts who: | Fix and rebuild the code |
| A key factor in customer satisfaction is: | Fast turnaround time for problem fixes |
| Priority Level 1 problems are defined as: | Severe functional problems with no workaround |
| The expected response time for Priority Level 1 problems is: | Next product release |
| A Priority Level 2 problem is a: | Cosmetic defect only |
| Priority Level 3 problems generally have: | A workaround available for the functional issue |
| Priority Level 4 requests are usually addressed: | Only during emergencies |
| Why should users install fix releases in sequence? | Because some fixes depend on previous releases |
| Change control ensures that software changes are: | Carefully managed and documented |
| The change control process includes: | Origination, approval, monitoring, and closing changes |
| A change control board or committee is responsible for: | Managing and overseeing software changes |
| Automated workflow tools in change control are often used with: | Change control forms |
| One reason customers stay on older software releases is because: | The old releases is stable and "finally works" |
| Defect support planning requires organizations to estimate: | Problem arrival rates and needed resources |
| Recovery from failure is considered part of: | Defect support |
| Customers sometimes avoid installing fix releases because: | Fixes are always unnecessary |