How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering...

38
How To Write Maintainable Engineering Specifications 1 Forrest Warthman

Transcript of How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering...

Page 1: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

How To Write MaintainableEngineering Specifications

1

Forrest Warthman

Page 2: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Outline

• Motivations and audience• Editing and vector-graphics tools• Document formats and templates• Inserting figures and tables• Inserting footnotes• Comparing documents• Use of language, words, names, and references

2

Page 3: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Motivations

• Engineering specifications serve several functions:– Clarify agreements on design goals.– Guide for new members of engineering team.– Starting point for other documents

(patent applications, user guides, marketing collateral).

• For each function:– Audience is different.– Content needs to be modified or expanded.– Ease of modification depends on how well the original

specification is written and formatted.

3

Page 4: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Audience

• It is more diverse than your immediate team:– Others don’t know details of product functions.– Others don't know all the names and acronyms.– Others have different questions than you do.– Others may have different language skills.

• Before you start writing, ask:– Who are your audiences?– What do they need to know?– Imagine yourself as the audience.– Start by writing an unordered list of topics to cover,

then add some order to the list.

4

Page 5: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Editing Tools

• Writing tools:– Microsoft® Word (versions 2003, 2004, 2007):

• Price range: $150 to $300.• Pros: learning, price. Cons: control, productivity.

– Adobe® FrameMaker® (versions 6, 7, 8, 9):• Price range: $800 to $1,500.• Pros: control, productivity. Cons: learning, price.

• Vector-graphics tools:– Microsoft Visio® (versions 2002, 2003, 2007):

• Price range: $100 to $450.• Pros: learning. Cons: control, productivity.

– Adobe Illustrator® (versions 10, 11, CS2, CS3, CS4):• Price range: $150 to $500.• Pros: control, productivity. Cons: learning.

5

Page 6: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Editing Tools

• Built-in drawing tools:– Avoid using built-in Word or FrameMaker draw tools.

• Hard to control.• Can’t be imported into other software tools.

• Tool versions:– Have all contributors use the same tool and version.

• Formatting problems with cross-version Microsoft® Word.• Especially important for external collaboration.

• Other tools:– PowerPoint® is not a document-editing tool.

• No named formats, no cross-page text flow, poor draw tools.• Content requires reconstruction in Word or FrameMaker.

6

Page 7: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Formats

• Always use standard formats for characters, paragraphs, page layouts, tables, and figures:– Learn and use your company’s formats, if they exist.

• Does your company automatically update formats periodically?

• If so, tell your IT department about external collaborators.

– Otherwise, learn and use built-in formats in Word or FrameMaker.

– Do not modify fonts or spacing of individual characters or paragraphs.

• Instead, apply a standard format.

7

Page 8: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Formats

• Microsoft Word 2003 or 2004:1. Format > Styles and Formatting...2. Select text and apply formats.

1. 2.

8

Page 9: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Formats

• Microsoft Word 2007:1. Home > Styles2. Select text and apply formats.

1. 2.

9

Page 10: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Formats

• FrameMaker:1. Click icons in upper-right corner of document window to open

character and paragraph catalogs.2. Select text and apply formats.

1. 2.

10

Page 11: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Document Templates

• Microsoft Word 2003 or 2004:1. Tools > Templates and Add-Ins...2. Check Automatically update document styles, and click Attach...3. Select template document, and click Open.

Word templates define page layouts, paragraph and character formats, and other things.

1. 2. 3.

11

Page 12: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Document Templates

• Microsoft Word 2007:1. Office Button > Word Options...2. Add-Ins > Manage > Templates > Go3. Check Automatically update document styles, and click Attach.4. Select template document, and click Open.

2. 3. 4.

12

1.

Page 13: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Document Templates

• FrameMaker:1. View > Master Pages2. View > Reference Pages

1. 2.

13

Page 14: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Formats

• Conventions:– Do not use multiple tab characters to position text.

• Instead, use a predefined paragraph format.

– Do not use multiple carriage returns to position text.• Instead, use a predefined paragraph format.

– Do not modify the font of an individual character.• Instead, use a predefined character format.

– Use a small number of common fonts and font sizes.• For example, use Arial or Verdana fonts, sizes 10, 11, or 12.• Documents with many fonts or font sizes look chaotic.

14

Page 15: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Figures

• Microsoft Word 2003 or 2004:1. Insert a carriage return where the figure will go.2. Insert > Picture > From File... 3. Select picture file, and click Link to File (reduces file size).

1. 2. 3. Result

15

Page 16: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Figure Captions

• Microsoft Word 2003 or 2004:1. Insert a carriage return where the figure caption (title) will go. 2. Insert > Reference > Caption... 3. Enter the caption, and click OK.

1. 2. 3. Result

16

Page 17: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Figures

• Microsoft Word 2007:1. Insert a carriage return where the figure will go. 2. Insert > Picture. 3. Select picture file, and click Link to File (reduces file size).

1. 2. 3. Result

17

Page 18: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Figure Captions

• Microsoft Word 2007:1. Insert a carriage return where the figure caption will go. 2. References > Insert Caption. 3. Enter the caption, and click OK.

1. 2. 3. Result

18

Page 19: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Figures

• FrameMaker:1. Turn on View > Borders (lets you see where the figure will go). 2. Insert a carriage return where the figure will go. 3. Special > Anchored Frame...4. Select anchoring position (Below Current Line), and click New

Frame.

1. 2. 3. Result4.

19

Page 20: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Figures (continued)

• FrameMaker:5. Select the anchored frame.6. File > Import > File...7. Select file, check Import By Reference, and click Import.8. Select image resolution (try the Custom value), and click Set.

