sfwe 101

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/32

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 5:56 AM on 2/14/24
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

33 Terms

1
New cards

For complex software products, experts believe that it is more effective for software engineers to start writing code as soon as possible.

false

2
New cards

what is Agile development model?

The Agile development model emphasizes flexibility, collaboration, and customer satisfaction. Agile teams work in short iterations called sprints, delivering working software at the end of each iteration.

Sprints refer to short, time-boxed periods in which Agile teams work on specific tasks or goals. They typically last from one to four weeks, with two weeks being a common duration. This means that at the end of each sprint, the team should have a working and tested piece of software that can be potentially released to customers.

Iterations, on the other hand, are the repetitive cycles within a sprint. They are the smaller time frames in which the team plans, develops, tests, and reviews their work. Iterations allow the team to break down the project into manageable chunks and provide regular opportunities for feedback and adjustment.

3
New cards

what is requirements engineering ?

Requirements engineering is the process of eliciting, analyzing, documenting, and managing the requirements for a system or software project. It involves understanding the needs and expectations of stakeholders, defining system functionalities, and ensuring that the requirements are complete, consistent, and feasible. The goal of requirements engineering is to establish a clear and shared understanding of what the system should do, serving as a foundation for the development and validation of the final product.

4
New cards

Which of the following are different levels of requirements? Question options: Explicit requirements User requirements System requirements Component requirements Subsystem requirements

The different levels of requirements are:

  • User requirements

  • System requirements

  • Component requirements

  • Subsystem requirements

5
New cards

Which of the following are types of non-functional requirements? Question options:

Timing Constraints

Specific coding language requirements

Requirements that describe what the system should do

Requirements that describe how the system should behave.

Timing Constraints

Specific coding language requirements

6
New cards

what are non-functional requirements?

Nonfunctional requirements specify the qualities or constraints of a system, while functional requirements describe what the system should do. Nonfunctional requirements include performance, reliability, security, usability, and scalability, among others. They focus on how the system should behave, rather than its specific features or functionality. Examples of non-functional requirements include:

  1. Performance: The system should respond to user actions within 2 seconds.

  2. Reliability: The system should have an uptime of at least 99%.

  3. Security: The system should implement user authentication and data encryption.

  4. Usability: The system should have an intuitive and user-friendly interface.

  5. Scalability: The system should be able to handle a growing number of users without significant performance degradation.

These are just a few examples, and nonfunctional requirements can vary depending on the specific system and its intended use.

7
New cards

what are functional requirments? include examples

Functional requirements are specific tasks or actions that a system or software must be able to perform to meet the needs of its users. They describe the desired behavior and functionality of the system. Here are a few examples of functional requirements:

  1. User Authentication: The system should allow users to create accounts, log in, and manage their personal information.

  2. Search Functionality: The system should provide a search feature that allows users to find specific information or resources.

  3. Payment Processing: If the system involves e-commerce, it should support secure payment processing for online transactions.

  4. Data Entry and Validation: The system should allow users to input data and validate it to ensure accuracy and completeness.

  5. Reporting and Analytics: The system should generate reports and provide analytical insights based on the data it collects.

  6. Notifications: The system should send notifications to users for important events or updates.

  7. Integration with External Systems: If required, the system should be able to integrate with other external systems or APIs.

8
New cards

what is SDLC and its phases?

SDLC stands for Software Development Life Cycle. It is a systematic approach to developing software applications. The phases of SDLC typically include:

  1. Requirements Gathering: Gathering and documenting the software requirements.

  2. System Design: Creating a high-level design that outlines the system architecture and components.

  3. Implementation: Writing code and developing the software based on the design.

  4. Testing: Conducting various tests to ensure the software meets the specified requirements.

  5. Deployment: Installing and configuring the software in the production environment.

  6. Maintenance: Providing ongoing support, bug fixes, and updates to the software.

9
New cards

Software requirements are derived from higher level system requirements. t or f?

true

10
New cards

As a software engineer gains more years of experience, keeping track of the configuration of their software artifacts is no longer necessary. t or f?

false

11
New cards

It is often prudent to perform architectural trades to determine the best approach to satisfy software requirements. t or f?

true

12
New cards

After a software product is deployed, it is not common for enhancements to be made to that product.  t or f?

false

13
New cards

In Agile, a team retrospective is typically done at the start of a new sprint. t or f?

false

14
New cards

