Exam - Questions SW Eng
Exam - Questions SW Eng
Marianne Andres
You can find more exam questions in the online tests in Felix, hopefully soon 😊
5. Explain the 4 planning phases of a web development project and name the essential
project documents of each phase.
Discovery(project initiation document- PID), definition(FRD), planning phase (PMP- project
management plan), design phase (design specification document)
6. What is the purpose of a feasibility study and which 5 questions should be answered in
any case?
The purpose is to asses the viability and potential success of a proposed project.
Technically feasible
Economically
Operationally
Legally
Risks and benefits (sustainable)
10. What is the software life cycle? Briefly explain the stages through which it passes.
The period of time during which a software component is edited or used is
commonly referred to as the software's lifecycle. The software lifecycle
includes all stages of the software's development, requirement
Analysis,rough design,detailed design,implementation,testing and
integration.
Process models
11. What are the phases of the Winston Royce waterfall model?
Analysis and definitions
Architectural concepts and designs
Implementation
Test
System Introduction
Insert (deployment) and maintenance.
12. Name four main problems for projects that strictly follow the waterfall model.
Delayed integration and late design implementation
▪ late risk resolution
Rigidity
Late detection of issues
Problematic relationship with stakeholders, are only involved during the requirements
specification process
▪ Focus on documents and review meetings
Not keeping to the planned project duration, i.e. the end of the project falls into the
test phase
Poorly tested products poor maintenance, poor deployment
High risk of failure: The Waterfall model involves completing each stage of
development before moving on to the next, which can result in a high risk of
failure if any stage is not completed successfully.
There is a danger that the documentation becomes more important than the actual
system because the Waterfall model relies heavily on upfront planning and
documentation.
It does not always make sense to carry out all development steps sequentially because
it limits visibility. That is, it can make it difficult to identify and address issues early
in the development process, leading to delays and increased costs.
14. Name at least two alternatives to the waterfall model. Small and linear/sequential
Spiral Model
Agile Model (Kanban and Scrum)
V model (small& medium) + systematic
V model XT
Modern Development process (RUP) large scale+ iterative
Xtreme small, medium+ iterative
15. For which projects is the V-Modell used? Which sub-models does it consist of?
IT projects of the German Armed Forces and subsequently for authorities of IABG
17. Name and explain at least 6 principles or approaches that characterise Extreme
Programming.
Mission Statement: Software Evolution
System is not constructed but grows. (iterative)
Processes of specification, design, and implementation are interleaved.
Divides development into a sequence of iterations (repetitions)
Per iteration: complete partial result with operational software
Deliveries organised as autonomous sub-projects.
Features:
▪ As simple as possible design, simple process with little administrative effort
▪ Evolutionary design process
▪ There is always a running version
▪ Small teams of 10-20 employees
18. How does Pair Programming work in Extreme Programming? What opportunities does it
offer and why is it also viewed sceptically?
Pair programming is a practice in Extreme Programming (XP) where two programmers
work together at one computer, with one person typing and the other person
reviewing each line of code in real-time. The roles are switched frequently, and the two
programmers work collaboratively to write high-quality code. One person assumes
the role of the driver, actively writing the code, while the other person takes
on the role of the navigator, providing feedback.
Importance
15% lower error rate
it facilitates knowledge sharing and allows developers to learn from each other's skills
and experience.
Pair programming also helps to improve the quality of code through continuous review
and feedback, as the second person acts as a checkpoint for the code being written.
The practice can also increase team morale, as it fosters a culture of collaboration and
support.
Disadvantages
it can be a drain on productivity, as two people are working on one computer instead
of two.
Additionally, some people may not be comfortable working in such a collaborative
environment, as it requires a high level of communication and can sometimes lead to
disagreements or conflicts.
Finally, pair programming can also be difficult to implement in remote or distributed
teams, as it requires physical co-location.
20. How do modern development processes work(RUP)? What happens in the individual
phases, which disciplines are important?
Modern development processes emphasize an iterative and incremental approach. the
development is divided into smaller iterations or increments. Each iteration focuses on
delivering a working subset of the system, allowing for regular feedback, adaptation,
and continuous improvement.
Phases of modern development processes are:
1. Inception and conception: the Inception phase is the initial phase of the
project. Its primary goal is to establish a common understanding of the
project's objectives, scope, risks, and feasibility. Key activities include defining
the business case, identifying Stakeholders.
2. Elaboration: The Elaboration phase focuses on refining the project's vision,
establishing a sound architecture, and addressing significant risks.
3. Construction: The Construction phase involves the actual development of the
software system. It includes activities such as coding, testing, integration, and
system-level verification.
4. Transition: The Transition p hase is the final phase of the project and focuses
on ensuring the successful deployment and handover of the software system
to end-users. Activities in this phase include final system testing, user
acceptance testing, training.
The Disciplines that are important are:
1. Business modelling and requirement
2. Analysis and Design
3. Implementation
4. Test
5. Deployment
6. Configuration and change management
7. Project management Environment.
21. One can characterise the models for the development process listed in the table on the
basis of the criteria mentioned. Complete the table with the most important
characteristics:
Suitable
Procedure created for which Order of Most important
model Year (approx.) Project activities Methodologies (2-3)
sizes
1970 by Winston Small Linear Requirement Analysis,
Waterfall Architectural concept,
projects
model Royce Sequential design,implementation,t
est
Requirement
Engineering
2005 Complex
Unit Testing
and
V-Modell Government IT Systematical
extensive Deployment
XT Projects and ly
projects Quality Assurance
German armed forces and SMEs
Configuration
Management
eXtreme
Programmi small to Pair programming
ng medium-
1999 Kent Beck iterative Unit testing
sized
projects Continous Iteration
Large Scale
Iterative Development.
2000 project
Modern with Use case driven.
developme Booch,Rumboug,Jacob Iterative
extensive
nt process, sen Component based
requireme
e.g. RUP driven.
nt
Requirements management
22. What is meant by a specification? (second phase)
In the context of software development, a specification is a document that describes
the requirements and functionality of a software system or component. It may include
information such as system architecture, design, interface specifications, data
structures, algorithms, performance characteristics, and other technical details.
24. When in the development cycle will requirements be specified? Why does this make
sense?
Requirements are typically specified early in the software development cycle. This
makes sense because it is important to clearly define the goals, needs, and
expectations of the stakeholders before any development work begins. By specifying
the requirements early in the development cycle, the development team can ensure
that the software system is designed and implemented to meet these requirements.
29. Name the 7 main problems encountered when preparing the requirements analysis.
Unclear objectives
Language barrier
Bad quality
High complexity
Unneeded features
Inaccurate planning
Changing requirements
30. Name and explain 4 basic problems that can occur when preparing the requirements
analysis.
Redundancies
Contracdictions
Ambiguity
Inaccurate information
33. Why is it necessary to identify the context of use for the product to be created?
The future product will be part of the application context.
The application context must contain everything that may be changed by the product
and somethings that may not be changed.
The system involved in the application must be found.
Advantages of Prototyping:
Disadvantages of Prototyping:
38. What should a use case describe, what not? Where and how to find use cases (at least
three examples)
A use case should describe WHAT a system should or must do and not HOW the
system should do.
We can find use cases via
Documentation and Manuals:
Online Resources and Communities
Case Studies:
39. Where does a use case start and where does it end?
A use case starts when there is a trigger or stimulus from a client or business and its
called the business trigger. A use case start with the goal or oblective that a user or
system needs to accomplish.
A use case ends when this objective and goal have been achieved and its called the
business value or outcome or results.
40. Draw a use case diagram for the use cases "Reserve car", "Take back car", "Accept
customer" with the corresponding actors.
41. In the lecture we had a case study "car rental". In this context, customers who want to
make use of the service offer can also be included. Describe the essential use case "Take
up customer" in the known scheme:
Trigger:
A customer would like to reserve a car via the internet.
b. The flow of a use case can be modelled in an activity diagram. Create the activity
diagram for the use case Order tea online.
Interfaces
Interaction diagrams
51. A tourist Mr Karl first transmits the destination to the information desk of an information system.
In response, he receives the price of the trip and an identification number. As he agrees with the
price, he triggers a booking order with the responsible accounting department, stating the
identification number. After receipt of the booking order, the booking office obtains all necessary
travel information from the information office via the identification number. After 2 days at the
latest, the tourist Mr Karl receives a booking confirmation.
Depict the sequence of the scenario between the three relevant objects in a sequence diagram.
52. For the following class diagram, sketch the dynamic view of the objects using a sequence
diagram. The two dices are rolled one after the other and the number is read.
DiceGame Dice
Player -hat
+dice_1 : Dice -numOfPoints : : int
-name : string +dice_2 : Dice
1 * 1 2 +getNumOfPoints():int
+play() +roll()
The contents on use cases, class diagrams and sequence diagrams/interaction diagrams
may of course vary, consider in particular the assignments in the lecture. Drawings with
UML belong to the written part of the exam.
64. Explain the software quality comprises factors (functionality, reliability, usability, efficiency, …)
according to ISO 9126.
Functionality refers to the capability of the system (safety, correctness, adequacy,
interoperability)
Reliability refers to the maintenance of a level of performance (fault tolerance, mature,
Recoverability)
Usability refers to the effort spent on using a system by an individual mor group of
individuals (learnability, comprehensibility, operability)
Efficiency measures the results (resource consumption, Time Response)
Transferability, means operation under different operating software (adaptability,
install -ability, conformity)
Changeability means efficient use over a long period of time ( Modifiability, testability)
71. How do you have to design a test case? What belongs to a test case?
Notes
Can a system be fully tested for correctness?
Practically No because it needs so much time.
Theoretically its possible