Software Engineering Principles P1

0.0(0)
studied byStudied by 2 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/97

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.

98 Terms

1
New cards

What is the smallest possible unit of information?

A Bit.

2
New cards

What does the binary coding system utilize?

Sequences of 0 and 1.

3
New cards

What is the purpose of Boolean algebra in digital systems?

It describes an algebraic structure with the elements 0 and 1, and operations AND, NOT, and OR.

4
New cards

What is the function of the control unit in a computer system?

It coordinates the activities of the CPU, including loading and interpreting commands.

5
New cards

What does the arithmetic logical unit (ALU) do?

It performs arithmetic and logical calculations.

6
New cards

What is the von Neumann architecture primarily characterized by?

Storing programs and data in a shared memory.

7
New cards

What defines the relationship between components in the von Neumann architecture?

The bus system connecting different units.

8
New cards

What are the five fundamental units of the von Neumann architecture?

Memory, control unit, input/output, ALU, and bus system.

9
New cards

How does the TCP/IP reference model differ from the OSI model?

The TCP/IP model typically has four layers compared to the OSI model's seven layers.

10
New cards

What is an enterprise information system?

A software system used commercially to achieve business goals.

11
New cards

What are cross-sectional systems?

Software systems not classified as communication systems, typically like word processing tools.

12
New cards

What purpose do management information systems serve?

They support planning and decision-making processes in organizations.

13
New cards

What does the term 'requirements engineering' encompass?

The activities involved in determining, documenting, validating, and managing system requirements.

14
New cards

What is the goal of the software development life cycle?

To manage a software system from planning to its end-of-life.

15
New cards

What are typical risks faced in software projects?

Unrealizable requirements, cost overruns, and a lack of trust among project members.

16
New cards

What does quality assurance ensure in software engineering?

That the software meets specified requirements and can be reliably used.

17
New cards

What is a 'unit test' in testing practices?

Isolated testing of individual software components.

18
New cards

What is the main goal of a project manager in an IT project?

To successfully implement the project objectives.

19
New cards

What is the role of a requirements engineer?

To gather and define the business needs of the project.

20
New cards

What is the main focus of Agile software development?

To create software in iterative cycles (sprints) and adapt based on feedback.

21
New cards

What is the V-Model in software development?

A software process model where each construction phase is paired with a testing phase.

22
New cards

What do you understand by system integration in software engineering?

The process of incorporating new or modified systems into the existing landscape of software and hardware.

23
New cards

What is a 'make-or-buy decision'?

Choosing whether to create a software solution in-house or to purchase a pre-existing solution.

24
New cards

What is the significance of using Integrated Development Environments (IDEs)?

They provide tools for coding, debugging, and managing software projects efficiently.

25
New cards

What is evolution in the context of software systems?

The process of making adjustments and changes to a software system post-deployment.

26
New cards

What leads to the 'analysis paralysis' phenomenon?

Excessive and overly detailed analysis activities before implementation.

27
New cards

What is the primary objective of quality management in software?

To improve the quality of products, processes, or services.

28
New cards

How do communication networks function in distributed systems?

They connect clients and servers to exchange data and services.

29
New cards

In the context of software engineering, what is a risk manager's responsibility?

To minimize overall project risk through identification and mitigation strategies.

30
New cards

Define the term 'protocol' in network communication.

A set of conventions governing the interaction of processes and components in a system.

31
New cards

What is meant by 'software architecture'?

The structural and conceptual design of a software system.

32
New cards

What role does a system technician play?

To provide and guarantee the technical resources necessary for the operation of a software system.

33
New cards

What is the expected outcome of a system test?

To ensure the system meets specified requirements before delivery.

34
New cards

In Agile, what is the purpose of a sprint retrospective?

To reflect on the sprint's successes and areas of improvement.

35
New cards

What does the term 'release planning' refer to?

Defining specific dates for implementing changes to software systems.

36
New cards

How does quality assurance differ from quality control?

Quality assurance focuses on preventing defects through planned activities, while quality control involves testing finished products for faults.

37
New cards

What type of software is typically described as a 'cross-sectional system'?

General-purpose software like word processors and spreadsheets.

38
New cards

What challenge does lack of documentation pose in software evolution?

It may lead to difficulties in understanding existing code and implementing changes effectively.

39
New cards

How is the software process structured according to different process paradigms?

It differs based on structured approaches like Waterfall and iterative approaches like Agile.

40
New cards

Define 'integrated testing' in software engineering.

Testing the interactions between integrated software components.

41
New cards

What key factor contributes to successful software project completion?

Effective communication and collaboration among team members.

42
New cards

Describe the implications of software immateriality on quality assurance.

Difficulties arise in visually inspecting software components, making documentation and testing crucial.

43
New cards

What are 'process modules' in the V-Modell XT?

Specifications of tasks, activities, results, and roles involved in a project.

44
New cards

What do stakeholders influence in requirements engineering?

They provide insights and establish needs that shape the system's requirements.

45
New cards

How does iterative development help in requirements discovery?

It allows for continuous refinement of requirements based on feedback and results from each cycle.

46
New cards

Why is usability a critical quality requirement for software?

It directly affects user satisfaction and the overall success of software applications.

47
New cards

What role does a quality manager play in a software project?

They oversee quality assurance activities and ensure compliance with quality standards.

48
New cards

What is the significance of maintaining a project plan?

It helps track progress, monitor productivity, and guide team efforts throughout the project lifecycle.

49
New cards

What type of analysis is used to determine software quality after implementation?

Analytical quality management, which evaluates the quality of finished products.

50
New cards

How does maintenance differ from development in software engineering?

