0% found this document useful (0 votes)
3 views2 pages

Advanced Software Midterm Answers

The document outlines various software development methodologies including Waterfall, Agile, Scrum, Kanban, and DevOps, each with distinct characteristics. It also details the engineering process requirements such as elicitation, analysis, specification, validation, and management. Additionally, it compares software design patterns and testing types, and discusses best practices for code reviews.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views2 pages

Advanced Software Midterm Answers

The document outlines various software development methodologies including Waterfall, Agile, Scrum, Kanban, and DevOps, each with distinct characteristics. It also details the engineering process requirements such as elicitation, analysis, specification, validation, and management. Additionally, it compares software design patterns and testing types, and discusses best practices for code reviews.
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

1- Write short notes about different types of Software Development Methodologies.

Answer

• Waterfall - Linear, rigid, good for fixed requirements


• Agile - Flexible, iterative, customer-focused
• Scrum - Sprints (2-4 weeks), daily stand-ups
• Kanban - Visual workflow, continuous delivery
• DevOps - CI/CD, combines dev & ops

2- State the Engineering Process Requirements.

Answer

Elicitation .1

Gather needs (interviews, surveys, prototypes). o

Analysis .2

Check feasibility, resolve conflicts (SWOT, use cases). o

Specification .3

Document in SRS (functional/non-functional, UML). o

Validation .4

Verify via reviews, testing, prototypes. o

Management .5

Track changes (JIRA), traceability matrix. o

3-Is there any difference between (Explain your answer)

.I- The various types of Software Design Patterns

.II- Different types of Software Testing

Answer

Checklist – Ensure readability, security, error handling. .1

Small Changes – Review focused, manageable chunks. .2

Automated Tools – Use linters (ESLint, Flake8) and SonarQube. .3

Clear Feedback – Be specific and constructive. .4

Key Focus – Critical logic, edge cases, docs. .5

Collaborate – Pair programming, rotate reviewers. .6


Track Progress – Use Git, improve via retrospectives. .7

4- What are the best methods for Code Reviews?

Answer

Design Patterns .1

What: Reusable code templates (e.g., Singleton, Observer). o

Purpose: Improve code structure and maintainability. o

Categories: Creational, Structural, Behavioral. o

Testing Types .2

What: Methods to check software quality (e.g., Unit, Performance). o

Purpose: Find bugs and ensure requirements are met. o

Categories: Functional, Non-Functional, Manual/Automated. o

You might also like