180 likes | 486 Views
Ch. 4 Teams and the Tools of Their Trade. 4.1-4.5 Teams 4.6 Stepwise Refinement 4.7 Cost-Benefit Analysis 4.8 Software Metrics 4.9-4.11 Intro to CASE Tools 4.12-4.14 Version & Configuration Ctrl. 4.15 Tool summary. Team Organization.
E N D
Ch. 4 Teams and the Tools of Their Trade 4.1-4.5 Teams 4.6 Stepwise Refinement 4.7 Cost-Benefit Analysis 4.8 Software Metrics 4.9-4.11 Intro to CASE Tools 4.12-4.14 Version & Configuration Ctrl. 4.15 Tool summary
Team Organization • Psychological Aspects of working together • I’m OK, you’re OK • Minimize weaknesses • Optimize strengths • Ways to Organize Teams • Democratic • Chief Programmer • Modified Chief Programmer • Synchronize-and-Stabilize
Democratic OrganizationEgoless Programming • Work as together as equals. • Group identity and pride, rather than individual. • Goal is a quality product as a team effort. • Encourage each other to uncover faults. • Works best with small teams, solving new, difficult problems
Chief Programmer Team(Like a Chief Surgeon and Assistants) Back-up Programmer Chief Programmer Programming secretary Programmer Programmer Programmer Figure 4.3, p. 94
Combination in aModern Programming Team Team Manager Team Leader (Systems Analyst) Programmer Programmer Programmer
Synchronize-And-Stabilize Teams Build Manager Team Manager Team Manager Team Manager Developer Developer Developer Developer Developer Developer Developer Developer Developer Tester Tester Tester Tester Tester Tester Tester Tester Tester
Stepwise Refinement Iteratively break problem up into smaller and smaller chunks, dealing with more and more details at each refinement. Ex. 4.6.1 Sequential master file update. • Master file and transaction file sortedby customer • Transactions for same customer sorted by transaction type: insert, modify, delete.
Cost-Benefit Analysis • Method • Measure costs • Measure benefits • If benefits minus costs large enough, do it. • Applied to tangibles, e.g. • Cost to install new system; • Benefit -- savings in hourly wages • Applied to intangibles, make assumptions and estimate, e.g. • cost of adding functionality to product • benefit -- assume loss of customers otherwise -- estimate savings in revenues
Software Metrics Aim: Use statistical measurements in each phase. e.g. CMM (Sect. 2.11) : • Level 2: track costs and schedules -- identify problems before reach crisis • Level 4: measure quality and productivity (e.g. faults per 1000 loc.)
Kinds of Metrics (applied to each phase) • Product • size (e.g. pages of documentation; loc) • cost (per page, loc) • duration (actual hours/months per phase) • effort (person hours/months) • quality (e.g. faults per loc or operation hrs.) • Process • e.g. ratio (faults during development) / (faults over lifetime)
CASE Tools (Computer-Aided Software Engineering) • CASE tool (individual tool to assist with one aspect of production) Tool categories: • Req. - Design: front-end or upperCASE tool • Impl.- Maint.: back-end or lowerCASE tool • Workbench (combination of tools to support one or more activities) Examples: • Graphics and Data Dictionary to support requirements and design • Programming environment to support editting, running, and debugging code • Integrated CASE Environment (supports complete software process)
Examples of upperCASE Tools • Graphical diagram editing (data flow diagrams, structure charts, flow charts, etc.) • Data dictionary (each item annotated and cross checked) • Modeling and simulation • Prototyping • Planning and estimating
Examples of lowerCASE Tools • Programming environments, including interactive debuggers • On-line documentation • Program transformation (e.g. reverse engineering) • Test data generation • Project tracking and scheduling • Team management and communication • Version and configuration control -- use of baselines
Version and Configuration Control • Version • Revision (e.g. Delphi 1.0, Delphi 4) • Variation (e.g. Windows & Mac versions) • Configuration • source, object, load modules and documentation for a given version • Baselines for term project • one person responsible for frozen configurations • agreed-on procedures to be followed by team members
Summary of Tools • Advantages of CASE technology • faster development • fewer faults • better usability • easier maintenance • improved morale • Summary of Tools (Figure 4.20) • Theoretical tools • CASE Taxonomy (categories) • Examples of CASE tools
Chapter 4 Homework • Read Chapter 4 • Be prepared to discuss reading and these problems pp. 129-131: • 4.1, 4.2 • 4.9 -- try to think of ways to quantify -- e.g. gratitude to govt. : regained costs per vote. • 4.12, 4.13