Maintenance focuses on modifying existing software, while development is about creating new software.

51
New cards

What is Agile software development characterized by?

Incremental and iterative development with a focus on collaboration and flexibility.

52
New cards

Explain 'risk mitigation' in software projects.

Developing strategies to minimize identified risks that could impact project success.

53
New cards

What does a product backlog in Scrum contain?

A prioritized list of requirements for the software project.

54
New cards

What is the purpose of using test cases?

To verify that the software behaves according to its specifications and requirements.

55
New cards

What is a 'truth table' in Boolean operations?

A table that shows all possible values of input and the corresponding output for logical operations.

56
New cards

In what scenarios is the waterfall model considered less effective?

When requirements are unclear from the start or are expected to evolve throughout the project.

57
New cards

Define 'project closure' in software lifecycle.

The formal end of a project, including the finalization of all activities and documentation.

58
New cards

What is the role of an integrator in software projects?

To ensure the smooth incorporation of new software into the existing system landscape.

59
New cards

What does the adjustment of the sprint backlog depend on?

The team’s velocity and capacity to complete the prioritized tasks during a sprint.

60
New cards

What challenges can arise during software evolution?

Architecture degradation, incomplete documentation, and maintaining the integrity of existing functions.

61
New cards

How do management information systems differ from functional area systems?

Management systems focus on planning and decision-making, while functional area systems support specific business processes.

62
New cards

Identify one disadvantage of extensive documentation in software projects.

It can quickly become obsolete and may not reflect current project needs.

63
New cards

What do the phases in the Rational Unified Process (RUP) represent?

Distinct stages in the project lifecycle: Inception, Elaboration, Construction, and Transition.

64
New cards

What is the role of a Scrum Master?

To facilitate the Scrum process and help the team operate effectively.

65
New cards

How does quality improvement relate to software engineering?

It involves evaluating products and processes to enhance overall quality.

66
New cards

Define 'requirements validation' within requirements engineering.

The process of ensuring that documented requirements are accurate and aligned with stakeholder needs.

67
New cards

What is a common characteristic of enterprise software systems?

Their complexity and necessity for integration with various other systems.

68
New cards

Explain the purpose of user acceptance testing (UAT).

To ensure the software meets user needs and is fit for deployment in a real-world environment.

69
New cards

What is a common risk in software projects?

Requirements may change or evolve, impacting the project scope and timeline.

70
New cards

In which phase of software development does actual coding occur?

In the implementation phase.

71
New cards

What is the significance of maintaining quality assurance throughout the software lifecycle?

To ensure ongoing compliance with requirements and stakeholder expectations.

72
New cards

Describe the impact of effective communication within software teams.

It enhances collaboration, reduces misunderstandings, and fosters a positive project environment.

73
New cards

What is the aim of architecture documentation?

To provide a clear description of how the system is structured and how it will be built.

74
New cards

What does the evolutionary development model aim to achieve?

To allow for continuous incorporation of feedback into the software system.

75
New cards

Why is the role of a system technician crucial post-implementation?

To ensure the ongoing monitoring and maintenance of technical infrastructure.

76
New cards

What is meant by 'system shutdown' in the context of software lifecycle?

The process of formally retiring a software system from active use.

77
New cards

Why is the participation of stakeholders important in requirements engineering?

They provide necessary insights into needs and expectations that shape the system.

78
New cards

What does the term 'software lifecycle' refer to?

The series of phases a software system goes through from inception to retirement.

79
New cards

Describe the integration responsibilities of a system integrator.

To adapt the new system to work within established operational contexts and ensure compatibility.

80
New cards

What are typical outputs of the software testing process?

Test results, defect reports, and verified software components.

81
New cards

How does Agile testing differ from traditional testing?

Agile testing promotes frequent iterations and quick feedback loops.

82
New cards

What is the importance of maintaining an accurate project plan?

It provides a roadmap for tracking progress, deadlines, and resource allocation.

83
New cards

What are some challenges related to quality control in software systems?

Identifying and fixing defects while ensuring compliance with requirements.

84
New cards

How does the presence of multiple stakeholders affect software development?

Increases the complexity of requirements gathering and conflict management.

85
New cards

What is the primary role of a software architect?

To design the structure and organization of the software system.

86
New cards

What process assesses the risks found during software development?

Risk management.

87
New cards

What type of approach is Scrum considered to foster agile development?

An iterative and collaborative approach.

88
New cards

What is the goal of requirements elicitation?

To gather all relevant system requirements from stakeholders.

89
New cards

Why is continuous integration important in Agile practices?

It allows for frequent integration of code changes, reducing the risks of integration errors.

90
New cards

Define 'user needs assessment' within the requirements phase.

The process of understanding the objectives and expectations of end users regarding the software.

91
New cards

What does a 'test case' typically include?

Specific conditions, inputs, execution process, and expected outcomes for validating software functionality.

92
New cards

How does automated testing assist in the software lifecycle?

It increases efficiency and allows for more frequent testing without additional manual effort.

93
New cards

What factors contribute to successful software project management?

Clear communication, goal alignment, risk management, and stakeholder engagement.

94
New cards

What are core principles of Agile development methodologies?

Flexibility, collaboration, iterative progress, and responsiveness to change.

95
New cards

Describe what a system prototype is used for in software development.

To validate concepts and gather feedback from users before full-scale development.

96
New cards

What happens in the planning phase of the software lifecycle?

Defining requirements, budgeting, and preparing project structure.

97
New cards

What represents the actual software functionality upon completion?

The program code that can be executed and fulfill user requirements.

98
New cards

How does ongoing documentation contribute to software evolution?

It keeps records of changes and helps in understanding system adjustments over time.