Exam 2 Study Flashcards
(42 cards)
Software Process
A general term describing the over-arching process of developing software.
What are the five elements of the Software Process?
Requirements Gathering Design Implementation Testing Maintenance
What is the primary object-oriented methodology?
The unified process
an adaptive methodology for software construction
Unified Process
The phases of the unified process
requirements workflow analysis workflow design workflow implementation workflow test workflow
What is meant by a phase of the Unified Process?
A phase is a series of smaller steps in a larger process
Who is responsible for the correctness of a product?
SQA Group (Software Quality Assurance)
What are the 5 levels of CMM (Capability Maturity Models)?
- Initial Level
- Repeatable Level
- Defined Level
- Managed Level
- Optimizing Level
What are CASE tools used for?
Software tools that assist software engineering teams in developing and maintaining software.
Democratic Teams
Strengths
High-quality code
good with hard problems
Weakness
senior members may resent appraisals
cannot be externally imposed
Classical Chief Programmer Teams
Strength
Major success of The New York Times project
Weakness
Impractical
Modified Chief Programmer Teams
Strength
Many Successes
Weakness
No successes on a large scale
Modern Hierarchical Programming Teams
Strengths
Team Manager structure eliminates the need for a chief programmer
scales up
supports decentralization when needed
Weakness
Problems can arise unless areas of responsibility of the team manager and the team leader are clearly delineated
Synchronize-and-stabilize teams
Strength
Encourages creativity
Ensures that a huge number of developers can work toward a common goal
Weakness
No evidence so far that this method can be utilized out side of microsoft
Agile Process Teams
Strengths
Programmers do not tes their own code
Knowledge is not lost if one programmer leaves
Less-experienced programmers can learn from others
Weakness
Still too little evidence regarding efficacy
Open-Source Teams
Strength
A few projects are extremely successful
Weakness
Narrowly applicable
Must be led by a superb motivator
Require top caliber participants
Name the 7 types of Team Organizations
Democratic Teams Classical Chief Programmer Teams Modified Chief Programmer Teams Modern Hierachical Programming Teams Synchronize and Stabilize Teams Agile Process Teams Open-Source Teams
What is Brook’s Law?
Adding manpower to a late software project makes it later
Pair Programming Advantages and Disadvantages
Strengths
Team members benefit from each others experience
Programs have fewer bugs
Weaknesses
requires large blocks of uninterrupted time
does not work for shy or overbearing programmers
S.P.I.C.E
Software Process Improvement Capability Determination
ISO 9000
International Organization for Standardization ISO9000
Version Control Tool
A tool that help maintain multiple version of an artifact
Configuration Control Tool
A tool that tracks and controls revisions
Walkthrough vs Testing
Testing takes less time and has few steps