Systems Development Life Cycle (SDLC), Methodologies and the Unified Process Flashcards

1
Q

Why do we need a formal process?

A
  • Failures occur (too) often
  • Creating systems is not intuitive
  • Projects are late, over budget or delivered with fewer features than planned
  • Designed systems can be focused to deliver business value
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What is SDLC and its sequential activities?

A

System Development Life Cycle.

Planing , Analysis, Designing, Implementing.

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

Planning - Why should we build the system?

A

Project Initiation-> Project management

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

Analysis - What should the
system do? Where
and when will it be used?

A

Analyse - Develop Analysis Strategy -> Gather Requirements -> Develop Proposal

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

Design - How will the system be built?

A

Design - Develop Design -> Develop Architecture -> Design Databases & Files -> Design Programs

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

Implementation - Build the system

A

Implement - Contract -> Install -> Support

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

What is a methodology?

A

A methodology is a formalized approach to implement a system.

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

Types of Methodology?

A
  • Structured Design
  • Rapid Application Development
  • Agile Development
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Mention the types of Structured Design methodologies

A
  • Waterfall Development

- Parallel Development

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

Mention the types of Rapid Application Development methodologies

A
  • Phased
  • Prototyping
  • Throwaway Prototyping
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Mention the types of Agile Development methodologies

A
  • eXtreme Programming
  • SCRUM
  • TDD
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the OO paradigm?

A
  • Introduction of event-driven programs
  • Introduction of GUI
  • Increasing complexity, cost of programming
  • Driver for better linkage between process and computer program
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is OOAD?

A

Object-Oriented Analysis and Design is Use-Case driven, architecture-centric, iterative and incremental

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

What is Use-case driven?

A
  • A use-case describes a single business process

- Use-case define the behavior of a system

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

Describe the views of architecture centric?

A
  • [External] Functional view: focuses on the user’s perspective
  • [Structural] Static view: focuses on attributes, methods, classes and relationships
  • [Behavioral] Dynamic view: focuses on messages between classes and resulting behaviors
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What are the OOAD benefits?

A
  • Code reuse and recycling: Objects created for OO programs can be reused in other programs
  • Encapsulation: objects can hide certain parts of themselves from programmers preventing them from tampering with values they shouldn’t
  • Desing benefits: OO programs force designers to go trough an extensive planning phase, which makes for better design with fewer flaws.
  • Software maintenance: OO programs are easier to modify and maintain than non-OO programs
17
Q

What are the OOAD criticisms?

A
  • OOP not really reusable and modular
  • Emphasizes design and modeling at the expense of algorithm
  • No significant difference in productivity between OOP and procedural
18
Q

What comprises the unified process?

A

Unified process is a specific methodology for OO analysis and design.

  • 4 phases that describe how the system evolves over time (Inception/Elaboration/Construction/Transition)
  • 7 engineering workflows that describe collections of tasks that occur throughout the lifecycle
  • 5 support workflows that describe disciplines needed to ensure consistency of approach and method
19
Q

What is UML?

A

UML is the unified modelling language to describe the unified process. This provides a common vocabulary object-oriented terms and diagramming techniques to model any system development project from analysis through implementation.

UML uses Structural and behavior diagrams

UML doesn’t include staffing, budgeting, contract management, maintenance, operation, support.

20
Q

OOP Languages

A

Most widely used programming languages are multi-paradigm that support OOP such as Java, Python, C++, C#, PHP.

21
Q

What are classes and objects?

A
  • Object (instance): instantiation of a class
  • Attributes: information that describes the class
  • State: describes its values and relationships at a point in time
22
Q

What are methods and messages?

A
  • Methods: behavior of a class

- Messages: information sent to an object to a trigger a method.