Written answers Flashcards

1
Q

What are the benefits of prototyping when developing digital products? Name at least 2.

A

EXAMPLES:
- It is a cost-effective form of simulating the final product. The resources needed to develop a screen-based prototype are significantly lower compared to a fully developed solution.
- It is a tangible form for communicating the scope and form of the product to different stakeholders. Instead of merely discussing ideas, a screen-based prototype can provide a solid base for discussions among designers, developers, project manages, management, investors, and potential users.
- Since prototypes are meant to be interactive, they can be tested easily with potential users. This process can help to validate some of their needs and to evaluate the usability.

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

Ge fyra exempel få interessenter.

A

EXAMPLES:
Customers, customers’ customers, subcontractors, marketers, salespeople, system architects, developers, testers, product managers.

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

Vad får vi reda på vid acceptance testing och vilka aktörer är inblandade?

A

EXAMPLE:
During acceptance testing, we verify if the system meets the agreed requirements and is ready for deployment. Stakeholders involved typically include end-users, clients, developers, and QA teams.

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

Why are each of the following badly written requirements?
a) Latest Java installed for good performance.
b) When failing to load file, program should recover.
c) Response times should be faster than all competitors.
d) Users need to get hooked!

A

a) Not specific about which version is the latest version, and what is “good performance”.
b) Not specific. What is failing and how should it recover.
c) We don’t have any knowledge of how fast the competitors are.
d) Hooked on what?
!Note, the answers should be longer and more detailed than this in the actual exam. 2-3 lines per requirement.

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

Beskriv hur kravinsamling skiljer sig för ett projekt där mjukvara ska utvecklas på uppdrag av en kund och ett där mjukvara ska utvecklas för en öppen marknad.

A

EXAMPLE:
In a customer-driven project, requirements are gathered through direct collaboration with the client, focusing on their specific needs. For open-market software, requirements are based on market research, competitor analysis, and potential user feedback to address broader demands. The former is tailored, while the latter is more generalized and user-centric.

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

Nämn minst två typer av granskningstekniker och förklara hur de fungerar.

A

EXAMPLE:
- Peer-review: A colleague reads/comments something, for example code or a document.
- Walkthrough: A meeting where a number of people go through material together, for example code or a document.
- Inspection: A meeting with clear roles, where participants read the material ahead of time and where you often use checklist while going through the material, which can be code or some other document.

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

Hur använder vi checklistan innehållskontroll (content check)?

A

Ensures the content is accurate, relevant, and meets its purpose.
Example: Verify spelling, grammar, and factual correctness (e.g., dates, numbers). Check if the content aligns with the target audience’s needs.

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

Hur använder vi checklistan strukturkontroll (structure check)?

A

Ensures the content is logically organized and easy to navigate.
Example: Check if headings, subheadings, and navigation (e.g., menus, links) are clear and follow a logical flow for user-friendliness.

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

Hur använder vi checklistan konsistenskontroll (consistency check)?

A

Ensures uniformity in style, tone, and formatting throughout the content.
Example: Verify consistent use of fonts, colors, terminology, and formatting (e.g., dates, times) across the document or product.

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

Mjukvarusystem förändras med tiden och detta medför ändringar både i dokumentation och i mjukvaran. Hur kan spårbarhet hjälpa oss att hantera dessa ändringar?

A

Traceability is the practice of tracking the origin and source of requirements, as well as their connections to specific design classes, components, or test cases. This process is essential for managing changes to requirements and the overall system. When traceability is established, it becomes easier to identify which components are affected by a change, whether it involves a requirement, a class, or any other element. As a result, traceability simplifies the process of implementing changes and enhances the maintainability of the system.

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

Vad är interessenters roll?

A

Stakeholders are individuals or roles that are directly or indirectly affected by the system. Their role is to provide software developers with information (requirements, wishes) about the system to be developed.

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

Vad är elicitering?

A

Elicitation is the activity performed to gather the information needed to describe the requirements for a system.

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

Vilken typ av information vill vi samla med elicitering?

A

Present work
Present problems
Goals and critical issues
Future system ideas
Realistic possibilities
Consequences and risks
Conflict resolution
Requirements
Priorities

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

Name at least six methods of elicitation.

A