In Agile, sprint planning is typically done at the start of a new sprint.  t or f?

true

15
New cards

Quite often, requirements engineering is not performed consistently or rigorously. t or f?

true

16
New cards

It is not common to perform requirements engineering in the Agile development model. t or f?

False. Requirements engineering is an integral part of Agile development.

17
New cards

When developing requirements for a software product, it is rarely necessary to understand the perspectives of different types of stakeholders. t or f?

false

18
New cards

Which of the following are functional requirements?

How the system should respond to different stimuli.

Training time

Statements of services the system provides.

Mean time to failure requirements

How the system should respond to different stimuli.

Statements of services the system provides.

19
New cards

In what phase of the SDLC is it important to maintain quality and configuration control of deployed software, including bug reports, enhancements, etc?

Test

Coding

Requirements

Deployment / Production Support

Deployment / Production Support

20
New cards

In what phase of the SDLC is Unit testing performed?

Test

Coding

Requirements

Deployment / Production Support

coding

21
New cards

In what phase of the SDLC are verification and validation plans developed?

Test

Coding

Requirements

Deployment / Production Support

Requirements

22
New cards

In what phase of the SDLC are models typically created?

design

23
New cards

Which of the following development models most closely has the phases aligned with complementary testing phases?

Incremental

"V" Method

Waterfall

Agile

"V" Method

24
New cards

Which software development model was popular before the advent of Agile approaches?

Waterfall

KanBan

Incremental

"V" Method

Incremental

25
New cards

Which of the following are the primary roles of an Agile Scrum team?

Product Owner

Development Team

Scheduler

Scrum Master

Product Owner

Development Team

Scrum Master

26
New cards

what is agile scrum team?

An agile Scrum team is a cross-functional group of individuals who work together to deliver a product incrementally and iteratively using the Scrum framework. The team typically consists of a product owner, a Scrum master, and development team members. They collaborate closely, following the principles of agility, to plan, execute, and review work in short time frames called sprints. The team self-organizes and collectively takes responsibility for delivering high-quality, valuable software or product increments.

27
New cards

teams in agile and what they do?

  1. Scrum Team: consists of a product owner, a Scrum master, and development team members. The product owner defines and prioritizes the product backlog, the Scrum master facilitates the Scrum process, and the development team delivers the product increment.

  2. Kanban Team: Kanban teams focus on visualizing and optimizing workflow. They use a Kanban board to track work items and limit work in progress (WIP). The team collaborates to ensure a smooth flow of work and continuous improvement.

  3. Lean Team: Lean teams apply Lean principles to eliminate waste and maximize value. They focus on delivering value to the customer by minimizing non-value-added activities and optimizing the entire value stream.

  4. Cross-functional Team: This type of team consists of individuals with diverse skills and expertise necessary to deliver a product. They work collaboratively to complete all aspects of the work, from analysis and design to development and testing.

  5. Self-organizing Team: Agile teams are encouraged to be self-organizing, meaning they have the autonomy to plan, execute, and review their work. They collectively decide how to best achieve their goals and continuously improve their processes.

28
New cards

What is the name of the document where software requirements are captured? Explain why it is important to capture software requirements in its own document?

The document where software requirements are captured is commonly known as a "Software Requirements Specification" (SRS). It is important to capture software requirements in its own document for several reasons:

  1. Clarity and Communication: The SRS provides a clear and concise description of what the software should do, ensuring that all stakeholders have a common understanding of the requirements.

  2. Documentation: The SRS serves as a reference for developers, testers, and other team members throughout the software development lifecycle, helping them stay aligned with the project goals.

  3. Verification and Validation: By having requirements documented in a separate document, it becomes easier to verify and validate whether the software meets the specified requirements.

  4. Change Management: The SRS acts as a baseline for managing changes to the software requirements. It helps in assessing the impact of proposed changes and maintaining traceability.

Overall, capturing software requirements in a dedicated document like the SRS promotes effective communication, documentation, verification, and change management throughout the software development process.

29
New cards

Explain why multiple levels of testing are required for the development a large software product.

