1/135
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What are the main components of a Software Process Model?
Specification, Design and Implementation, Validation, and Evolution.
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.
What are the two main approaches to software development processes?
Plan-driven and agile approaches.
What is the Incremental Development Model?
A model where specification, development, and validation are interleaved, typically in 2-4 week increments.
What is the focus of the Initial Phase in Scrum?
To establish general objectives for the project and design the software architecture.
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.
What is Requirements Specification?
The documentation of the requirements in a detailed manner.
What do class diagrams depict?
They show classes, attributes, and relationships in object-oriented systems.
What is Software Engineering?
An engineering discipline concerned with all aspects of software production, including theories, methods, and tools for professional software development.
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.
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.
What is Agile Development?
A methodology that emphasizes incremental planning and flexibility to adapt to changing customer needs.
What are User Stories in software development?
Short descriptions of a feature from the perspective of the end user, used to capture requirements.
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.
What roles are involved in the Code Review Process?
Author (Developer) and Reviewer (Peer/Senior Developer).
What tools are commonly used in the Code Review Process?
GitHub, ESLint, and unit test frameworks.
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.
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.
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.
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.
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.
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.
What are some frameworks that may be covered in CS490?
Svelte, React, Angular, Flask, Django, ExpressJS, NodeJS, Spring Boot, ASP.NET.
What is the expected class average for CS490?
There is no curve; the average is based on the actual performance of the class.
What is the significance of the Software Development Life Cycle (SDLC)?
It outlines the stages of software development, ensuring systematic planning, execution, and maintenance.
What is the role of a Database Administrator?
To manage and maintain databases, ensuring data integrity and availability.
What is Extreme Programming?
An Agile development methodology that emphasizes customer satisfaction, flexibility, and frequent releases.
What is SCRUM?
An Agile framework for managing complex software development, focusing on iterative progress and team collaboration.
What is the Waterfall Model?
A plan-driven model with separate and distinct phases of specification and development.
What is a benefit of the Waterfall Model?
The process is visible, allowing clear tracking of project phases.
What is a drawback of the Waterfall Model?
It lacks adaptability, making it difficult to accommodate changes once the process is underway.
What is a key benefit of the Incremental Development Model?
It is adaptable, allowing easy accommodation of changes in requirements.
What is a drawback of the Incremental Development Model?
The process is not visible due to interleaved steps, which can lead to unclear requirements.
What is the primary need for Agile Development?
Rapid development and delivery to keep pace with fast-changing business needs.
What is the principle of Customer Involvement in Agile Development?
Customers should be closely involved throughout the development process.
What does Incremental Delivery mean in Agile Development?
Software is developed in increments with the customer specifying requirements for each increment.
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.
What is Extreme Programming (XP)?
An influential Agile methodology that focuses on iterative development with a strong emphasis on development practices.
What is a practice of Extreme Programming related to planning?
Incremental Planning, where requirements are recorded on story cards and prioritized for development.
What is Test-Driven Development (TDD)?
A practice where test cases are written before the functionality is implemented.
What is Pair Programming in Extreme Programming?
A practice where two developers work together on the same machine, checking each other's work.
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.
What is a Sprint in Scrum?
A development iteration, usually lasting 2-4 weeks.
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.
What is the role of the Product Owner in Scrum?
To identify product features, prioritize them for development, and review the product backlog.
What does 'Velocity' refer to in Scrum?
An estimate of how much product backlog effort a team can cover in a single sprint.
What happens during the Project Closure phase in Scrum?
The project wraps up, required documentation is completed, and lessons learned are assessed.
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.
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.
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.
What occurs during the sprint planning ceremony?
The team estimates the effort needed for each task at the start of a new sprint.
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.
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.
What happens during the sprint review?
Developers present completed work to stakeholders and discuss potential modifications to help achieve product goals.
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.
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.
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.
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]'.
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.
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.
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.
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.
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.
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.
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.
What is the primary focus of Software Project Management?
Ensuring that software is delivered on schedule and meets the specifications of the organization.
What are the success criteria for Project Management?
Deliver software on time, within budget, and that meets customer expectations.
What factors influence Project Management?
Company size, software customers, software size, software type, organizational culture, and software development processes.
What are the key responsibilities of a Project Manager?
Planning timelines, estimating and scheduling development, assigning tasks, assessing risks, monitoring progress, and reporting.
What is involved in Project Planning?
Defining project scope, goals, deliverables, developing plans, timelines, milestones, and resource allocation.
What does Scope Management ensure in a project?
That the project stays within defined objectives.
What is the role of Risk Management in projects?
Identifying potential risks, developing mitigation plans, and monitoring risks throughout the project lifecycle.
What is Quality Control in the context of project management?
Ensuring deliverables meet required standards and stakeholder expectations.
What tools are commonly used in Project Management?
Microsoft Word/Excel/Project, Gantt Charts, Resource Sheets, Team Planner, Atlassian Confluence, and Kanban Boards.
What is a Gantt Chart?
A project timeline that outlines high-level tasks in the project.
What are the three types of risks classified in Risk Management?
Project risks, product risks, and business risks.
What is the purpose of Risk Analysis?
To assess the probability and seriousness of each identified risk.
What are Avoidance Strategies in Risk Planning?
Strategies aimed at reducing the probability that a risk will arise.
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.
What are Functional Requirements?
Requirements that specify what a system should do.
What are Non-Functional Requirements?
Requirements that specify how a system performs a function, such as performance, usability, and reliability.
What is Requirements Elicitation?
The process of gathering requirements from stakeholders.
What is Requirements Validation?
The process of ensuring that the requirements meet the needs of the stakeholders.
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.
What is the purpose of a Resource Sheet?
To maintain a master sheet of resources, costs, and hours allocated for the project.
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.
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.
What are Contingency Plans in Risk Planning?
Plans that outline actions to take if a risk arises.
What is the role of a Team Planner?
To provide a team-level view of what tasks each member is working on.
What are the key components of Scope, Time, and Cost Management?
Scope: staying within objectives; Time: creating schedules; Cost: preparing budgets and tracking expenses.
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.
What are User Requirements?
Statements in natural language plus diagrams of the services the system provides and its operational constraints, usually written for customers.
What are System Requirements?
A structured document detailing the system's functions, services, and operational constraints, defining what should be implemented.
Give an example of a User Requirement.
A client should be able to view a list of available coaches.
What is a Stakeholder?
Any person or organization affected by the system, having a legitimate interest.
Name three types of stakeholders.
End users, system managers, and external stakeholders.
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.
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.
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.
What is an example of a Non-Functional Requirement related to speed?
Transactions per second or user/event response time.