5. 6. 7. Result8.

20

Page 21: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Figure Captions

• FrameMaker:1. Place cursor where the figure caption will go, and apply the

appropriate paragraph format. 2. Enter the caption.

1. 2.

21

Page 22: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Tables

• Microsoft Word 2003 or 2004:1. Insert a carriage return where the table will go.2. Table > Insert > Table... 3. Set number of rows and columns, select Fixed column width:

Auto for Autofit behavior, and click OK.4. Move cursor above table, and Insert > Reference > Caption...5. Enter the table caption (title), and click OK.

1. 2. 3. Result

22

4. 5.

Page 23: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Tables

• Microsoft Word 2007:1. Insert a carriage return where the table will go.2. Insert > Table, and drag cursor to select number of rows and

columns.3. Move cursor to the line above the table, and References >

Captions > Insert Caption.4. Enter the table caption (title), and click OK.

1. 2. 3. Result

23

4.

Page 24: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Tables

• FrameMaker:1. Move cursor to the end of the paragraph below which the table

will go.2. Table > Insert Table... 3. Specify the table parameters, and click Insert.4. Drag cursor across all table cells to select them.

24

1. 2. 3. 4.

Page 25: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Tables (continued)

• FrameMaker:5. Table > Resize Columns...6. Choose By Scaling to Widths Totaling, and click Resize.7. Enter the table title (caption).

25

5. 6. 7.

Page 26: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Figures and Tables

• Conventions:– Do not copy figures or tables from other applications

and paste them into your Word or FrameMaker document.

• Instead, use the insert functions in Word or FrameMaker.• Pasted objects may cause incorrect flow of text that is added

or deleted.

– Use the standard method of inserting captions (titles).• Otherwise, figures and tables cannot be cross-referenced

correctly.

26

Page 27: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Footnotes

• Microsoft Word 2003 or 2004:1. Place cursor at point of footnote insertion. 2. Insert > References > Footnote...3. Click Insert.4. Type the footnote text.

1. 2.

27

3. 4.

Page 28: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Footnotes

• Microsoft Word 2007:1. Place cursor at point of footnote insertion. 2. References > Insert Footnote.3. Type the footnote text.

1. 2.

28

3.

Page 29: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Inserting Footnotes

• FrameMaker:1. Place cursor at point of footnote insertion. 2. Special > Footnote.3. Type the footnote text.

1. 2.

29

3.

Page 30: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Comparing Documents

• Microsoft Word 2003 or 2004:1. Tools > Compare and Merge Documents... 2. Select file to be compared, and click Merge into new document.

Save the new document with a unique filename.Do not use Track Changes with large or complex documents.

1. 2. Result

30

Page 31: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Comparing Documents

• Microsoft Word 2007:1. Review > Compare > Compare... 2. Browse for original and revised documents, and click OK.

Save the new document with a unique filename.

1. 2. Result

31

Page 32: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Comparing Documents

• FrameMaker:1. From the first document (called the Newest Document),

File > Utilities > Compare Documents... 2. Browse for the second document (called the Oldest Document),

and click Compare.

1. 2. Result

32

Page 33: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Language

• Use clear, simple language:– Every sentence needs a subject (noun phrase) and a

predicate (verb phrase).• Wrong: “The Stop bit is set at boot time”. This does not say

what performs the action—software or hardware.• Right: “Software must set the Stop bit at boot time”.

– Write sentences that can be read fast. • Fewer words and syllables.

– For most readers, English is a second language.• They appreciate simplicity and clarity.

33

Page 34: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Words

• Clear and unclear words and symbols:– What does “MSB” mean?

• Most-significant byte, or most-significant bit? • Does it specify not only memory ordering but also what

comes first-in-time on a serial link or a parallel bus?

– Does slash (/) mean AND or OR or both?• Some engineers are not always clear about this.

– Do not use undefined abbreviations or acronyms.– If you use abbreviations or acronyms, define them

where you use them, and provide a glossary at the beginning or end of the document.

34

Page 35: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Names

• Use names consistently:– Here is an example:

• "An AND gate can be built from a NAND, and a NAND would require two less gates than an AND."

• So, what does “gate” mean? Is it the AND or NAND, or is it a subcomponent from which the AND and NAND are made?

– Always use the same name for the same thing:• Pick one name for each thing: “function” or “block”.• Use only that name; do not use aliases (synonyms).• Undeclared aliases in computer programs result in errors.• Human brains work like computer programs in this respect.

– This is a BIG problem in engineering specifications.

35

Page 36: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

Compounds

• Compound Nouns and Noun-Modifiers:– What does “ten tapped filters” mean?

• "ten filters with taps“?• "filters with ten taps“?

– Add a hyphen to clarify the meaning:• “ten tapped-filters” (hyphenate the compound noun).• “ten-tapped filters” (hyphenate the compound noun-modifier).

36

Page 37: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

References

• Use clear references:– What are “this” and “that” referring to?– Example:

• “The disk drive makes a loud rattle when a programmatic branch causes the head to seek a distant track; this should be avoided.”

• So, what “this” should we avoid?– Writing programs that make far calls?– Using a system that stores far calls in distant disk tracks?– Using a hard disk?

37

Page 38: How To Write Maintainable Engineering Specifications · How To Write Maintainable Engineering Specifications 1 ... “gate” mean? Is it the AND or NAND, or is it a subcomponent

The Bottom Line

Make your documents• Easy and fast to read.• Easy and fast to maintain.• Easy and fast to adapt for other uses.

38