Software Essentials Design and Construction 1st Edition by Adair Dingle – Ebook PDF Instant Download/Delivery: 1439841217, 9781439841211
Full download Software Essentials Design and Construction 1st Edition after payment
Product details:
ISBN 10: 1439841217
ISBN 13: 9781439841211
Author: Adair Dingle
Winner of a 2015 Alpha Sigma Nu Book Award, Software Essentials: Design and Construction explicitly defines and illustrates the basic elements of software design and construction, providing a solid understanding of control flow, abstract data types (ADTs), memory, type relationships, and dynamic behavior. This text evaluates the benefits and overhe
Software Essentials Design and Construction 1st Table of contents:
Section I Software Construction
Chapter 1 ▪ Software Complexity and Modeling
1.1 Modern Software
1.1.1 Software Design
1.1.2 Software Utility
1.1.3 Software Production
1.2 Software Engineering
1.2.1 The Software Development Life Cycle (SDLC)
1.2.2 Software Process Methodologies
1.3 Models
1.3.1 Requirements Analysis and Specification
1.3.2 Software Architecture
1.3.3 Model View Controller
1.3.4 Code Construction
1.4 Software Integration
1.5 Documentation
1.6 Summary
Design Insights
Chapter 2 ▪ Software Development
2.1 Software Execution
2.2 General Purpose Utility and Support
2.3 Programming Language Evolution
2.3.1 Compilers
2.3.2 Software Design
2.3.3 ADTs
2.3.4 Class Construct
2.3.5 Object-Oriented Programming Languages
2.4 Uml
2.5 Libraries and Frameworks
2.6 Software Construction Fundamentals
2.7 Summary
Design Insights
Section II Software Fundamentals
Chapter 3 ▪ Functionality
3.1 Control Flow
3.1.1 Structured Control Flow
3.1.2 Controlled Interruption to Sequential Execution
3.1.3 Readability
3.2 Boolean Logic
3.2.1 Short-Circuit Evaluation
3.3 Recursion
3.4 Sequential Execution
3.4.1 Optimization
3.4.2 Inlining
3.5 Summary
Design Insights
Chapter 4 ▪ Memory
4.1 Abstraction of Memory
4.2 Heap Memory
4.2.1 C++ Deallocation
4.2.2 C#/Java Heap Memory Management
4.3 Memory Overhead
4.3.1 Allocation
4.3.2 Memory Reclamation
4.3.3 Garbage Collection
4.3.4 Reference Counting
4.4 Design: Storage Versus Computation
4.5 Summary
Design Insights
Chapter 5 ▪ Design and Documentation
5.1 Object-Oriented Design
5.2 Class Functionality
5.2.1 Constructors
5.2.2 Accessors and Mutators
5.2.3 Utility Functions
5.2.4 Destructors
5.3 Programming by Contract
5.3.1 Defensive Programming
5.3.2 Precondition and Postcondition
5.3.3 Invariants
5.3.4 Design Example
5.3.5 Contractual Expectations
5.4 OO Design Principles
5.5 Summary
Design Insights
Section III Software Design
Chapter 6 ▪ Structural Design
6.1 Relationships
6.1.1 Composition
6.1.2 Containment
6.1.3 Class Design: Has-a or Holds-a?
6.2 Inheritance
6.2.1 Automate Subtype Checking
6.2.2 Inheritance Design
6.3 Code Reuse
6.3.1 Class Design: Has-a or Is-a?
6.3.2 Contractual Expectations
6.4 OO Design Principles
6.5 Summary
Design Insights
Chapter 7 ▪ Behavioral Design
7.1 Inheritance for Functionality
7.2 Polymorphism
7.2.1 Overloading
7.2.2 Generics
7.2.3 Subtype Polymorphism
7.3 Static Binding Versus Dynamic Binding
7.3.1 Heterogeneous Collections
7.4 Virtual Function Table
7.5 Software Design
7.5.1 Abstract Classes
7.6 Real-World Example: Disassembler
7.6.1 Virtual Function Table
7.7 Language Differences
7.7.1 Type Introspection
7.7.2 C++ Virtual Destructors
7.7.3 Accessibility of C++ Virtual Functions
7.8 OO Design Principles
7.9 Summary
Design Insights
Chapter 8 ▪ Design Alternatives and Perspectives
8.1 Comparative Design
8.2 Class Design Types
8.2.1 Concrete Class
8.2.2 Abstract Class
8.2.3 Node Class
8.2.4 Wrappers
8.2.5 Delegate
8.2.6 Handle: Smart Pointers
8.3 Design Specifications for Inheritance
8.4 Inheritance Versus Composition
8.5 Multiple Inheritance
8.5.1 Multiple Inheritance Imperfections
8.5.2 Single Inheritance with Composition
8.5.3 Simulated Design without Inheritance
8.6 Multiple Inheritance Design
8.6.1 Evaluating Design Options
8.6.2 Relevance of Type
8.7 OO Design Principles
8.8 Summary
Design Insights
Section IV Software Durability
Chapter 9 ▪ Software Correctness
9.1 Exceptions
9.1.1 Exceptions and Software Design
9.2 Testing Design
9.2.1 Scale
9.2.2 Perspective
9.2.3 Coverage
9.2.4 Data Values
9.3 Software Qualities
9.4 Summary
Design Insights
Chapter 10 ▪ Software Longevity
10.1 Software Maintenance
10.2 Software Evolution
10.3 Nonfunctional Properties
10.4 Refactoring
10.5 Reverse Engineering
10.6 Summary
People also search for Software Essentials Design and Construction 1st:
software design fundamentals
software construction techniques
introduction to software engineering
software development best practices
coding and software quality
Tags: Software Essentials, Design, Construction, Adair Dingle



