Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

SOEN 341 EXAM TEST BANK 2024 | ALL EXAM QUESTIONS AND CORRECT ANSWERS | ALREADY GRADED A+, Exams of Software Engineering

SOEN 341 EXAM TEST BANK 2024 | ALL EXAM QUESTIONS AND CORRECT ANSWERS | ALREADY GRADED A+ | VERIFIED ANSWERS | LATEST VERSION (ALL WHAT IS NEEDED IN ONE DOCUMENT)

Typology: Exams

2023/2024

Available from 07/03/2024

essay-writers
essay-writers 🇺🇸

3.8

(91)

1.9K documents

1 / 118

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SOEN 341 EXAM TEST BANK 2024 | ALL EXAM
QUESTIONS AND CORRECT ANSWERS |
ALREADY GRADED A+ | VERIFIED ANSWERS |
LATEST VERSION (ALL WHAT IS NEEDED IN
ONE DOCUMENT)
During a code inspection, team members occupy different roles. Apart from
author and reviewer, what are they? ------CORRECT ANSWER---------------
Moderator, recorder/scribe, reader
Name five architectural patterns/styles ------CORRECT ANSWER-------------
--- MVC ( Web application)
- Layered ( Operating System)
- Repository ( IDE)
- Client server ( Film library )
- Pipe and filter ( Processing invoices)
Software Quality Assurance is primarily concerned with two activities. What
are they? ------CORRECT ANSWER---------------Verification and validation
What are the key phases in a release pipeline? ------CORRECT ANSWER--
-------------- B uild
- I ntergrate
- D eploy
What are the different categories of software requirements? ------
CORRECT ANSWER---------------- User vs system
- Func vs non-func
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Partial preview of the text

Download SOEN 341 EXAM TEST BANK 2024 | ALL EXAM QUESTIONS AND CORRECT ANSWERS | ALREADY GRADED A+ and more Exams Software Engineering in PDF only on Docsity!

SOEN 341 EXAM TEST BANK 2024 | ALL EXAM

QUESTIONS AND CORRECT ANSWERS |

ALREADY GRADED A+ | VERIFIED ANSWERS |

LATEST VERSION (ALL WHAT IS NEEDED IN

ONE DOCUMENT)

During a code inspection, team members occupy different roles. Apart from author and reviewer, what are they? ------CORRECT ANSWER--------------- Moderator, recorder/scribe, reader Name five architectural patterns/styles ------CORRECT ANSWER------------- --- MVC ( Web application)

  • Layered ( Operating System)
  • Repository ( IDE)
  • Client server ( Film library )
  • Pipe and filter ( Processing invoices) Software Quality Assurance is primarily concerned with two activities. What are they? ------CORRECT ANSWER---------------Verification and validation What are the key phases in a release pipeline? ------CORRECT ANSWER-- -------------- B uild
  • I ntergrate
  • D eploy What are the different categories of software requirements? ------ CORRECT ANSWER---------------- User vs system
  • Func vs non-func

What are the different levels of development testing? ------CORRECT ANSWER---------------- Unit, integration, system

  • Done by developers What are some of the key differences between traditional software inspections and modern code review? ------CORRECT ANSWER-------------- -- Software inspection: rely on the process, meeting
  • Modern: use tools to help automate the process; no in-person meetings needed What are the different families of design patterns? ------CORRECT ANSWER---------------- Creational: factory
  • Structural: composite, adapter. decorator
  • Behavioral: template, strategy The classical design patterns that we will cover in this class fall into three categories:
    • Creational patterns that add flexibility to the object instantiation process (hiding the creation logic)
    • Structural patterns that are concerned with how classes and objects are combined to build software (adaptor, API migration)
    • Behavioural patterns that allow algorithm and object responsiblity to be flexibly redefined (Java iterator)

What is specification? ------CORRECT ANSWER---------------It is the task of precisely describing the software to be written. What are the FOUR major types of DESIGN? ------CORRECT ANSWER---- ------------ C omponent design

  • A rchitectural design
  • P ersistence design
  • I nterface design Define Software specification/development/validation/evolution ------ CORRECT ANSWER---------------- Development: How can the specification be realized? o Software is designed and programmed
  • Evolution: Reacting to changing market conditions o Software is modified to reflect changing customer and market requirements
  • Validation: Try to break your software system o Software is checked to ensure that it is what the customer requires
  • Specification: What should the software system do? o Define the software that is to be produced and the constraints on its operation Define Software Engineering ------CORRECT ANSWER--------------- Engineering discipline that is concerned with all aspects of software production, from the early stages of system specification through to maintaining the system after it has gone into use.

Describe the THREE types of TESTING ------CORRECT ANSWER----------- ----- C omponent testing: o Done by the person who writes the code

  • S ystem testing: o Feature testing and performance testing o System testing o Regression testing
  • C ustomer testing: o Acceptance testing o Field testing Vaguely describe what Evolution/Maintenance consist of: ------CORRECT ANSWER---------------- Maintaining and enhancing software to cope with new requirements or newly discovered problems.
  • A small part is fixing bugs.
  • A large part is extending systems to do new things. What are some of the other Software Development activities other than the main four ones? ------CORRECT ANSWER---------------- Coding
  • Deployment
  • Documentation
  • Software Training and support Define the Engineering discipline ------CORRECT ANSWER--------------- Using appropriate theories and methods to solve problems bearing in mind organizational and financial constraints. Code and fix model cons ------CORRECT ANSWER---------------- C ode becomes poorly structured