Interview
Focus groups
Document analysis
Observations
Questionnaires
Stakeholder analysis
Goals domain analysis

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

Beskriv tekniken “interessenter analysis”.

A

When applying the technique stakeholders analysis, the requirements engineer has to investigate and get an answer to the following questions:
Who are the stakeholders?
What goals do they see for the system?
Why would they like to contribute?
What risks and costs do they see?
What kind of solution, suppliers, and resources do they see?

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

Man kan beskriva krav på fyra olika abstraktionsnivåer. Ge exempel på krav på alla fyra nivåer.

A

Goal-level:These describe the goals of the system from stakeholders viewpoint.
Domain-level: These describe the context, how the users and the product cooperate for a certain goal.
Product-level: These describe the functions of the system.
Design-level: These describe a particular way of implementing the functions.

17
Q

Vad är skillnaden mellan verifiering och validering?

A

Verification is the activity done in order to check that the software system is consistent with the requirements specification.
Validation is done in order to check that the system (or the requirements specification) are consistent with what the user / customer wants.
OR
Verification is about checking our software against the requirements specification, while validation is about checking our software with the customer requirements. So all techniques that involve the customer or users are validation techniques.

18
Q

I vilken fas använder vi verifiering och validering?

A

Verification and validation are ongoing processes throughout software development. However, certain phases emphasize these activities:

a) Validation:
Requirements Validation: After gathering and documenting requirements, engineers ensure they align with stakeholder needs.
Acceptance Testing: Developers and stakeholders jointly verify that the software meets the intended requirements and expectations.

b) Verification:
Testing Phase: Comprehensive testing ensures the software functions as designed.
Design Consistency Check: Engineers verify that the design aligns with the requirements, often aided by traceability.

19
Q

På vilket sätt är omtest och regressiontest olika?

A

When a deviation is found and corrected, a re-test is made to confirm that the measure was sufficient.
Regression tests are performed periodically to see that changes have not destroyed the system - sometimes it can be difficult to see the causality between changes made and error symptoms. Therefore, regression tests are good.

20
Q

Förklara den grundläggande idén för BVA.

A

Boundary Value Analysis (BVA) is a software testing technique that focuses on testing the boundaries between partitions of input values. The basic idea is that errors are more likely to occur at the edges of input ranges rather than within the range. By testing the minimum, maximum, and just inside/outside these boundaries, BVA ensures robust detection of potential issues in the system’s behavior.

21
Q

Vilka värden ska man testa enligt BVA om har en variabel X som kan ha värdena -99 <= X <= 99?

A

-100, -99, -98
-1, 0, 1
98, 99, 100

22
Q

Why do we use formal methods?

A

To specify the desired properties of a computer system. To prove that a computer system satisfies its specification.

23
Q

What are the limitations of formal methods?

A

Formal methods have several limitations that restrict their widespread applicability. Push-button methods, like model checking, often face state explosion problems, making them impractical for large systems. More advanced methods, such as theorem proving, require significant mathematical expertise and are challenging to scale for complex systems. Theoretical barriers like decidability, complexity, and the halting problem further limit their use. In practice, issues such as speed, simplicity, robustness, and high costs make formal methods difficult to implement effectively. Ultimately, while formal methods provide valuable insights, they cannot offer absolute guarantees and are often prohibitively expensive.

24
Q

Namnge och beskriv 4 olika typer av projekt.

A

Internal Projects: Projects initiated within an organization to improve processes, tools, or infrastructure.

Client Projects: Projects developed for a specific customer or client, tailored to their unique needs and requirements.

Research and Development (R&D) Projects: Projects focused on innovation, experimentation, and creating new technologies or solutions.

Product Development Projects: Projects aimed at creating a product for the broader market, rather than for a specific customer.
25
Q

Vilken typ av projekt gör vi om vi inte har en kund (kunden är hela marknaden)?

A

If there is no specific customer (the customer is the entire market), it is typically a product development project.

26
Q

NPS är en metid för att mäta användarnöjdhet.
Vad står förkortningen för:

A

Net Promoter Score

27
Q

Varför är tydliga riktlinjer för kodstil viktiga i ett öppet källkodsprojekt.

A

För att underlätta samarbete och underhåll av koden