Unit 4 Flashcards

System development approaches (53 cards)

1
Q

Two general approaches to the SDLC

A

Predictive approach
Adaptive approach

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

Predictive approach

A

-Waterfall model
-Assumes the project can be planned in advance and that the IS can be developed according to the plan
-Requirements are well understood and/or low technical risk

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

Adaptive approach to the SDLC

A

-Iterative model
-Assumes the project must be more flexible and adapt to changing needs as the project progresses
-Requirements and needs are uncertain and/or high technical risk

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

Traditional predictive SDLC

A

-Earlier approach based on engineering
-Typically have sequential phases

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

Newer Adaptive SDLC

A

-Emerged in response to increasingly complex requirements and uncertain technological environments
-Always includes iterations where some of design and implementation is done from the beginning
-Many developers claim it is the only way to develop IS

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

Additional adaptive concepts

A

-Incremental development
-Walking skeleton

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

Incremental development

A

-An approach that completes portions of the system in increments
-A system is implemented and partially deployed in steps during the project
-Gets part of the working system into users’ hands sooner

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

Methodologies

A

-Provides guidelines for every facet of system development
-Specifies an SDLC with activities and tasks
-Specifies project planning and project management models and reporting
-Specifies analysis and design models to create
-Specifies implementation and testing techniques

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

Model

A

-An abstraction of an important aspect of the real world
-Makes it possible to understand a complex concept by focusing only on relevant part
-Each model shows a different aspect of the concept
-Crucial for communicating project information

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

Walking skeleton

A

-An approach in which the complete system structure is built early, but with bare-bones functionality

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

Tools

A

Software applications that assists developers in creating models or other components required for a project

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

Technique

A

-A collection of guidelines that help an analyst complete and activity or task
-Learning techniques is the key to having expertise in a field

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

Methodology

A

Includes a collection of techniques that are used to compare activities and tasks, including modeling, for every aspect of the project

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

Two approchases to software construction and modeling

A

-The structured approach
-The object-oriented approach

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

The structured approach

A

-Earlier aproach, assumes a system is a collection of processed that interact with data
-Structured analysis,structured design, and strcutured programming

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

The object-oriented approach

A

More recent approach.Assumes a system is a collection of objects that interact to complete tasks
-OO analyis,OO design and OO programming

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

Object oriented analysis

A

The process of identifying and defining the use cass and sets of objects in the new system

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

Object-oriented design

A

Defining all of the types of objects necessary to communicate with people and devices and showing how they interact to complete tasks

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

Object oriented programming

A

Writing statements that define the actual classes and what each object of the class does

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

Agile development

A

-A guiding philosophy and a set of guidelines for developing IS in an unknown, rapidly changing environment
-Complements adaptive SDLCs and methodologies that support it
-Takes adaptive and makes sure developers are fast on their feet to respond to changes

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

Agile development philosophies and values

A

-Value respoding to change over following a plan
-Value individuals and interactions over processes and tools
-Value working software over comprehensive documentation
-Value customer collaboration over contract negotiation

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

Three current methodologies

A

-Unified process(UP)
-Extreme programming(XP)
-Scrum

-uses an iterative SDLC
-UP uses UML
-XP and scrum are based on agile principles, UP can also be used in an agile fashion

20
Q

Unified Process

A

-Developed by Booch,Rumbaugh and Jacobson who previously devloped UML
-UP defines a complete methodology that uses UML for system models and describes a new, adaptive SDLC

21
Q

The unified process-life cycle

A

-The unified process life cycle model includes iterations and phases
-Phases are inception, elaboration, construction and transition

22
UP discipline
A set of functionally related activities that combine to enable the development process in a UP project -Business modeling -Requirements -Design -Implementation -Testing -Deployment -Project management -Environment -Configuration and change management
23
UP philosophies and practices
-Focuses early and often on users -Use case driven -Model driven-uses UML exclusively -Iterative ,but provides management structure by defining phases -Focuses on defining an architecture -Adaptable to needs of a specific project -Can be made highly agile, but originally had heavy ceremony
24
Extreme programming
An attempt to take the best practices of software development and extend them "to the extreme" -Communication -Simplicity -Feedback -Courage
25
Communication
One of the major causes of project failure is a lack of open commmunication among the right players at the right time and at the right level
26
Simplicity
XP includes techniques to reinforce keeping things simple to make it a standard way of developing systems
27
Feedback
As with simplicity, getting frequent , meaningful feedback is recognized as a bestt practice of software development
28
Courage
Developers always need courage to face the harsh choice of doing things right or throwing away bad code and starting over
29
Planning
XP planning focuses on making a rough plan quickly and then refining it as things become clearer
30
Testing
XP intensies testing by requiring that the tests for each use case be written first-before the solution is programmed
31
Simple designs
It accomplishes the desired result with a few classes and methods as possible and that doesn't duplicate code
31
Owning the code collectively
Collective ownership allows anyone to modify any piece of code
31
Pair programming
-XP practice in which two programmers work togther on designing, coding, and testing software
32
Refactoring the code
Refactoring is the technique of improving the code without changing what it does
33
Continuous integration
Small pieces of code which have passed the unit tests are integrated into the system daily or even more often
34
On-site customer
XP projects require continual involvement of users who can make business decisions about functionality and scope
35
System metaphor
It can guide members toward a vision and help them understand the system
36
Small releases
Small and frequest releases provide upgraded solutions to the users and keep them involved in the project
37
Forty hour week
The project shouldn't be a death march that burns out every member of the team
38
Coding standards
Developers should follow standards for coding and documentation
39
Scrum
Scrum philosophy is the complete control a team exerts over its own organization and its work processes .Software is developed incrementally and controls are imposed empirically by focusing on things that can be accomplished
40
Scrum organization
-Product backlog-a prioritized list of user requirements used to choose work to be done in a scrum project -Only a few of the high-priority items are worked one at a time -Product owner-The client stakeholder for whom the system is being built -Responsible for project backlog and priorities -Scrum master-the person in charge of a scrum projectsimilar to a project manager -Scrum team in usually 5-9 people -Scrum team sets own goals, makes decisions
41
Scrum practices
-Sprint a time controlled mini-project that implements a specific portion of a system -Firm 30 day time box with specific goal or deliverable -The scope of that sprint is frozen, and no one can change it neither the product owner nor any other users -Daily scrum a daily meeting of all members of the team to report progress -Sprint final half-day review meeting -scheduled to review and identify changes needed for the following sprints
42
Inception
Develop an approximate vision of the system, make the business case, define the scope and produce rough estimates for cost and schedule
43
Elaboration
Define the vision, identify and describe all requirements, finalize the scope, design and implement the core architecture and functions, resolve high risks and produce realistic estimates for cost and schedule
44
Construction
Iteratively implement the remaining lower-risk, predictable and easier elemets and prepare for deployment
45
Transition
Complete the beta test and deployment so users have a working system and are ready to benefit as expected
46
XP characteristics
-Takes proven industry best practices and focuses on them intensely -Combines those best practices in a new way to produce a result that is greater than the sum of the parts
47
Scrum philosophy
Scrum is responsible to a highly changing ,dynamic environment in which users might not know exactly what is needed and also change priorities frequently -The list called the product backlog includes user functions, features and technology
48
Scrum organization
The three main organizational elements that affect a scrum project are the product owner ,the scrum master and the scrum team or teams