B uild Prototype --> C stomer evaluation of prototype (if NO --> refine requirements --> quick design --> ...) --> C ustomer acceptance --> D esign --> I mplement --> T est --> M aintenance Prototyping Model Pros ------CORRECT ANSWER---------------- I mproved system usability

  • I mproved design quality
  • I mproved maintainability
  • A closer match to users' real needs
  • R educed development effort Pros and Cons of Incremental Development are: ------CORRECT ANSWER---------------Pros:
  • The cost of changing the customer requirements is reduced.
  • It is easier to get customer feedback.
  • Customers are able to use and gain value from the software early. Cons:
  • It is hard for large organizations to adopt
  • An architecture that is flexible tends to degrade quickly
  • Clients want to change requirements How do agile models differ from traditional models? ------CORRECT ANSWER---------------Agile is based on the adaptive software development methods, whereas the traditional SDLC models like the waterfall model is based on a predictive approach.

What is involved in the SCRUM process? ------CORRECT ANSWER--------- ------Scrum is an agile method that focuses on managing iterative development rather than specific agile practices. The three phases are:

  • Outline planning and architectural Design
  • Assess, Select, Develop, Review (repeat)
  • Project Closure What are the main four key practices in XP (and the details of each practice)? ------CORRECT ANSWER----------------TEST-FIRST DEVELOPMENT An automated unit test framework is used to write tests for a new piece of functionality before that functionality itself is implemented.
  • USER STORIES FOR SPECIFICATION
  • REFACTORING All developers are expected to refactor the code continuously as soon as possible code improvements are found. This keeps the code simple and maintainable.
  • PAIR PROGRAMMING Developers work in pairs, checking each other's work and providing the support to always do a good job. What are the differences between agile requirement and traditional requirement? ------CORRECT ANSWER---------------Agile requirements focus more on what people think (meetings). Traditional requirements is writing requirements documentation. Software process models ------CORRECT ANSWER---------------Plan Driven:
  • Waterfall |
  • Prototype | ----> Build Software

What are the differences between use cases and user stories? ------ CORRECT ANSWER---------------They are written for different purposes.

  • User stories are about needs (agreed upon by the client and devs), and are often short and easy to read
  • Use cases are extremely detailed, and are all about the behavior you'll build into the software. The biggest difference is: use cases describe a complete interaction between the software and actors, whereas a user story is simply "As a user, I want blah blah because blah blah". What should be included in a use case? User story? ------CORRECT ANSWER---------------CHECK THE TEMPLATE
  • For User Stories: As a , I want so that .
  • For Use Case: Using Diagram User stories main elements: ------CORRECT ANSWER---------------1. Describe user story
  1. Meetings
  2. Confirmation: when do you think the user story is complete? Assessed by the client. Unified Modelling Language (UML) ------CORRECT ANSWER---------------- became popular in the 1990s
  • not just requirements, models for architecture and design as well

Families of software models ------CORRECT ANSWER---------------- Static: -- Class diagrams -- Block diagrams -- Domain models

  • Dynamic: -- Activity diagrams -- Use case diagrams -- Sequence diagrams -- State diagrams Types of Design Pattern(B C S): ------CORRECT ANSWER---------------B ehavioural:
  • Abstracts algorithms and assignment of responsibility among objects C reational:
  • Abstracts the object instantiation process S tructural:
  • Abstracts how classes and objects are composed to build larger structures Design Pattern: Observer(aka Publish - Subscribe) ------CORRECT ANSWER---------------- Use when multiple presentations of an object's state are needed.
  • Separates presentation of object state from the object itself Decorator ------CORRECT ANSWER---------------The decorator pattern allows designers to add additional behaviour to an object without the need for extensive subclassing

Design Principle ------CORRECT ANSWER---------------Reduce coupling where possible

  • Coupling occurs when there are interdependencies between one module and another
  • When interdependencies exist ---> changes in one place will require changes somewhere else
  • A network of interdependencies makes it hard to see at a glance how some component works. Implementation & Quality Assurance( Inspections and modern reviews) -----
  • CORRECT ANSWER---------------!!!!!!!!!!!!!!!!!!!!!!!!!!!! What is the difference between verification and validation? ------CORRECT ANSWER---------------- Verification is the process of checking that the software meets its stated functional and non-functional requirements Ex: "Are we building the product right?"
  • Validation is a more general process with the aim of ensuring that the customer will be satisfied with the outcome Ex: "Are we building the right product?" What are involved in static and dynamic V&V? ------CORRECT ANSWER--- ------------- Static V&V: Analyses of the code Ex: Static analysis tools, Compiler warnings
  • Dynamic V&V: Executing the code All the terms in testing ------CORRECT ANSWER---------------- Errors are mistakes that are made by people
  • Faults are the result of an error in software artifacts
  • Failures occur when a fault executes
  • Incidents are consequences of failures
  • Software testing exercises the software with test cases to find faults or gain confidence in the system (execution based on test cases)
  • Test cases provide a set of inputs and list a set of expected outputs
  • Test stubs are partial implementations (simulation) of components on which a component under test depends
  • Test drivers are partial implementations of components that exercise and depend on the tested component NOTE: Test drivers and stubs allow us to isolate components from the rest of the system when we are testing What types of testing are there? What's their relationship with different software artifacts? ------CORRECT ANSWER----------------Development testing: by developers --Unit testing --Integration (component) testing --System testing
  • Release testing: by QA team
  • User testing: by (potential)users --Alpha testing --Beta testing

