Comprehensive Software Engineering & Agile Development Key Concepts

0.0(0)
studied byStudied by 0 people
full-widthCall with Kai
GameKnowt Play
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/135

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

136 Terms

1
New cards

What are the main components of a Software Process Model?

Specification, Design and Implementation, Validation, and Evolution.

2
New cards

What is the meaning of 'Pre- and Post-Conditions' in software processes?

Statements that define the state of the system before and after a process activity is executed.

3
New cards

What are the two main approaches to software development processes?

Plan-driven and agile approaches.

4
New cards

What is the Incremental Development Model?

A model where specification, development, and validation are interleaved, typically in 2-4 week increments.

5
New cards

What is the focus of the Initial Phase in Scrum?

To establish general objectives for the project and design the software architecture.

6
New cards

What is the definition of Requirements Engineering?

The process of establishing the services a customer requires from a system and the constraints under which it operates.

7
New cards

What is Requirements Specification?

The documentation of the requirements in a detailed manner.

8
New cards

What do class diagrams depict?

They show classes, attributes, and relationships in object-oriented systems.

9
New cards

What is Software Engineering?

An engineering discipline concerned with all aspects of software production, including theories, methods, and tools for professional software development.

10
New cards

What is the purpose of Software Process Descriptions?

To standardize how software is built, improve consistency, quality, predictability, define roles and activities, and support process improvement and compliance.

11
New cards

What is the difference between planned and incremental software processes?

Planned processes have all activities pre-defined, while incremental processes allow for adjustments based on changing customer requirements.

12
New cards

What is Agile Development?

A methodology that emphasizes incremental planning and flexibility to adapt to changing customer needs.

13
New cards

What are User Stories in software development?

Short descriptions of a feature from the perspective of the end user, used to capture requirements.

14
New cards

What is the Code Review Process?

A process to ensure code quality and knowledge sharing, involving a developer submitting a pull request and a reviewer checking for functionality, readability, and test coverage.

15
New cards

What roles are involved in the Code Review Process?

Author (Developer) and Reviewer (Peer/Senior Developer).

16
New cards

What tools are commonly used in the Code Review Process?

GitHub, ESLint, and unit test frameworks.

17
New cards

What are some common software roles in the industry?

Video game designers, Full Stack Engineers, DevOps Engineers, Mobile Developers, Quality Assurance Engineers, Database Administrators, Data Analysts, ETL Developers, Software Architects.

18
New cards

What is the significance of software costs in system development?

Software costs dominate computer system costs and are typically higher for maintenance than for initial development.

19
New cards

What is the importance of testing and quality assurance in software engineering?

To ensure reliability and reduce long-term maintenance costs by identifying issues early in the development process.

20
New cards

What is the role of a Software Engineer?

To understand requirements, implement designs, create databases, write test cases, and support applications while continuing to learn new technologies.

21
New cards

What is the purpose of CI/CD in software development?

To automate the integration and delivery of code changes, ensuring faster and more reliable software releases.

22
New cards

What are some modern software development tools mentioned in the syllabus?

Jenkins, Figma, JIRA, Trello, Notion, Visual Studio Code, IntelliJ, PyCharm, GitHub, MySQL Workbench, DBeaver, PostMan, Insomnia.

23
New cards

What are some frameworks that may be covered in CS490?

Svelte, React, Angular, Flask, Django, ExpressJS, NodeJS, Spring Boot, ASP.NET.

24
New cards

What is the expected class average for CS490?

There is no curve; the average is based on the actual performance of the class.

25
New cards

What is the significance of the Software Development Life Cycle (SDLC)?

It outlines the stages of software development, ensuring systematic planning, execution, and maintenance.

26
New cards

What is the role of a Database Administrator?

To manage and maintain databases, ensuring data integrity and availability.

27
New cards

What is Extreme Programming?

An Agile development methodology that emphasizes customer satisfaction, flexibility, and frequent releases.

28
New cards

What is SCRUM?

An Agile framework for managing complex software development, focusing on iterative progress and team collaboration.

29
New cards

What is the Waterfall Model?

A plan-driven model with separate and distinct phases of specification and development.

30
New cards

What is a benefit of the Waterfall Model?

The process is visible, allowing clear tracking of project phases.

31
New cards

What is a drawback of the Waterfall Model?

It lacks adaptability, making it difficult to accommodate changes once the process is underway.

32
New cards

What is a key benefit of the Incremental Development Model?

