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 Midterm Exam: Software Engineering Concepts and Agile Development, Exams of Software Engineering

A comprehensive overview of key software engineering concepts, including the waterfall model, agile development, and devops. It explores the different phases of software development, the importance of requirements engineering, and the benefits of agile methodologies like scrum and extreme programming (xp). The document also includes a series of questions and answers that test understanding of these concepts, making it a valuable resource for students studying software engineering.

Typology: Exams

2024/2025

Available from 03/02/2025

belluna-skyler
belluna-skyler 🇺🇸

756 documents

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
SOEN 341 Midterm Exam With
Complete Solution
What are the main software engineering activities? - ANSWER -Specification
-design and implementation
-validation
-evolution
What are the four design phases in SOEN? - ANSWER -Architectural design
-component design
-persistence and database design
-interface design
What do you do in architectural design? - ANSWER Identifying the overall
structure of the system, the principal components, their relationships and
how they are distributed.
What do you do in persistence/database design? - ANSWER Designing the
system data structurues and how these are to be represented in a databse.
What do you do in interface design? - ANSWER Defining the interfaces
between system components.
What do you do in component selection and design? - ANSWER Searching for
reusable components. If unavailable, you design how it will operate.
What are the three validation/testing elements? - ANSWER - Component
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Partial preview of the text

Download SOEN 341 Midterm Exam: Software Engineering Concepts and Agile Development and more Exams Software Engineering in PDF only on Docsity!

SOEN 341 Midterm Exam With

Complete Solution

What are the main software engineering activities? - ANSWER -Specification -design and implementation -validation -evolution What are the four design phases in SOEN? - ANSWER -Architectural design -component design -persistence and database design -interface design What do you do in architectural design? - ANSWER Identifying the overall structure of the system, the principal components, their relationships and how they are distributed. What do you do in persistence/database design? - ANSWER Designing the system data structurues and how these are to be represented in a databse. What do you do in interface design? - ANSWER Defining the interfaces between system components. What do you do in component selection and design? - ANSWER Searching for reusable components. If unavailable, you design how it will operate. What are the three validation/testing elements? - ANSWER - Component

testing

  • System testing
  • Customer testing What happens during the component testing? - ANSWER -Individual components are tested independently. -Components may be functions or objects or coherent groupings of these entities. -Done by the person who writes the code. What happens during the system testing? - ANSWER Testing of the system as a whole. Testing of emergent properties is particularly important. What happens during the customer testing? - ANSWER Testing with customer data to check that the system meets the customer's needs. Is software obligated to change and evolve? - ANSWER It will change and evolve. As requirements change through changing business circumstances, the software that supports the business must also evolve and change. What happens during Evolution/Maintenance? - ANSWER - Maintaining and enhanncing software to cope with newly discovered problems or new requirements can take far more time than the initial development of the software.
  • Most maintenance is extending systems to do new things, which in many ways can be considered new work. What is the difference between building and growing software? - ANSWER

Documentation Why people prefer agile development method over plan-driven development? - ANSWER Because the plan-driven development is deemed too slow and the agile method reduces the delivery time. Does Agile Development require documentation? - ANSWER Yes, but it's very minimal - focus on working code. What's the Manifesto for Agile Software Development? - ANSWER - Individuals and interactions > Processes and tools

  • Working software > comprehensive documentation
  • Customer Collaboration > Contract Negotiation
  • Responsing to change > following a plan What's the customer involvement principle? - ANSWER Customers should be closely involved throughout the developmenet process. What's the incremental delivery principal? - ANSWER The software is developed in increments with the customer specifying the requirements to be included in each increment. What's the people not process principle? - ANSWER The skills of the development team should be recognized and exploited. Team members should be left to develop their own ways of working. What's the embrace change principle? - ANSWER Expect the system requirements to change. What's the maintain simplicity principle? - ANSWER Focus on simplicity in both the software being developed and in the development process.

In Agile Development, is it correct that the project management does not include planning to reduce overheard? - ANSWER No. What's Extreme Programming (XP)? - ANSWER Introduced in the late 90's, it takes an 'extreme' approach to iterative development. EX of Practices

  • New versions may be built several times per day; -All test must be run for every build and the build is only accepted if tests run successfully.

What's the XP practices/principles? - ANSWER 1) Incremental planning

  1. Small releases
  2. Simple design
  3. Test-first development
  4. Refactoring
  5. Pair programming
  6. Collective ownership
  7. Continous integration
  8. Sustainable pace
  9. On-site customer

What are the 4 variable that can be adjusted in a project in XP? - ANSWER 1)

  • Trust between customers anbd developers is established and a positive culture is created in which everyone expects the project to succees.

