1 / 16

Ch. 4 Teams and the Tools of Their Trade

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.

Télécharger la présentation

Ch. 4 Teams and the Tools of Their Trade

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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

  3. 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

  4. Chief Programmer Team(Like a Chief Surgeon and Assistants) Back-up Programmer Chief Programmer Programming secretary Programmer Programmer Programmer Figure 4.3, p. 94

  5. Combination in aModern Programming Team Team Manager Team Leader (Systems Analyst) Programmer Programmer Programmer

  6. 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

  7. 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.

  8. 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

  9. 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.)

  10. 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)

  11. 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)

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

More Related