Spørsmål IN5140 Flashcards
boyaah
What are software development processes?
All the activities that are performed to develop a software system and the way they are performed.
What are the different types of software maintenance?
- Corrective maintenance - Fixing bugs
- Preventive maintenance - Improving structure (re-engineering refactoring)
- Adaptive maintenance - Adapt to changing environments
- Perfective maintenance - New functionality
What are the characteristics of successful, challenging and failed software?
- Successful → Completed on schedule, budget.
- Challenged → Completed with shortcomings, delays etc.
- Failed → Canceled, not implemented.
What are the important roles involved in the process of a system development?
- Developer
- Maintainer
- System designer
- Graphic designer
- Tester
- Project Manager
- User/ customer
What are the important tools involved in the process of a system development?
- Development (IDE)
- Configuration (Version control, GIT)
- Testing
- Diagram
- Project management
- Bug and issue tracking
What is a retrospective meeting?
The retrospective meeting is at the end of each sprint and Is intended to reveal problems in the completed sprint. The team considers what could be improved in future sprints and how to achieve the improvement.
What is process conformance?
Process conformance describes how well the actual process in a company compares to the formal process.
What is the Plan-Do-Check-Act cycle?
- Plan - Prioritizing what, how and when the activities should happen.
- Do - Fulfill the outlined plan.
- Check - Evaluate and analyse results of what has been done.
- Act - Act accordingly based on observations of the results.
Who is doing what, when and how.
Describe strengths and shortcomings of a survey in research?
Surveys are powerful tools which can provide insight, but lacks detail and does not allow to go deeper into the observed data.
Describe strengths and shortcomings of an experiment in research?
Experiments enable researchers to observe phenomenon in isolated, controlled environment. However, they might not reflect reality due to their artificial nature.
What is a case study?
Case study is a research method which focuses on the phenomenon in the context of the real world.
Describe advantages and disadvantages regarding lickert type scales in a survey?
Likert type scales are very useful when it comes to collection of subjective data. However, it is very hard to compare two items belonging to the same likert scale objectively: For example, in likert scale of happines with items like very happy and happy.
How could one objectively compare them? As the result, it becomes almost impossible to figure out interval distance between two items in likert scales.
The data is also superficial.
There are three types of lickert scales:
- Evaluation-type
- Frequency-type
- Agreement-type
What is CI (continuous integration) in large scale agile?
Continuous Integration (CI) is a server which continuously observes changes in the source code and runs automated tests against them. In case if a piece of code which breaks build is committed to the source control, CI will send a notification to the team members that something went wrong and needs to be fixed. In large teams it is extremely useful, because it can also automate certain routines like deployment or generation of reports like test coverage.
What are the main success criteria in software development?
Most important criteria are:
- Staying on time
- Staying on budget
- Delivering software which fulfills customer requirements
- Maintaining a well-functioning team
Explain the Goal-Question-Metric (GQM) model.
GQM is a evaluation / measurement technique used to evaluate software changes.
- Goal: In order to measure anything, we first need to introduce motivation for proposed change. Goal reflects the idea behind the proposed change and the expected result.
- Question: addresses what should be measured and the actual value of the proposed change.
- Metric: evaluation of the actual implementation. Metric can consist of several variables and provides insight on actual outcome of proposed change.
(i. e. expectation vs reality)
What are internal and external attributes of software?
External attribute:
Measured directly from the entity (LOC, Coupling, Cohesion)
More general property of the software.
- Maintainability
Internal attribute:
Those of real interest, measured indirectly through appearance of the entity. (Maintainability, Usability, reliability)
Concrete properties of the software within each external attribute.
- Test coverage (amount of code covered with tests)
- Size of the codebase in terms of lines
- Quantity of the bugs not fixed
- Structure
- Coherence
- Coupling
- Modularity
Which types of waste are you likely to encounter in Scrum?
- Technical debt
- Wishful thinking
- Unfinished work at the end of a sprint
- Idle team members
- Queues
What is technical debt?
Technical debt is a where you sacrifice long-term results for short-term results. The most common example is shortcuts that lead to time waste in the future. Technical debt can be fixed to some degree by refactoring the code base. But the only real solution is to avoid it.