It is adaptable, allowing easy accommodation of changes in requirements.

33
New cards

What is a drawback of the Incremental Development Model?

The process is not visible due to interleaved steps, which can lead to unclear requirements.

34
New cards

What is the primary need for Agile Development?

Rapid development and delivery to keep pace with fast-changing business needs.

35
New cards

What is the principle of Customer Involvement in Agile Development?

Customers should be closely involved throughout the development process.

36
New cards

What does Incremental Delivery mean in Agile Development?

Software is developed in increments with the customer specifying requirements for each increment.

37
New cards

What does the principle of 'People not Process' emphasize in Agile Development?

The skills of the development team should be recognized and exploited, allowing flexibility in their working methods.

38
New cards

What is Extreme Programming (XP)?

An influential Agile methodology that focuses on iterative development with a strong emphasis on development practices.

39
New cards

What is a practice of Extreme Programming related to planning?

Incremental Planning, where requirements are recorded on story cards and prioritized for development.

40
New cards

What is Test-Driven Development (TDD)?

A practice where test cases are written before the functionality is implemented.

41
New cards

What is Pair Programming in Extreme Programming?

A practice where two developers work together on the same machine, checking each other's work.

42
New cards

What is the role of the Scrum Master in Scrum methodology?

To ensure that the Scrum process is followed and to protect the development team from external distractions.

43
New cards

What is a Sprint in Scrum?

A development iteration, usually lasting 2-4 weeks.

44
New cards

What is the purpose of the daily SCRUM meeting?

To review progress and prioritize work for the day in a short face-to-face meeting.

45
New cards

What is the role of the Product Owner in Scrum?

To identify product features, prioritize them for development, and review the product backlog.

46
New cards

What does 'Velocity' refer to in Scrum?

An estimate of how much product backlog effort a team can cover in a single sprint.

47
New cards

What happens during the Project Closure phase in Scrum?

The project wraps up, required documentation is completed, and lessons learned are assessed.

48
New cards

What is the purpose of understanding a team's velocity in Scrum?

It helps estimate what can be covered in a sprint and measures the improving performance of the Scrum team.

49
New cards

What is a potentially shippable product increment?

It is the software increment delivered from a sprint that is in a finished state, requiring no further work to be incorporated into the final product.

50
New cards

What is the product backlog in Scrum?

A list of 'to do' items that the Scrum team must tackle, including feature definitions, software requirements, user stories, and supplementary tasks.

51
New cards

What occurs during the sprint planning ceremony?

The team estimates the effort needed for each task at the start of a new sprint.

52
New cards

What is velocity planning in Scrum?

It is a method to estimate the effort needed for tasks, often using planning poker and assigning complexity with methods like man hours or Fibonacci sequence.

53
New cards

What is the daily Scrum?

A daily stand-up meeting where team members discuss what they worked on yesterday, what they plan to work on today, and any blockers they face.

54
New cards

What happens during the sprint review?

Developers present completed work to stakeholders and discuss potential modifications to help achieve product goals.

55
New cards

What is the focus of the sprint retrospective?

It focuses on discussing what went well and what didn't during the sprint, aiming to improve processes for better results.

56
New cards

What is backlog grooming in Scrum?

A ceremony where the product backlog items are broken down and further defined into smaller, more precise items for the sprint backlog.

57
New cards

What are the benefits of using Scrum?

It breaks the product into manageable chunks, improves team communication, ensures on-time delivery, and builds trust between customers and developers.

58
New cards

What is a user story in Scrum?

A brief description of a software feature or product goal from the perspective of a user, often structured as 'As a [user], I want [goal] so that [reason]'.

59
New cards

What is required for Milestone 2 in the project guidelines?

Completion of any 7 working features is necessary to earn full points, with each feature worth 1 point.

60
New cards

What is the maximum point value for each milestone in the project?

The maximum is 8 points per milestone, with specific requirements for working features and proper presentation.

61
New cards

What are the video deliverable guidelines?

The video must be under 10 minutes, demonstrate both front end and back end, and be uploaded to YouTube without watermarks.

62
New cards

What is the significance of edge cases in the project?

Considering edge cases is crucial; failure to do so may result in loss of points for the feature.

63
New cards

What features should be included on the landing page for the project?

Features include viewing the top 5 rented films, details of those films, top 5 actors, and actor details with their top films.

64
New cards

What functionalities are required on the films page?

Users should be able to search for films, view film details, and rent films out to customers.

