Title:
Software engineering with Perl : scripts from chapters 4, 5, 6, and appendix C
Publication Information:
Englewood Cliffs, NJ : Prentice Hall, 1995
Physical Description:
1 computer disk; 3 1/2 in
ISBN:
9780130169655
General Note:
Accompanies text of the same title (QA76.758.D52 1995)
System requirements : high density MSDOS sytems and Macintosh with PC exchange
Added Author:
Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000003221789 | DSK 1015 | Open Access Computer File | Diskette (Open Shelves) | Searching... |
Searching... | 30000003221797 | DSK 1015 | Open Access Computer File | Diskette (Open Shelves) | Searching... |
On Order
Summary
Summary
Designed for software professionals who wish to use the PERL language in various ways - to develop and maintain software in various languages; prototype new applications; and convert data to different formats. This text provides a toolkit written in PERL.
Table of Contents
1 Introduction | p. 1 |
Why We Wrote This Book | p. 1 |
Software Tools Enable Big Productivity Gains | p. 1 |
Along Comes CASE | p. 2 |
Little CASE's Larger History | p. 3 |
Why Perl Is Good for Software Engineering Tools | p. 5 |
Testing Too | p. 6 |
Software Development Processes and Prototyping | p. 6 |
How to Use This Book | p. 7 |
Your Friends Along the Way | p. 8 |
Equipped Better | p. 10 |
2 Why Perl? | p. 11 |
What Is Perl? | p. 11 |
Why Is Perl Useful for Rapid Prototyping? | p. 12 |
"Functional quickly" | p. 12 |
"Easy to modify" | p. 12 |
"A working model written in a fourth-generation language" | p. 12 |
"Always rewritten in a procedural language for implementation" | p. 13 |
"Always discarded" | p. 13 |
"Something that models human interfaces to computers" | p. 13 |
"A miniature model of a proposed system" | p. 13 |
"A model used to determine design correctness" and "A quick way to approximate a problem solution" | p. 13 |
"Always used with 'live' data" | p. 14 |
How Perl Stacks Up | p. 14 |
Perl Beats the Combined Forces | p. 17 |
Converting Existing Scripts to Perl | p. 17 |
Really Learning Perl | p. 17 |
3 Prototyping with Perl | p. 19 |
Why Prototype? | p. 19 |
Risk Area #1 Unknowns in Customer Requirements | p. 20 |
Risk Area #2 Unknowns in Technology | p. 21 |
Risk Area #3 Unknowns in Interfaces | p. 22 |
The Waterfall Development Model | p. 22 |
The Spiral Model | p. 26 |
Structured Rapid Prototyping | p. 27 |
Object-Oriented Analysis and Design | p. 28 |
Other Development Methodologies | p. 28 |
Prototyping Methods | p. 29 |
Risks of Prototyping | p. 30 |
The General Case of Prototyping | p. 31 |
Requirements Analysis | p. 32 |
Design | p. 32 |
Implementation and Test | p. 33 |
The Final Spin Cycle | p. 34 |
Case History: Prototyping Power Estimation | p. 37 |
4 Productivity Tools | p. 43 |
Generic Tags File Generator Tool | p. 44 |
Reuse Library System | p. 51 |
Documentation Extraction Tool | p. 52 |
Reuse Browser | p. 53 |
AutoDoc | p. 53 |
Code Generators | p. 56 |
Command-Line Processing and Help Code Generator | p. 56 |
Test Fixtures | p. 63 |
Stretch Yourself on Productivity Tools | p. 63 |
5 Software Metrics with Perl | p. 65 |
Why Metrics? | p. 65 |
What Are Software Metrics? | p. 66 |
Counting Lines of Code | p. 67 |
Halstead's Metrics | p. 71 |
McCabe's Metric | p. 73 |
Using Software and Other Metrics | p. 74 |
Misusing Metrics | p. 75 |
Metrics, Management, and Misconception | p. 76 |
Not in My Code | p. 76 |
Look What I've Done | p. 78 |
Lies, Damn Lies, and Statistics | p. 78 |
Those Who Live By The Books... | p. 79 |
Taken as Directed | p. 79 |
Stretch Yourself on Software Metrics | p. 80 |
6 Configuration Management | p. 81 |
The How and Why of Configuration Management | p. 81 |
Two Ways of Managing Versions | p. 83 |
Revision Control System (RCS) Basics | p. 84 |
Jumpstarting Revisions | p. 87 |
Viewing History | p. 87 |
How Far Does It Take Us? | p. 88 |
Identifying Object Files | p. 88 |
Automatic History | p. 90 |
Handling Systems or Packages | p. 91 |
Another Option | p. 92 |
RCS Perl Scripts | p. 94 |
Smart ci and co Tools | p. 94 |
Problem Reporting | p. 95 |
Stretch Yourself on Configuration Management | p. 97 |
Appendix A Perl Quick Tour | p. 101 |
Perl Data Types | p. 101 |
Variables | p. 102 |
Literals | p. 104 |
Basic Syntax | p. 106 |
Subroutines | p. 111 |
Packages | p. 112 |
Operators | p. 113 |
Regular Expressions | p. 120 |
Special Variables | p. 126 |
Perl Formatting Capabilities | p. 128 |
Wrapping Up | p. 132 |
Appendix B Portable Perl | p. 133 |
Appendix C Toolkit Libraries | p. 135 |
Langdef File Format and Access Routines | p. 135 |
Langdef Regular Expressions | p. 136 |
Langdef Capabilities | p. 137 |
Langdef Routines | p. 138 |
Routines Found in main Package | p. 139 |
Useful Routines Found in "Langdef" Package | p. 145 |
The Perl Forms System | p. 158 |
What is a Form? | p. 158 |
Defining a Form | p. 158 |
Attributes Common to All Fields | p. 161 |
Function Keys | p. 166 |
Text Editing in Fields | p. 167 |
Using Text Fields | p. 168 |
Using Hidden Text Fields | p. 169 |
Using Cyclic Fields | p. 169 |
Using Enumerated Fields | p. 169 |
Using the Forms System | p. 170 |
Appendix D Software Engineering with Perl Scripts | p. 207 |
4 Productivity Tools | p. 208 |
Tags.pl | p. 208 |
doc_builter.pl | p. 217 |
doc_browser.pl | p. 226 |
AutoDoc.pl | p. 231 |
5 Software Metrics with Perl | p. 235 |
countlines.pl | p. 235 |
halstead.pl | p. 242 |
mccabe.pl | p. 251 |
6 Configuration Management | p. 259 |
smart_diff.pl, smart_ci.pl, smart_co.pl, send-pr.pl | p. 259 |
Appendix E Bibliography | p. 267 |
Appendix F GNU General Public License | p. 269 |