Multiple levels of testing are required for the development of a large software product for several reasons:

  1. Verification of functionality: Testing at different levels ensures that each component of the software functions correctly and meets the specified requirements.

  2. Identification of defects: Testing helps in identifying and fixing defects or bugs at various stages of development, preventing them from propagating to later stages or the final product.

  3. Validation of system integration: Testing at different levels ensures that individual components of the software work together seamlessly and integrate properly into the larger system.

  4. Performance evaluation: Testing at various levels helps evaluate the performance and efficiency of the software under different conditions, ensuring it meets the desired performance benchmarks.

  5. User acceptance: Testing at multiple levels allows for user feedback and validation, ensuring that the software meets user expectations and requirements.

  6. Risk mitigation: Testing at different levels helps identify and mitigate risks associated with the software, such as security vulnerabilities or compatibility issues.

Overall, multiple levels of testing are necessary to ensure the quality, functionality, and reliability of a large software product.

30
New cards

In software engineering, what is one of the most common ways to capture a software architecture and design? Why do software engineers use this method to capture their designs?

Answer:

One of the most common ways to capture a software architecture and design is through the use of architectural diagrams, such as UML (Unified Modeling Language) diagrams. Software engineers use this method to capture their designs because it provides a visual representation of the system's structure, components, and relationships, making it easier to communicate and understand the design among team members. UML diagrams also allow for the identification of potential design flaws or improvements before the actual implementation phase.

31
New cards

Explain what change management is and why it is important.

Change management is a structured approach to transitioning individuals, teams, and organizations from a current state to a desired future state. It involves planning, implementing, and monitoring changes to ensure successful outcomes. Change management is important because it helps organizations adapt to new technologies, processes, or strategies, minimizing resistance and maximizing employee engagement. It also helps mitigate risks, improve communication, and enhance overall organizational performance.

32
New cards

Explain why requirements traceability is important.

Requirements traceability is important because it allows for the tracking and verification of requirements throughout the development process. It ensures that each requirement is properly implemented and tested, and provides a clear understanding of how changes to requirements may impact the overall system. This helps to ensure that the final product meets the intended objectives and satisfies stakeholder needs. Additionally, requirements traceability aids in identifying and managing risks facilitates effective communication and collaboration among project teams, and supports regulatory compliance and auditing processes.

33
New cards

List and describe the 4 primary activities that we discussed in requirements engineering.

The 4 primary activities in requirements engineering are:

  1. Elicitation: This involves gathering information from stakeholders to understand their needs and expectations for the system.

  2. Analysis: In this step, the collected requirements are analyzed to identify inconsistencies, conflicts, and missing information.

  3. Specification: The requirements are documented in a clear and unambiguous manner, using appropriate notations and formats.

  4. Validation: The specified requirements are reviewed and validated to ensure they accurately represent the stakeholders' needs and can be implemented effectively.

Explore top notes

note
Classic Literature
Updated 1342d ago
0.0(0)
note
Chapter 25: The Basics of Credit
Updated 1345d ago
0.0(0)
note
parcial teórico
Updated 322d ago
0.0(0)
note
Endosymbiosis
Updated 1216d ago
0.0(0)
note
Classic Literature
Updated 1342d ago
0.0(0)
note
Chapter 25: The Basics of Credit
Updated 1345d ago
0.0(0)
note
parcial teórico
Updated 322d ago
0.0(0)
note
Endosymbiosis
Updated 1216d ago
0.0(0)

Explore top flashcards

flashcards
11.3 Arbeidsvoorwaarden
46
Updated 832d ago
0.0(0)
flashcards
OMAM VOCAB
20
Updated 1176d ago
0.0(0)
flashcards
Fiction Review
20
Updated 1159d ago
0.0(0)
flashcards
Physical Geography Exam #1
104
Updated 1141d ago
0.0(0)
flashcards
Lit Term Quiz #3 (65-84)
23
Updated 860d ago
0.0(0)
flashcards
MODULE 2
41
Updated 177d ago
0.0(0)
flashcards
Unit 5 (AP WH)
65
Updated 112d ago
0.0(0)
flashcards
11.3 Arbeidsvoorwaarden
46
Updated 832d ago
0.0(0)
flashcards
OMAM VOCAB
20
Updated 1176d ago
0.0(0)
flashcards
Fiction Review
20
Updated 1159d ago
0.0(0)
flashcards
Physical Geography Exam #1
104
Updated 1141d ago
0.0(0)
flashcards
Lit Term Quiz #3 (65-84)
23
Updated 860d ago
0.0(0)
flashcards
MODULE 2
41
Updated 177d ago
0.0(0)
flashcards
Unit 5 (AP WH)
65
Updated 112d ago
0.0(0)