3.6 System Development Methodology (Doshi) Flashcards

1
Q

What is agile?

A

An approach of project management that is utilized in software development. It allows the programmer to start writing a program without spending much time on pre-planning documentation.

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

Agile development project

A

In an Agile development project, a larger development team is broken up into smaller teams of five to nine developers and a leader, and the project deliverable are broken up into smaller pieces that can each be attained in just a few weeks.

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

Prototyping

A

Is the process of creating systems through controlled trial and error

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

Risk of prototyping

A

Focuses too much on what customer wants, and may miss control . Finish system may present a potential risk because of poor controls.

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

Rapid application development (RAD)

A

Relies on the usage of a prototype that can be updated continually to meet changing user or business requirements

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

Object Oriented System development (OOSD)

A

A programming technique and not a software development methodology. Object here refers to small piece of program that can be used individually or in combination with other objects.

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

Benefit of object oriented:

A

the ability to reuse objects.

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

Encapsulation:

A

A technique uses by object oriented in which one object interacts with another object.

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

Component based development:

A

It’s an outgrowth of object-oriented development. reflects the software architecture of an application.

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

Reverse Engineering:

A

Reverse engineering is the process of studying and analyzing an application and the information is used to develop a similar system.

It’s often refers to process of major changes in a system.

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

Risk associated to agile development

A

lack of documentation

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

Why agile approach reviews are done?

A

To identify lessons learned for future use in the project.

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

Waterfall approach:

A

It’s suitable when requirements are well defined and understood.

It’s not suitable when requirement are frequently changing.

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

Prototyping advantages:

A

Provide significant cost and time savings

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

When is Top-down testing methods most effective?

A

During the initial approach of prototyping

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

Major advantage of a component-based development approach:

A

The support of multiple development environments

17
Q

Agile Development:

A
  • Dictionary meaning of agile is ‘able to move quickly and easily’.
  • Agile allows the programmer to just start writing a program without spending much time on preplanning documentation.
  • Less importance is placed on formal paper-based deliverables, with the preference being to produce releasable software in short iterations, typically ranging from 4 to 8 weeks.
  • At the end of each iteration, the team considers and documents what worked well and what could have worked better, and identifies improvements to be implemented in subsequent iterations.
  • Some programmers prefer agile because they do not want to be involved in tedious planning exercises.
18
Q

In any given scenario, major risk associated with agile development is

A

lack of documentation.

19
Q

In any given scenario, in agile approach reviews are done to

A

identify lessons learned for future use in the project.

20
Q

Object Oriented System Development:

A
  • OOSD is a programming technique and not a software development methodology.
  • Object here refers to small piece of program that can be used individually or in combination with other objects.
  • In Object oriented language, application is made up of smaller components (objects).
  • One of the major benefits of object-oriented design and development is the ability to reuse objects.
  • OO uses a technique known as ‘encapsulation’ in which one object interacts with another object. This is a common practice whereby any particular object may call other object to perform its work.
21
Q

In any given scenario, a major benefit of object-oriented development is

A

the ability to reuse objects.

22
Q

Prototyping:

A
  • Prototyping is the process of creating systems through controlled trial and error.
  • A prototype is an early sample or model to test a concept or process. A prototype is a small scale working system used to test the assumptions. Assumptions may be about user requirements, program design or internal logic.
  • This method of system development can provide the organization with significant time and cost savings.

– By focusing mainly on what the user wants and sees, developers may miss some of the controls that come from the traditional systems development approach; therefore, a potential risk is that the finished system will have poor controls.

23
Q

Rapid Application Development:

A

RAD includes use of:

(1) Small and well trained development teams.
(2) Prototypes
(3) Tools to support modeling, prototyping and component reusability.
(4) Central repository
(5) Rigid limits on development time frames

24
Q

In any given scenario, important advantage of prototyping is

A

that it provides significant cost and time savings.

25
In any given scenario, Top-up testing methods is
MOST effective during the initial phases of Prototyping.
26
In any given scenario, Rapid Application Development (RAD) uses
a prototype approach that can be updated continually to meet changing user or business requirements.
27
Rapid Application Development (RAD) relies on
the usage of a prototype that can be updated continually to meet changing user or business requirements.
28
RAD enables the organization to develop systems
quickly while reducing development cost and maintaining quality. This is achieved by use of above techniques.