


















Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Community
Ask the community for help and clear up your study doubts
Discover the best universities in your country according to Docsity users
Free resources
Download our free guides on studying techniques, anxiety management strategies, and thesis advice from Docsity tutors
SOEN 341 FINAL EXAM WITH CORRECT ANSWERS
Typology: Exams
1 / 26
This page cannot be seen from the preview
Don't miss anything!
During a code inspection, team members occupy different roles. Apart from author and reviewer, what are they? - ANSWER Moderator, recorder/scribe, reader Name five architectural patterns/styles - ANSWER - MVC ( Web application)
What are the FOUR major types of DESIGN? - ANSWER - C omponent design
Define the Engineering discipline - ANSWER Using appropriate theories and methods to solve problems bearing in mind organizational and financial
Waterfall Cons( 3 main reasons) - ANSWER - I t is based on classical engineering practice. Building something physical is not the same as developing software.
Waterfall pros - ANSWER - Rigid and formal process: fits well for embedded systems/safety-critical systems
Prototype model Process - ANSWER R equirements gathering --> Q uick Design --> 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 - ANSWER - I mproved system usability
Pros and Cons of Incremental Development are: - ANSWER Pros:
How do agile models differ from traditional models? - 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? - ANSWER Scrum is an agile method
support to always do a good job.
What are the differences between agile requirement and traditional requirement? - ANSWER Agile requirements focus more on what people think (meetings). Traditional requirements is writing requirements documentation.
Software process models - ANSWER Plan Driven:
Agile:
What are the steps/stages in requirement engineering (what do people do in
each step)? - ANSWER - R eview
NOTE: R. Design is in itself a different phase of Software Engineering.
What are the differences between functional and non-functional requirements (and some examples of each)? How can you distinguish them? - ANSWER A functional requirement describes WHAT a software system should do, while non-functional requirements place constraints on HOW the system will do so.
A system must send an email whenever a certain condition is met (e.g. an order is placed, a customer signs up, etc).
-A related non-functional requirement for the system may be:
Emails should be sent with a latency of no greater than 12 hours from such
Using Diagram
User stories main elements: - ANSWER 1. Describe user story
Unified Modelling Language (UML) - ANSWER - became popular in the 1990s
Families of software models - ANSWER - Static: -- Class diagrams -- Block diagrams -- Domain models
-- Sequence diagrams -- State diagrams
Types of Design Pattern(B C S): - ANSWER B ehavioural:
C reational:
S tructural:
Design Pattern: Observer(aka Publish - Subscribe) - ANSWER - Use when multiple presentations of an object's state are needed.
Decorator - ANSWER The decorator pattern allows designers to add additional behaviour to an object without the need for extensive subclassing
D. Cohesion is the OO principle most closely associated with allowing a single object to be seen as having many types. - ANSWER Correct Answer: C.
A. Encapsulation B. Coupling D. Polymorphism
Design Principle - ANSWER Reduce coupling where possible
Implementation & Quality Assurance( Inspections and modern reviews) - ANSWER !!!!!!!!!!!!!!!!!!!!!!!!!!!!
What is the difference between verification and validation? - 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?"
Ex: "Are we building the right product?"
What are involved in static and dynamic V&V? - ANSWER - Static V&V: Analyses of the code Ex: Static analysis tools, Compiler warnings
All the terms in testing - ANSWER - Errors are mistakes that are made by
What types of testing are there? What's their relationship with different software artifacts? - 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 --Acceptance testing
What's the difference between traditional and modern code review? - ANSWER - Structured inspections: Rigid, heavyweight process Involves in-person meetings, review checklists
Testing visibility specifiers - ANSWER -Black-box testing: --Tests that are written WITHOUT considering HOW the code is written/structured (based on specs) --Treats the system like an opaque box that accepts inputs and checks outputs
-White-box testing: --Tests that are written with an UNDERSTANDING of the structure of the code --Tests the inner workings of the system itself
Black-box or white-box? - ANSWER Unit tests? White box
System tests? Black-box
Stress tests? Black-box
Integration tests? White-box
Acceptance tests? Black-box