Software Engineer's Pocket Book - 1st Edition - ISBN: 9780750607490, 9781483102214

Software Engineer's Pocket Book

1st Edition

Authors: Michael Tooley
eBook ISBN: 9781483102214
Imprint: Newnes
Published Date: 25th July 1994
Page Count: 248
Sales tax will be calculated at check-out Price includes VAT/GST
25% off
25% off
25% off
25% off
25% off
20% off
20% off
25% off
25% off
25% off
25% off
25% off
20% off
20% off
25% off
25% off
25% off
25% off
25% off
20% off
20% off
54.95
41.21
41.21
41.21
41.21
41.21
43.96
43.96
43.99
32.99
32.99
32.99
32.99
32.99
35.19
35.19
72.95
54.71
54.71
54.71
54.71
54.71
58.36
58.36
Unavailable
Price includes VAT/GST
× DRM-Free

Easy - Download and start reading immediately. There’s no activation process to access eBooks; all eBooks are fully searchable, and enabled for copying, pasting, and printing.

Flexible - Read on multiple operating systems and devices. Easily read eBooks on smart phones, computers, or any eBook readers, including Kindle.

Open - Buy once, receive and download all available eBook formats, including PDF, EPUB, and Mobi (for Kindle).

Institutional Access

Secure Checkout

Personal information is secured with SSL technology.

Free Shipping

Free global shipping
No minimum order.

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:
Imprint:
Newnes
eBook ISBN:
9781483102214

About the Author

Michael Tooley

Ratings and Reviews