Why is many software delivered late? - ANSWER - Unrealistic deadline

  • Underestimation
  • Risks which were not considered.
  • Technical Difficulties
  • Miscommunication among staff.

What is software project scheduling? - ANSWER An activity that distributes estimated effort across planned project duration by allocating the effort to specific software engineering tasks.

What are the two types of estimation techniques? - ANSWER - Experience-based techniques = Alogrithmic cost modeling

What's a story point? - ANSWER A story point estimates the amount of effort involved in developing the feature, the complexity of developing it, the risk inherent in it, and so on.

Why we use Ideal hours? - ANSWER Because it is relative and we can use it to estimate the size and complexity of a story.

What's the difference between story point, ideal day and velocity? - ANSWER Story point : Duration is calculated (not estimated) as the total story points divided by velocity.

Ideal Day: Duration is calculated (not estimated) as the total ideal days divided by velocity.

Velocity: Velocity is estimated based on how many points/ideal days you completed in last iteration

What are the key points of agile panning? - ANSWER - Separate the estimation of effort from the estimation of duration.

  • Use relative size estimates
  • Derive time estimates based on velocity
  • Spend a small amount of time on estimating
  • DevOps practices will influence
    • way to organize teams
    • way to build systems
    • the structure of the systems.

What are DevOps practices? - ANSWER - Treat Ops as first-class citizens

  • Make Dev more responsible
  • Automate Everything.
  • Enforce deployment process
  • Develop infrastructure code with the same set of practices as application code.

What are DevOps consequences. - ANSWER - Speed up depolyment through minimzing synchronous coordination among development teams.

  • Synchronous coordination, like a meeting, adds time since it requires
    • Ensuring all parties are available
    • Ensuring that all parties have the background to make the coordination productive.
    • Following up to decisions made during the meeting.
  • Keeps teams relatively small -Advantages: make decisions quickly, less coordination overhead, more coherent units.

What are the types of statements involved in RE? - ANSWER - Descriptive statements: properties that the system holds regardless of how the system behaves?

  • Prescriptive statements: desirable properties about the system that may hold or not depending on how the system behaves.

What's the difference between User vs System Requirements - ANSWER User Requirements : Describe the services the system is expected to provide.

System requirements: Detailed descriptions of system functions and operational constrains.

Concerns:

  • Quantifiability: : Goals like "system should be bug-free" are noble but impractical to validate.

What are the NRF's properties? - ANSWER 1) Speed

  1. Size
  2. Ease of use
  3. Reliability
  4. Robustness
  5. Portability

What are the NFRs High-level classification - ANSWER 1) Product requirements: The delivered product must perform in a certain way.

  1. Organizational requirements: Process constraints, standards that must be followed.

  2. External requirements: Non-product, non-organizational.

What are the characteristics of good requirements? - ANSWER - Complete Sentences

  • Plain Language
  • Subject and predicate
  • Realism (Feasibility)
  • Validaty (Necessity)
  • Verfiability (Testability)
  • Consistency
  • Completeness

What are the Advantages of natural language requirement definitions - ANSWER - Well-established practice

  • Flexible

What are the Disadvantages of natural language requirement definitions - ANSWER - Lack of clarirty

  • Requirements confusion
  • Requirements amalgamation

What are the ways of writing a system requirements specification - ANSWER

What do we do in project scheduling? - ANSWER - Decide how to organize the project as taks to be done

  • Estimate the resources needed to complete each task, the required effort, and who will work on the taks.
  • Estimate the resources needed to complete each task.

What are the scheduling problems? - ANSWER - Hard to estimate the difficulty of problems

  • Productivity is not proportional to the number of people working on a task.
  • The unexpected always happens. Always allow contingency in planning.

Each project activity has what? - ANSWER - a duration in calendar days or months

  • an effort estimate
  • a deadline
  • a defined end-point.

What are milestones? - ANSWER Milestones are points in the schedule against which you can assess progress

What are deliverables - ANSWER Deliverables are work products that are delivered to the customer.

What's Work breakdown structure (WBS) - ANSWER WBS is exhaustive, hierachical tree structure of deliverables and tasks that need to be performed to complete a project.

What provides WBS? - ANSWER - A description of all significant work.

  • A clear task decompiosition for assignment of responsibilities.
  • A framework for scheduling, budgeting, and expenditure tracking.

Is seperating the estimation of effort from the estimation of duration correct for agile planning? - ANSWER Yes

What's ES? - ANSWER Earliest Start time : earliest time at which the activity can start given that its precedent activities must be completed first

  • Fast Tracking
  • Reducing scope
  • Negotiating with stakeholders
  • Optimize resource allocation

When is Schedule compression applied? - ANSWER When project deadlines are at risk.

Is normally used to assess progresses at milestones during a project correct in activity network diagram? - ANSWER No.