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
Q

In any given scenario, Top-up testing methods is

A

MOST effective during the initial phases of Prototyping.

26
Q

In any given scenario, Rapid Application Development (RAD) uses

A

a prototype approach that can be updated continually to meet changing user or business requirements.

27
Q

Rapid Application Development (RAD) relies on

A

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

28
Q

RAD enables the organization to develop systems

A

quickly while reducing development cost and maintaining quality. This is achieved by use of above techniques.