Professional Documents
Culture Documents
Answers For SM Theory Questions
Answers For SM Theory Questions
8. What is the typical distribution of maintenance activities in the software life cycle?
See Question 4.
9. Why are traditional SLC models called heavyweight?
Traditional SLC models are called heavyweight because of the emphasis placed on the
process, planning-driven because of the emphasis put on an upfont plan for the whole
process and document-driven because of the emphasis placed on documentation.
10. The waterfall SLC model is considered unrealistic: why is that?
The waterfall SLC model is considered unrealistic because, in many software development
projects, the strict sequencing of phases advocated by the waterfall model is not actually
obeyed.
11. Question about selecting a specific SLC model to a specific scenario.
12. Explain the difference between the waterfall model and the V-model.
Vezi caiet (scheme).
13. What is the major motivation behind the Agile SLC models as compared to the traditional
ones?
As opposed to traditional methods, where, once the contract has been signed, it is the
development teams job to deliver the functionality as laid down in the contract, thus
making the project difficult to change direction, agile methods assume change is inevitable
and focus on delivering value to the customer as quickly as possible.
14. Explain the four key values of the agile movement.
Individuals and interactions over processes and tools;
Working software over comprehensive documentation;
Customer collaboration over contract negotiation;
Responding to change over following a plan.
15. Explain the two types of prototyping. Why is it considered an agile SLC model?
In throwaway prototyping, the prototyping phase has been separated by the
production phase, which follows a waterfall-like model;
In evolutionary prototyping, the last version developed which satisfies the user is
the product to be delivered.
16. Explain the essential characteristics of incremental development.
software is developed in small increments;
the waterfall model is employed in each phase;
the user is closely involved in directing the next steps;
incremental development prevents over-functionality.
17. What is Rapid Application Development? Explain its phases and its characteristics.
evolutionary development with time boxes: fixed time frames within activities are
done;
time frame is decided upon first, then one tries to realize as much as possible within
that time frame;
other elements: Joint Requirements Planning (JRP) and Joint Application Design
(JAD) workshops within which users participate.
18.
19.
20.
21.
22.
23.
24.
RUP is an iterative approach for object-oriented systems which strongly embraces use cases
for modeling requirements.
2. Requirements Engineering and Modeling Software Requirements
25. Explain the main goal of the four requirements engineering activities of requirements
elicitation, specification, validation and negotiation.
See Question 20.
26. In which phase of the RUP software lifecycle model do we typically carry out requirements
modeling?
Requirements are modeled during the Inception and Elaboration phases of RUP.
27. In which phase of the RAD software lifecycle model do we typically carry out requirements
modeling?
Requirements are modeled during the Requirements planning phase of RAD.
28. Describe the requirements elicitation technique called task analysis.
Task analysis is a technique to obtain a hierarchy of tasks and subtasks to be carried out by
people working in the domain. Any of the other techniques discussed may be used to get
the necessary information to draw this hierarchy. There are no clear-cut rules as to when to
stop decomposing tasks. A major heuristic is that at some point users tend to refuse to
decompose tasks any further.
29. Describe the requirements elicitation technique called scenario-based analysis.
Instead of looking for generic plans as in interviews or task analysis, the analyst may study
instances of tasks. A scenario is a story which tells us how a specific task instance is
executed. The scenario can be real or artificial. An example of a real scenario is that the
analyst observes how a library employee handles an actual user request.
30. Describe the requirements elicitation technique called task brainstorming.
No fucking idea..
31. In which circumstances is ethnography a viable elicitation technique?
See Question 22.
32. What is goal-oriented requirements engineering?
Goal-oriented requirements engineering are requirements engineering which focus on the
objectives a system should achieve through cooperation of actors in the intended software
and in the environment.
33. What does MoSCoW stand for?
See Question 17.
34. What is UML? What is the main innovation introduced by UML?
The Unified Modeling Language is a modeling language used in software engineering which
provides a standard way to visualize the design of a system.
Its main innovations are its diagrams:
Class diagram Information model, structural view, static
Case diagram functional, interaction specification, dynamic
35.
36.
37.
38.
39.
40.
41.
42.
43. What is requirements creep? Also, explain how requirements management activities
help to avoid it.
Requirements creep refers to the phenomenon of requirements changing after the
requirements phase has ended.
Requirements identification involves uniquely identifying each requirement;
Requirements change management allows applying rules and procedures of
configuration management by viewing each requirement as a configuration item;
Requirements traceability allows tracing when requirements are realized in the
code (forward traceability) and why certain solutions are chosen (backwards
traceability)
44. Explain the notion of internal consistency for requirements specification.
45.
46.
47.
48.
The MVC design pattern aids interactive systems in separating concerns between
computational elements and those that handle I/O. The Model encapsulates the systems
data and operations on that data. It is independent on how data is represented or how input
is done. The View displays data obtained from the Model. The Controller handles input
actions which may cause the controller to send requests to the Model.
5. Modeling service oriented software design with SoaML
Nope.
60. Describe the SOSE development lifecycle.
Analysis: determine scope, gap analysis;
Architecture: decompose process, compose specific SOA;
Design: design services and their interfaces, design business process.
61. Explain the terms Quality of Service and Service Level Agreement in the context of service
orientation.
QoS is the set of the set of quality characteristics promised or required by a service. SLA is a
related term used in deployment context to describe certain levels of availability or
throughput.
62. What is a service contract?
A service contract is a description of what the service is supposed to do.
6. Checking for quality of software design models
63. Explain the notions of cohesion and coupling.
Cohesion may be viewed as the glue that keeps the component together. It is a
measure of the mutual affinity of the elements of a component. In general we will
wish to make the cohesion as strong as possible.
Coupling is a measure of the strength of the inter-component connections. A high
degree of coupling indicates a strong dependence between components. A high
degree of coupling between components means that we can only fully comprehend
this set of components as a whole and may result in ripple effects when a
component has to be changed, because such a change is likely to incur changes in
the dependent components as well. Loosely - coupled components, on the other
hand, are relatively independent and are easier to comprehend and adapt. Loose
coupling therefore is a desirable property of a design (and its subsequent
realization).
64. What is the essence of information hiding?
A service cannot retain information that is saved on behalf of a next invocation. A next
invocation may well be to another service with the same functionality, but from a different
provider.