week 1 - software design methodologies Flashcards

1
Q

What does SDLC stand for?

A

System Development Life Cycle

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

What is System Development Life Cycle (SDLC) a process of?

A

Understanding how an information system (IS) can support business needs by designing a system, building it, and delivering it to users.

Ex. payroll system, library system and human resources information system

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

What type of development strategies can System Development Life Cycle (SDLC) do?

A

Structured or unstructured.

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

What is a methodology?

A

A formalized approach to implementing the System Development Life Cycle (SDLC).

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

What things are used to develop software?

A

Cost, Scope, Time and Quality

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

What are some software methodologies?

A

Waterfall, Agile, Iterative Unified Process

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

What is the Waterfall Model?

A

Moves from one phase to the next by completing each phase entirely.

It is heavy on documentation.

Difficult to move backwards or iterate.

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

What is Rapid Application Development (RAD)?

A

Rapid Application Development involves prototyping in order to reduce the amount of time it takes to get the product to the customer.

It takes an iterative approach (ex, people make a prototype, get user feedback and then adapt it by going back and making changes)

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

What is the agile model?

A

Agile is the ability to create and respond to change. It is an adaptive model which is responsive to change.

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

What are some agile values?

A

Individuals and interactions over processes and tools.

Working software over comprehensive documentation.

Customer collaboration over contract negotiation.

Responding to change over following a plan.

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

Agile software development includes what?

A

Frameworks such as Scrum, Extreme Programming, or Feature-Driven Development (FDD).

It espouses practices such as pair programming, test-driven development, stand-ups, planning sessions and sprints.

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

What are some shortfalls to agile?

A
  • One size fits all lifecycle (so difficult to scale)
  • Does not care about risks
  • Geared towards centralized teams
  • Low documentation
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What is Scrum?

A

A lightweight framework that helps teams generate value through adaptive solutions for complex problems. Daily Scrum meetings attended by the product owner, ScrumMaster and the entire Scrum team to discuss requirements and plan short sprints.

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

What is Extreme Programming?

A

A development framework that aims to produce higher quality software, and higher quality of life for the development team. Uses the concept of pair programming to enhance quality and reduce effects.

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

What are the roles in Scrum?

A

Product Owner: the person who’s ultimately
responsible for the product and must relay the vision
accurately to developers

Scrum Master: Kind of like a development
lead, who liaises between the team members and the
product owner, coordinating activities

Team Members: all with
different roles (QA, architect, developer)

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

What is Extreme Programming?

A

A methodology that is considered agile and that focuses on communication, timely feedback and a close working relationship between the user and the developer.

It also involves frequent integration and integration tests, pair programming and short iterations.

17
Q

What are the Extreme Programming Rules?

A
  1. Planning
  2. Managing
  3. Designing
  4. Coding
  5. Testing
18
Q

What are the roles in Extreme Programming?

A

Customer: Writes user stories, functional tests

Developer: Estimate stories, define tasks, write unit tests, write code, refactor, continuously integrate

Manager: define/update planning rules, monitor planning, fix deviations, release and iteration planning, monitor progress, track defects

Coach: Ensure application of extreme programming practices in project

19
Q

What is the Unified Process?

A

Described by a set of phases and workflows, the Unified Software Development Process or Unified Process is an iterative and incremental software development process framework.

20
Q

What is the Agile Unified Process?

A

Describes an approach to software development using agile techniques and concepts yet still remaining true to the unified process.

Includes test driven development (TDD), agile modelling (AM), agile change management, and database refactoring to improve productivity.

21
Q

What is System Analysis and Design?

A

Uses a use-case-driven, architecture-centric, iterative and incremental information systems development approach.

22
Q

What is the Unified Modeling Language (UML)?

A

A standard set of diagramming techniques that provide a graphical representation rich enough to model any systems development project from analysis through implementation.

23
Q

What is a Data Flow Diagram?

A

A data flow diagram (DFD) is a graphical tool that
allows system analysts (and system users) to
depict the flow of data in an information system.

24
Q

What three things does a context diagram show?

A
  1. All external entities
  2. Entities must be nouns, not verbs.
  3. The major information flows between the external entities and the system.