What is the V Model?
Shows how different software artifacts can be validatied — not a process model
What is the difference between Validation and Verification?
Validation: "Did we build the right product?" (business perspective)
Verification: "Did we build the product right?" (technical perspective)
→ Validation is case-based; Verification checks consistency between artifacts
What is a Review in Software Engineering?
What types of reviews exist?
Why are reviews called a silver bullet?
Why are they still not used as much?
Meeting in which a Software artifact is examined/evaluated (looking at quality and correctnes,…)
Types
inspection (check if there are problems)
team review
walkthrough
pair programming (one is coding one is checking)
pass-around, ad-hoc review (documentation is produced, send around and comments are expected)
=> remove 60-90% of errors before testing is even started
Why not used?
- consultants cannot make money
- not new
- increased up front cost
- requires consideration of psychological factors
Benefits and Dangers of/for Reviews
Dangers of Reviews:
Testing is omitted because teams assume reviews catch all errors
Authors feel frustrated or even violated by harsh reviews
Sloppiness: "Errors will be found during review anyway"
Dangers for Reviews:
Managers cut review time under deadline pressure
Reviewers are unprepared, making the process a waste
Obfuscation: Authors hide errors behind tricky or unclear code/documents
Benefits
-> Quality, correctness
-> improved understanding on project (less dependency on one person)
-> Teaching for beginners
-> better code (readibility, good documentation)
What are the 7 phases of a review?
Planning – Schedule, define goals, select participants
Overview – Author presents artifact and context
Preparation – Reviewers study the material individually
Meeting – Team discusses findings and defects
Rework – Author fixes identified issues
Follow-Up – Check if rework was done correctly
Causal Analysis – Identify root causes of common defects
What roles are involved in a review?
Author – Creates the artifact
Moderator – Organizes and leads the review
Reader(s) – Reads the document aloud or explains it
Recorder – Logs all findings and decisions
Verifier – Confirms whether issues have been resolved
What is the inspection process in software reviews?
What documents are involved in a review process?
Name 3
(see 7 steps)
What 3 different Code Reading Techniques exist?
based on test cases
hypothesis based reading
architectural reading
What types of review exist and what phases of the review do they address?
What Psychological Interaction Patterns exist?
The Alcoholic Pattern
Roles: Addicted (e.g., always late/unprepared), Helper, Punisher, Ashamed
Dysfunction: Review becomes a loop of enabling and blame, not improvement
The "Now-I-Have-Got-You" Pattern
Reviewer A catches B's mistake and uses it to dominate
B is defenseless → leads to fear and silence
The "See-What-You-Made-Me-Do" Pattern
A blames their error on reviewer B’s previous suggestion
Undermines mutual responsibility and trust
The "If-It-Were-Not-For-You" Pattern
A claims: “If it weren’t for you, I’d have succeeded”
A uses hypothetical blame to avoid accountability
The "Look-How-Hard-I-Tried" Pattern
A highlights effort to excuse poor results
Shifts focus from quality to sympathy
The "Yes-But" Pattern
B blocks improvements by deflecting with "yes, but..."
Avoids responsibility while defending poor solutions
The "Wouldn’t-It-Be-Nice-If" Pattern
B suggests fancy additions to show off, ignoring A’s constraints
May push A into defensive or "yes-but" mode
w
Summary on Reviews
What are typical advantages of processes?
What is a software process model?
A software process model is an abstract representation of a software development process.
It defines:
Activities to be carried out
Roles and responsibilities
Artifacts to be produced
techniques and tools to be used
→ Models that define the order of phases and transition criteria are Life cycle models (e.g., Waterfall, V-Model)
What characterizes the Waterfall model?
Why is it wrong?
The Waterfall model is a sequential process model with feedback to earlier phases.
Phases:
Planning
Definition
Design
Implementation
Test
Use & Maintenance
→ "we can specify a system completely upfront"
What is the V-Model in software development?
The V-Model is a verification and validation-oriented life cycle model.
Left side: Development phases (from requirements to implementation)
Right side: Corresponding testing phases (unit test to acceptance test)
The “V” shape shows that each development step has a test counterpart
→ Encourages early thinking about tests and traceability from requirement to test
What are Iterative Processes in software development?
Iterative processes develop software in repeated cycles, allowing feedback and changes at each iteration.
Key Characteristics:
Each iteration includes: requirements → design → implementation → test
Working software is delivered early and improved continuously
Promotes feedback-driven development and risk reduction
→ Helps deal with uncertainty, evolving requirements, and complex systems
What is Evolutionary Processes compared to incremental in software development?
What of that is the Spiral Model?
Incremental development delivers the system in small, functional pieces, each adding value.
Evolutionary development allows the system to adapt and evolve as understanding improves.
Which models are the building blocks of oftware development processes?
And why?
waterfall model
the original V model
the spiral model
explaining how to incorporate
development phases
testing
risk management
such that a full grown process can be pieced together
What is the Unified Process (UP) in software development?
What are the benefits
The Unified Process (UP) is a framework for development.
Defines
4 Phases
9 Disciplines
Benefits:
iterative und incremental
risk-driven
client-driven
architecture-centric
What are the four phases of the Unified Process (UP)?
Inception
Define project vision, scope, and feasibility
Identify critical use cases, initial risks, rough estimate
Elaboration
Refine requirements, establish baseline architecture
Resolve high risks, plan construction phase in detail
Construction
Build the system incrementally
Focus on coding, testing, and integration
Transition
Deliver the final product to users
Handle user feedback, training, and defect correction
What are the disciplines in the Unified Process (UP)?
Business Modeling – Understand business context
Requirements – Capture and manage stakeholder needs
Analysis & Design – Define and design the system structure
Implementation – Code and build components
Testing – Verify functionality and quality
Deployment – Deliver and install the product
Configuration Management – Manage versions and artifacts
Project Management – Plan, track, and control project progress
Environment – Provide tools, standards, and processes
What does RUP do bettern than UP?
RUP additionally defines roles, activities/tasks, and artefacts/work products
What are the 6 RUP best practices?
Benefits and Problems of Processes
Conclusion to Software Development Processes
Zuletzt geändertvor 2 Tagen