65
New cards

What customer-related functionalities are required on the customer page?

Users should be able to view all customers, search/filter customers, add/edit/delete customers, view customer details, and indicate movie returns.

66
New cards

What is the primary focus of Software Project Management?

Ensuring that software is delivered on schedule and meets the specifications of the organization.

67
New cards

What are the success criteria for Project Management?

Deliver software on time, within budget, and that meets customer expectations.

68
New cards

What factors influence Project Management?

Company size, software customers, software size, software type, organizational culture, and software development processes.

69
New cards

What are the key responsibilities of a Project Manager?

Planning timelines, estimating and scheduling development, assigning tasks, assessing risks, monitoring progress, and reporting.

70
New cards

What is involved in Project Planning?

Defining project scope, goals, deliverables, developing plans, timelines, milestones, and resource allocation.

71
New cards

What does Scope Management ensure in a project?

That the project stays within defined objectives.

72
New cards

What is the role of Risk Management in projects?

Identifying potential risks, developing mitigation plans, and monitoring risks throughout the project lifecycle.

73
New cards

What is Quality Control in the context of project management?

Ensuring deliverables meet required standards and stakeholder expectations.

74
New cards

What tools are commonly used in Project Management?

Microsoft Word/Excel/Project, Gantt Charts, Resource Sheets, Team Planner, Atlassian Confluence, and Kanban Boards.

75
New cards

What is a Gantt Chart?

A project timeline that outlines high-level tasks in the project.

76
New cards

What are the three types of risks classified in Risk Management?

Project risks, product risks, and business risks.

77
New cards

What is the purpose of Risk Analysis?

To assess the probability and seriousness of each identified risk.

78
New cards

What are Avoidance Strategies in Risk Planning?

Strategies aimed at reducing the probability that a risk will arise.

79
New cards

What is a Requirement in the context of Requirements Engineering?

A high-level abstract statement of a service or system constraint that can be detailed into specifications.

80
New cards

What are Functional Requirements?

Requirements that specify what a system should do.

81
New cards

What are Non-Functional Requirements?

Requirements that specify how a system performs a function, such as performance, usability, and reliability.

82
New cards

What is Requirements Elicitation?

The process of gathering requirements from stakeholders.

83
New cards

What is Requirements Validation?

The process of ensuring that the requirements meet the needs of the stakeholders.

84
New cards

What is the significance of Teamwork in Project Management?

Effective teamwork is essential for project success, involving task-oriented, self-oriented, and interaction-oriented personalities.

85
New cards

What is the purpose of a Resource Sheet?

To maintain a master sheet of resources, costs, and hours allocated for the project.

86
New cards

What is a Kanban Board?

A visual task management tool that represents tasks on a board and is commonly used in tools like Trello and JIRA.

87
New cards

What is the importance of monitoring risks in a project?

To ensure that risks do not pose a threat to the project timeline and to maintain an ongoing cycle of risk management.

88
New cards

What are Contingency Plans in Risk Planning?

Plans that outline actions to take if a risk arises.

89
New cards

What is the role of a Team Planner?

To provide a team-level view of what tasks each member is working on.

90
New cards

What are the key components of Scope, Time, and Cost Management?

Scope: staying within objectives; Time: creating schedules; Cost: preparing budgets and tracking expenses.

91
New cards

What is the significance of the individual project milestone due date?

It emphasizes the importance of completing project features independently, with a due date of 9/23.

92
New cards

What are User Requirements?

Statements in natural language plus diagrams of the services the system provides and its operational constraints, usually written for customers.

93
New cards

What are System Requirements?

A structured document detailing the system's functions, services, and operational constraints, defining what should be implemented.

94
New cards

Give an example of a User Requirement.

A client should be able to view a list of available coaches.

95
New cards

What is a Stakeholder?

Any person or organization affected by the system, having a legitimate interest.

96
New cards

Name three types of stakeholders.

End users, system managers, and external stakeholders.

97
New cards

Who are the end users in a Fitness App?

Clients whose data is stored within the system and coaches who provide services on the platform.

98
New cards

What is a User Story in Agile Development?

An informal, general explanation of a software feature written from the perspective of the end user or customer.

99
New cards

What is a Functional Requirement?

A statement of services the system should provide, how it should react to inputs, and its behavior in particular situations.

100
New cards

What is an example of a Non-Functional Requirement related to speed?

Transactions per second or user/event response time.