Ch. 7: Roles in Software Engineering Flashcards

1
Q

Please name two advantages of the role-based approach.

A
  • Enable a meaningful division of activities in large teams
  • Specialization and expert training
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What are the effects of the conflicting goals between the roles?

A

Because of conflicting goals between the roles, conflicts of interest between the people involved in the project must be continuously negotiated and resolved in every phase of software engineering. The quality of the results of the individual activities is therefore heavily dependent on close interaction and communication between the people involved. In particular, the personal relationships between these people and the interactions between the tasks assigned to the roles are decisive factors that contribute to the success or failure of a software project.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Please name one of the basic assumptions of all considerations in software engineering.

A

Projects work and can be completed successfully if the right people work together sensibly using the appropriate methods, (modeling and programming) languages, and tools. Ensuring these constraints is therefore an essential task in software engineering.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

How do the roles of project manager and quality manager differ from the other roles in particular?

A

Both roles have an overarching influence. They specify requirements and constraints for other roles and check that they are being adhered to.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the objective of a project manager?

A

The aim of the project manager is the successful implementation of the project. They are active in all core activities across the board. They create plans for most of the other roles, monitor compliance with their specifications, and make key decisions for the project.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

The tasks of the project manager typically includes …

A

… control of the results achieved.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What does a risk manager do?

A

The aim of the risk manager is to minimize the overall risk of the project. Typical tasks of a risk manager are as follows: identifying risks of all kinds in the project, analyzing and assessing risks, developing strategies for risk resolution or risk mitigation, monitoring risks.
Like the project manager, the risk manager is active in all core project activities, often as part of project management. With the assessment of risks and the development of strategies to minimize them, the risk manager assumes an overriding role in the project.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What does a quality manager do?

A

The quality manager is responsible for all activities and deliverables for quality assurance. They coordinate measures to ensure process and system quality. Specific activities of the quality manager are as follows:, defining of system quality, creating of a verifiable plan for quality assurance, coordinating of quality assurance measures, observing and ensuring customer satisfaction, adopting of quality guidelines and checking whether they are compliant.
The quality manager is active in all phases of the project, receiving specifications from and reporting to the project manager.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What does a requirements engineer do as a role?

A

The requirements engineer is responsible for delivering the business needs of the project, i.e., a set of requirements for the software system that have been coordinated with all relevant people. Specific activities of the requirements engineer are as follows: determining relevant sources for system requirements, requirements elicitation, documenting of the identified requirements, achieving compliance with the documented requirements, validating and coordinating the documented requirements, tracking the requirement’s life cycle.
The requirements engineer is particularly involved in activities that determine the properties of the system in development. They receive specifications and follow-up from project management and quality management.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Please describe the role of the software architect using your own words.

A

The aim of the software architect (also: software designer) is the successful technical implementation of the business requirements in a software system. They design the architecture based on the results of the requirements engineer, taking into account additional requirements from the roles responsible for implementation, test, operation, and evolution. The architect must also adhere to the requirements of the project and quality management, by which they are also checked.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What does a developer do as a role?

A

The developer’s goal is to create program code that can be compiled into an executable system and comply with the specification. The main activities necessary for this are as follows: programming individual modules (units) of the system, documenting the generated program code, defining of the module-specific algorithms performing tests at unit level, integrating individual modules into an overall system.
The program code is created on the basis of the specification and the architecture. In this way, the developer implements the specifications made by the specifier and architect in a concrete system. To do this, the developer must adhere to the requirements of project and quality management, compliance with which is also checked by project and quality management. Compliance with the technical specifications is monitored by the architect, and compliance with the requirements is checked by the tester.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What does a tester do as a role?

A

The aim of the tester is to find defects in the parts of the system that are completed in the course of the software project, and defects in the system as a whole. The specific activities of a tester are as follows:
selecting of the test procedures to be used, detailing of test plan, test cases, test data, and test run specification, performing tests at various test levels, documenting of the test conditions and results.
The tester is responsible for the most complex quality assurance measures: testing the created software. Based on the results of the requirements engineer and architect, they check the results of the developer. To do this, the tester must adhere to the requirements of project management and quality management.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does an integrator (or transition manager) do as a role?

A

The aim of the integrator is to adapt the newly created or changed system to the existing landscape of software and hardware. Typical activities of the integrator are as follows: examining the integrability of the system in individual components of the operating infrastructure, trying out selected aspects of integration, forecasting the runtime behavior and hardware requirements of the new system in the operating infrastructure, integrating of the finished system into the operating infrastructure, establishing the connection of technical interfaces between systems.
The integrator incorporates the system supplied by the developers into the existing system landscape. To do this, they must adhere to the requirements of project management and quality management, by which they are also checked.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What does a system technician or manager do as a role?

A

The aim of the system technician (system manager) is to provide and guarantee technical resources for the operation of a software system. In the context of virtualization or containerization, the technical resources of the assigned virtual machines or containers must also be managed by such a role, though the task may be outsourced. The activities of a system technician are as follows: evaluating, installing, and maintaining the operating infrastructure (hardware and software), providing the resources required by individual software systems, monitoring the available and used resources, such as hard disk space, main memory, central processing unit (CPU) time, and network utilization; establishing, operating, and maintaining systems to ensure the availability of the operating infrastructure.
Although the system engineer is not involved in creating a software system, the software architecture of the system must match the operating infrastructure. After development and integration have been completed, the system technician ensures proper operation according to specifications from project management and quality management.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly