Examen 1 Flashcards

1
Q

Describes some quality characteristic that the software must possess

A

Non-Functional requirements

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

Describe all inputs and outputs in detail. Restate the required functionality in term of the interfaces input and outputs.Perspective of the developers

A

Requirement specifications

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

Helpful in resolving conflicts among quality requirements. Forces the customer to choose those software quality factors about which the customers care most.

A

Prioritizing requirements

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

The system is partitioned into subsystem by functionality. The releases start with one small functional subsystem and then add functionality with each new release.

A

Incremental Phase Development

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

Requirement that specify decision such as choice of platform or interface component.

A

Design Constraint

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

The idea behind this development model is that it is possible to create models of a system that can then be
transform into a real thing.

A

Model Driven Development

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

Architecture is design by architecture spikes of prototype used to create a simple overall design. The
customer has frequent opportunities to change the team’s directions if circumstances change. Planning is
base in user stories.

A

Extreme Programming

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

Ensure that we build the right system.

A

Validation

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

Objective standard for judging whether a proposed solution satisfy the requirements. When such cannot
be easily expressed, then the requirement is likely to be ambiguous, or incorrect.

A

Fit criteria

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

Allow repeated investigation of the requirement of the design. Allow all or part of a system to be
constructed quickly to understand or clarify issues. Reduced risk and uncertainty in the development.

A

Prototyping

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

Works for well for understood problem with minimal changes in the requirements. Simple and easy to
explain to customer. Easy to the PM to plan, staff, and track the progress of the project.

A

Waterfall

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

Deliver a full system at the very beginning and starts then changes the functionality of each subsystem
with each new release.

A

Iterative phase development

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

Combines development activities with risk management to minimize and control risks. Each iteration is goes through the following activities: plan, determine goal, evaluate risk, and develop.

A

Spiral

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

Development is or organized into series of short, fixed-length mini-project called iterations; the outcome
of each is tested, integrated, and executable systems. Organized the work across four major phases:
inception, elaboration, construction, and transition.

A

Unified Process

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

Responsible for the care and feeding of the process. Represent stakeholder and management to the team,
vice versa. Main job is to remove impediments.

A

Scrum Master

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

Revisit the requirement and design, reformulating them to match new and existing needs. Restructure
design and code without perturbing the system’s external behavior.

A

Refactoring

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

Describe two drawbacks of the Waterfall development process

A
  1. Provides no guidance how to handle changes to products and activities during development
  2. Integration happens in one big bang at the end. Integration problems usually surface too late
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What does it meant that requirements are:
Inconsistent:
Ambiguous:

A

Inconsistent - Impossible to satisfy both simultaneously

Ambiguous - Multiple readers can have different valid interpretations.

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

Some facets of XP support the others. Describe how creating unit test and including them in the repository along with the code supports another XP facet.

A

Collective code ownership - When you create unit tests you guard your functionality from being accidentally harmed.
Refactoring - After each change the unit tests can verify that a change in structure did not introduce a change in functionality.

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

Mention two characteristic of agile process methods. Describe with one sentence.

A
  1. Short releases and iterations: Divide work in small pieces and release the software to the customer as often as possible.
  2. User Involvement - ask the user to continuously give feedback of the product by integrating the users to the process.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Describe what is the Sprint Burndown Chart. What does it includes?

A

It’s a chart that should demonstrate a steady drive to zero hours remaining. Is used to estimate and graph the work remaining of the Sprint.

 Includes dates of work until the last projected date.

 Include the remaining effort in hours.

22
Q

Describe Sequential Integration or refactoring in XP

A

Is a solution to the parallel integration which state that the source code has to be released to the repository by turns. Each pair of developers test and releases their changes at a given moment, so the code is updated “step by step”.

23
Q

Define Functional and non-functional requirements

A

Functional : describes required behavior in terms of required activities ( such as reactions to inputs, and state of each entity before and after and activity occurs)

24
Q

Define Functional requirements

A

Functional : describes required behavior in terms of required activities ( such as reactions to inputs, and state of each entity before and after and activity occurs)

25
Q

Define Software Engineering

A

The application of a systematic, disciplines, quantifiable approach to the development, operation and maintenance of software

26
Q

Mention 3 ways of considering quality

A
  • Quality of the product
  • Quality of the process that results in the product
  • Quality of the product in context of the business in which the product will be used.
27
Q

Mention the stakeholders in a software development project and what they do.

A
  • Customer : the company, organization or person who pays for the system
  • Developer : The one that builds the product
  • User : the person or people who actually uses the system
28
Q

Mention the members of the development team and what they do.

A

Requirement Analysts:work with customers to identify and document the requirements
Designers : generate a system-level description of what the system is supposed to do
Programmers : writes lines of code to implement the design
Testers : catch faults
Trainers : show users how to use the system
Maintenance : fix faults that show up later
Librarians : prepare and store documents such as software requirements
Configuration Management : maintain correspondence among various artifacts

29
Q

Define process

A

A series of steps involving activities, constraints, and resources that produce an intended output.

30
Q

Mention the characteristics of process.

A
  1. Prescribes the major activities
  2. Produces intermediate and final products
  3. May be composed of sub-processes that are linked in some way
  4. Each activity has entry and exit criteria, so we know when the activity begins and ends.
  5. Activities are organized in a sequence, so timing is clear.
  6. Each process has a set of guiding principle that explains the goals of each activity.
  7. Constraints and controls may apply to an activity, resource or product.
31
Q

Mention the stages of software development.

A
  1. Requirements and analysis and definition
  2. System design
  3. Program design
  4. Writing Programmers
  5. Testing
  6. Delivery
  7. Maintenance
32
Q

Mention the stages of the Waterfall Model.

A
  1. Requirements
  2. Design
  3. Implementation
  4. Verification
  5. Maintenance
33
Q

Waterfall Strengths

A

 It tackles complexity in orderly way, working well for projects are well understood but still

complex.

 Provide structure to a technically weak or inexperienced staff

 Easy to the PM to plan, staff and track the progress of the project.

 It allows staff who have completed their phase to freed up for other projects.

34
Q

Waterfall Weakness

A

 Does not reflect the way the code is developed.

 Provides no guidance how to handle change to products and activities.

 View software development as a manufacturing process rather than creative process.

 The integration happens in a big bang at the end.

35
Q

Waterfall Model - Uncontrolled development

A
  1. Often, software is used in a solution to a problem that has never been solved.
  2. Neither the user nor the developers know all the key factors that affect the desired outcome.
  3. Much of the time spent during requirement analysis maybe devoted to understanding the items and processes.
  4. Developers may trounce form one activity to the next and back again, as they strive to gather knowledge about the problem and how proposed solution addresses it.
36
Q

Define prototype and what it is useful for.

A

Partially developed products

o developers assess alternatives design alternatives

o users understand what the system will be like

37
Q

V Model – differences with Waterfall Model

A

Testing is empathized more.

38
Q

How did the Waterfall Model influence the creation of the V Model?

A
  1. The V model emerged in reaction to some waterfall models that showed testing as a single phase following the traditional development phases of requirements analysis, high level, design, detailed design and coding.
  2. The waterfall model did considerable damage by supporting the common impression that testing is merely a brief detour after the most on the mileage has been gained by mainline development activities.
39
Q

V-Model Strenghts

A
  1. Simple and easy to use
  2. Each phase has a specific deliverable
  3. Higher chance of success over the waterfall model due the development test plans early during on the life

cycle.

  1. Works well for small projects where requirement are easily understood.
40
Q

Prototyping model explanation

A

 Allow all or part of the system to be constructed quickly to understand or clarify issues.

 Reduced risk and uncertainty in the development.

41
Q

Model Driven Development definition

A

Is an approach that uses models as a specification of software and transformations of those models to get the source code.

42
Q

Define the Phased Development

A

A system to deliver the software in pieces

43
Q

Mention and Define the two most common ways of organizing development into releases

A

1) Incremental development - The system is partitioned into subsystem by functionality. The releases start

with one small functional subsystem and then add functionality with each new release.

2) Iterative development- Deliver a full system at the very beginning and starts then changes the

functionality of each subsystem with each new release.

44
Q

Mention reasons why phased development may be desirable.

A
  1. Training can start early
  2. Markets can be created early.
  3. Frequent releases
  4. The development team can be focus in different areas of expertise
45
Q

Define Spiral Model

A

The model combines development activities with risk management to minimize and control risks.

46
Q

Briefly explain how Spiral Model Works

A

The model is presented as a spiral in which each iteration is represented by a circuit around four major activities.

o Plan

o Determine goals, alternatives and constraints.

o Evaluate alternatives and risks.

o Develop and test.

47
Q

Mention Strengths and Drawbacks of Spiral Model

A
  1. Strength

 Users can see the system early

 Provides early indications of insurmountable risks.

 Splits a large development into small chunks

 It takes advantage of the strength of the incremental model, with incremental releases.

 The model allows for flexible design by embracing the strength of waterfall model while allowing

for iteration throughout the phases of that model.

 Control of quality, correctness, cost, schedule, and staffing.

  1. Drawbacks

 Expensive for low-risk or small projects.

 Time spent planning, resetting objectives, doing risk analysis and prototyping may be excessive.

 Model complex to use

 Large numbers of intermediate stages

 The spiral may continue indefinitely.

48
Q

Define The Unified Process

A

Combine commonly accepted best practices, such as an iterative life cycle and risk-driven development into a cohesive and well-documented description.

Development is or organized into series of short, fixed-length mini-project called iterations; the outcome of each is tested, integrated, and executable systems. Organized the work across four major phases: inception, elaboration, construction, and transition

49
Q

What is RUP?

A

Rational Unified Process

50
Q

Mention and explain the 4 major phases of RUP

A
  1. Inception: approximate vision, business case, scope, vague estimates.
  2. Elaboration: refined vision, iterative implementation of the core architecture, resolution of high risks, identification of the most requirement/scope, more realistic estimate.
  3. Construction: iterative implementation of the remaining lower risk and easier elements, and preparation for deployment.
  4. Transition: beta test, deployment