Software Engineer's Pocket Book
1st Edition
Authors:
Michael Tooley
eBook ISBN: 9781483102214
Imprint: Newnes
Published Date: 25th July 1994
Page Count: 248
Description
Software Engineer's Pocket Book provides a concise discussion on various aspects of software engineering. The book is comprised of six chapters that tackle various areas of concerns in software engineering.
Chapter 1 discusses software development, and Chapter 2 covers programming languages. Chapter 3 deals with operating systems. The book also tackles discrete mathematics and numerical computation. Data structures and algorithms are also explained.
The text will be of great use to individuals involved in the specification, design, development, implementation, testing, maintenance, and quality assurance of software.
Table of Contents
Preface
Acknowledgments
1 Software Development
1.1 Introduction
1.2 The Software Development Life Cycle
Technical Model
Management Models
1.3 Selection of Stages and Methods
Selection of Stages
Choice of Development Approach
Choosing Descriptions
Choosing Methods
1.4 Software Development from the Project Management Viewpoint
The Waterfall Model
Classical Life Cycle Phases
Software Development Activities
Matrix of Phases and Activities
Baselines, Reviews and the V-Diagram
1.5 Requirements Analysis
Requirers, Facilitators and Implementors
Requirements Specification
1.6 Methods for Architectural Design
HOOD
MASCOT
Structured Analysis/Structured Design (SA/SD)
Jackson System Development (JSD)
Structured System Analysis and Design Method (SSADM)
1.7 Testing and the software life cycle
Testing and Requirements Analysis
Test Planning
Testing and System Design
Testing and Detailed Design
Testing and Programming
Testing and Integration
System and Acceptance Testing
Testing and Maintenance
1.8 Software Maintenance
Program Comprehension
1.9 Tools and Workbenches
GSA Programmer's Workbench
Test Coverage Monitor
Source Compare Tools
File Compare Tools
Translator Tools
Reformatter Tools
Data Name Standardizer Tool
Restructuring Tools
Source Code Analyzer
Cross-Reference Tool
Documentation and Metrics Analyzer
Data Manipulation Tool
1.10 Configuration Management
1.11 Quality
Quality Assurance
Quality Management Systems (QMSs)
Quality Control
Structured Walkthroughs
Refining the QMS
Fagan Inspections
1.12 Risk Management and Choice of Process
1.13 References and Bibliography
2 Programming Languages
2.1 Introduction
2.2 Computer Architecture
Basic Von-Neuman Machine
Execution Cycle
Instruction Sets
CISC and RISC
2.3 CPU Characteristics
Variable Length versus Fixed Length
Co-Processors
User/Supervisor Modes
2.4 Instruction Classification
Arithmetic Instructions
Logical Instructions
Program Flow Control Instructions
Machine Control and I/O Instructions
2.5 Processor Hardware Design
Hard-wiring
Microcoding
2.6 Data Types and Internal Representation
Bytes/Characters
Integers
Addresses
Logical Variables
Floating Point/Real Numbers
General Data Structures
2.7 Addressing
Logical versus Physical Addressing
2.8 Logical Addressing
Logical Addressing Methods
Modes
Long/Short Jumps and Calls
Relocatability and Position Independent Code
Code/Data Areas
Re-entrancy
2.9 Physical Addressing
Memory Sizes
Bus Widths
Boundaries
Paging
Cache Memory
Read/Write/Execute Protection
2.10 Input/Output
Privileged Instructions and Protection
Addressing Devices
Interrupts and Polling
Direct Memory Access
Traps
Pipe-lining/Instruction Caching
2.11 Other Architectures
2.12 Assemblers and Macro-Assemblers
Basic Assembler
Interfacing with High-Level Language Modules
Assembly Time Arithmetic and Logic for Addresses and Data
Conditional Assembly
Macros
2.13 Inter-Module Communication
2.14 High-Level Languages
Fortran
Machine Independence
2.15 Abstract Fata Types
Arithmetic Types
Character Data Types
Boolean Data Types
Derived and User-Defined Types
Pointer Types
Union Types
Aggregate Types
Set Types
Lists
Strings
Arrays
Tables
Record Types
2.16 Control Constructs
Parallel Flow
Branching
Loop Constructs
Blocks
Procedures
Functions and Subroutines
Modules
2.17 References and Bibliography
3 Operating Systems
3.1 Introduction
3.2 Basic Concepts of Operating Systems
3.3 Simple, Single-User Operating Systems
Memory Management in Simple Systems
Disc and File Organization and Management
3.4 Multiprogramming Operating Systems
Memory Management in Multiprogramming Systems
Storage and File Organization and Management
Sharing Processor Time
Serialization, Concurrency and the Prevention of Deadlock
Interprocess Communication
3.5 Multiprocessing and Distributed Systems
3.6 Accessing System Services
3.7 References and Bibliography
4 Discrete Mathematics
4.1 Introduction
4.2 Logic
Propositions and Predicates
Logical Connectives
4.3 Set Theory
Free and Bound
Set Operators
Set Relations
Cardinality
Power Sets
Cartesian Product
Labeled Cartesian Products
Notation
4.4 Functions
Function Composition
Functions of More than One Argument
Properties of Functions
Disjoint Union
Sequences
Concatenation
4.5 Relations
Properties of Relations
Equivalence Relations
Equivalence Classes
Partial Orders
4.5 Algebras
4.6 Mathematical Models and Specification Languages
Z
VDM
4.7 References and Bibliography
5 Numerical Computation
5.1 Introduction
5.2 Floating-Point Arithmetic
Machine Floating-Point Arithmetic
Portability of Floating-Point Arithmetic
Floating-Point Arithmetic and Formal Specification
5.3 Floating-Point Programming Techniques
Some Tricks of the Trade
Alternatives to Floating-Point Arithmetic
Error Control
Error Analysis
5.4 References and Bibliography
6 Data Structures and Algorithms
6.1 Introduction
6.2 Analysis Techniques
Machine Models and Complexity Measures
Asymptotic Analysis
Analysis Based on Recurrence Relations
Analysis of Lower Bounds
6.3 Design of Efficient Data Structures and Algorithms
Dictionaries
Static Case
Dynamic Case
Priority Queues
6.4 References and Bibliography
Appendix A — Standards
Standards
Introduction
Timing of Standards
Certification
Standards Bodies
ISO, IEC and International Standardization
Standardization in the UK
Standardization in the USA
Military Standards
Appendix B — Abbreviations
Index
Details
- No. of pages:
- 248
- Language:
- English
- Copyright:
- © Newnes 1994
- Published:
- 25th July 1994
- Imprint:
- Newnes
- eBook ISBN:
- 9781483102214
About the Author
Michael Tooley
Ratings and Reviews
Request Quote
Tax Exemption
We cannot process tax exempt orders online. If you wish to place a tax exempt order
please contact us.