Development testing strategies ------CORRECT ANSWER---------------- Partition testing: Identify groups of inputs that have common characteristics (should be processed the same way)

  • Guideline-based testing: Use guidelines based on previous experience of the kinds of errors that programmers often make This means designing tests that explicitly try to catch a range of specific types of defects that commonly occur Partition Testing ------CORRECT ANSWER---------------Equivalence partitioning:
  • Inputs and outputs can be thought of as members of sets with common characteristics
  • Rule of thumb -- Select test cases on the edge of the partitions -- Select a test case near the middle as well Combinations of equivalence classes ------CORRECT ANSWER---------------
  • Combinatorial explosion means that you cannot realistically test every possible system-wide equivalence class. If there are 4 inputs with 5 possible values there are 54 (i.e. 625) possible system-wide equivalence classes.
  • You should FIRST make sure that AT LEAST ONE TEST is RUN with every equivalence class of every individual input.
  • You should ALSO TEST ALL COMBINATIONS where an INPUT is likely to AFFECT the INTERPRETATION of another.
  • You should TEST a FEW other RANDOM COMBINATIONS of equivalence classes.

What is involved in the continuous integration process? ------CORRECT ANSWER---------------- CI is a software development practice where members of a team integrate their work frequently, usually each person integrates at least daily- leading to multiple integrations per day

  • Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible Key concerns for a reliable continuous integration feedback loop ------ CORRECT ANSWER---------------- Build system is robust
  • Tests are not "flaky" Which one is correct about software quality assurance? A. Static code analysis and code review are both static software V&V B. Well organized and effective code inspection replace testing C. Alpha testing includes stockholders who work closely with the development team, therefore belongs to development testing D. Unit testing should only test the expected behavior ------CORRECT ANSWER---------------A Do you know what does dependency means? How to specify dependency? ------CORRECT ANSWER---------------A project dependency is a logical, constraint-based or preferential relationship between two activities or tasks such that the completion or the initiation of one is reliant on the completion or initiation of the other. OR Targets that must be built prior to building others. What are the stakeholders/tools connected to the build system? ------ CORRECT ANSWER---------------- Release Automation
  • Practitioners

What are the types of effort estimation techniques (and given a technique, which type does it belong to)? ------CORRECT ANSWER---------------- Experience-based techniques

  • estimate future effort based on manager's exp from past projects
  • Algorithmic cost modeling
    • formulaic approach, based on estimates product attributes ( size, process characteristics, exp of staff) Do you understand the concepts of story points, velocity, ideal time, elapsed time? ------CORRECT ANSWER---------------- A story point ESTIMATES the amount of EFFORT involved in developing the feature, the complexity of developing it, the risks involved, etc.
  • Ideal Time - The time we estimate it will take to complete a story uninterrupted (consider this an estimate of size).
  • Elapsed Time - The actual amount of time it will take to complete the story.
  • Velocity - A measure of a team's rate of progress. An estimate of how much product backlog effort that a team can cover in a single sprint. What is the purpose of each kind of chart/graph/diagram in planning? ------ CORRECT ANSWER---------------- A timeline chart (also called a Gantt chart) is a horizontal bar chart which helps to plan, coordinate, and track specific tasks in a project. ( WBS)
  • Precedence networks(or activity-on-node networks) where
    • Nodes represent activities.
    • Edges represent precedence (or sequencing) requirements.

What concept in agile project management is analogous to ordering food in a restaurant without specifying exact measurements? ------CORRECT ANSWER---------------Ordering by relative size. How does the restaurant analogy illustrate ordering soup, entrees, and sodas? ------CORRECT ANSWER---------------Customers choose between cup or bowl for soup, full or half portion for entrees, and small or large for sodas without needing precise measurements. In agile projects, what is estimated without specifying exact measurements? ------CORRECT ANSWER---------------User stories or features. What does relative sizing in agile projects involve? ------CORRECT ANSWER---------------Indicating whether user stories are larger or smaller than others without specifying specific units. How do team members assess the size or complexity of a user story in relative sizing? ------CORRECT ANSWER---------------They compare it to other user stories in terms of effort, complexity, and risk. What are the three benefits of ordering by relative size in agile project management? ------CORRECT ANSWER---------------Efficiency, flexibility, and alignment with agile principles. What is the focus of relative size estimation in agile projects? ------ CORRECT ANSWER---------------Quick assessments based on comparative sizing.