ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب Software Engineering for Real-Time Systems (The Complete Edition)

دانلود کتاب مهندسی نرم افزار برای سیستم های بلادرنگ (نسخه کامل)

Software Engineering for Real-Time Systems (The Complete Edition)

مشخصات کتاب

Software Engineering for Real-Time Systems (The Complete Edition)

دسته بندی: برنامه نویسی: زبانهای مدل سازی
ویرایش: 1 
نویسندگان:   
سری:  
ISBN (شابک) : 9781839216589 
ناشر: Packt 
سال نشر: 2020 
تعداد صفحات: 825 
زبان: English 
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 28 مگابایت 

قیمت کتاب (تومان) : 65,000



کلمات کلیدی مربوط به کتاب مهندسی نرم افزار برای سیستم های بلادرنگ (نسخه کامل): UML زمان واقعی c ++ الزامات تحلیلگر تجاری مهندسی نرم افزار رفت و برگشت



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 10


در صورت تبدیل فایل کتاب Software Engineering for Real-Time Systems (The Complete Edition) به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب مهندسی نرم افزار برای سیستم های بلادرنگ (نسخه کامل) نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب مهندسی نرم افزار برای سیستم های بلادرنگ (نسخه کامل)

ویژگی های کلیدی تاثیر سیستم های بلادرنگ بر طراحی نرم افزار را بررسی کنید درک نقش نمودار در فرآیند توسعه نرم افزار بیاموزید که چرا عملکرد نرم افزار یک عنصر کلیدی در سیستم های بلادرنگ است ------------------------------------ توضیحات کتاب از سیستم‌های کنترل ترافیک هوایی گرفته تا سیستم‌های چند رسانه‌ای شبکه، سیستم‌های بلادرنگ همه جا هستند. صحت سیستم بلادرنگ بستگی به لحظه فیزیکی و نتایج منطقی محاسبات دارد. این کتاب مقدمه‌ای مفصل برای مهندسی نرم‌افزار برای سیستم‌های بلادرنگ، شامل طیف وسیعی از فعالیت‌ها و روش‌های مورد نیاز برای تولید یک سیستم بلادرنگ عالی ارائه می‌دهد. این کتاب با توصیف سیستم های بلادرنگ، کاربردهای آنها و تأثیر آنها بر طراحی نرم افزار شروع می شود. شما با مفاهیم طراحی نرم افزار و برنامه، و همچنین انواع مختلف برنامه نویسی، خطاهای نرم افزار و چرخه عمر نرم افزار، و اینکه چگونه یک ساختار چندوظیفه ای برای طراحی سیستم مفید است، آشنا خواهید شد. با حرکت رو به جلو، خواهید آموخت که چرا نمودارها و نمودارها نقش مهمی در فرآیند توسعه نرم افزار دارند. شما مستندسازی کارهای مرتبط با کد را با استفاده از زبان مدلسازی یکپارچه (UML) تمرین خواهید کرد و کد منبع را در هر دو سیستم میزبان و هدف تجزیه و تحلیل و آزمایش خواهید کرد تا بفهمید که چرا عملکرد یک محرک اصلی طراحی در برنامه ها است. در مرحله بعد، شما یک استراتژی طراحی برای غلبه بر سیستم های بحرانی و مقاوم در برابر خطا ایجاد خواهید کرد و اهمیت مستندسازی در طراحی سیستم را یاد خواهید گرفت. در پایان این کتاب، دانش و مهارت های مناسبی برای توسعه سیستم های جاسازی شده بلادرنگ خواهید داشت. -------------------------------- آنچه خواهید آموخت بین نرم افزار صحیح، قابل اعتماد و ایمن تفاوت قائل شوید روش های طراحی مدرن را برای طراحی یک سیستم بلادرنگ کشف کنید از وقفه ها برای پیاده سازی همزمانی در سیستم استفاده کنید کد را تست، ادغام و اشکال زدایی کنید مشکلات تست سازه های OOP را نشان دهید غلبه بر عیوب نرم افزار با تکنیک های مبتنی بر سخت افزار ----------------------------------- این کتاب برای چه کسی است اگر علاقه مند به توسعه یک سیستم جاسازی شده در زمان واقعی هستید، این کتاب ایده آل برای شماست. با درک اولیه از برنامه نویسی، سیستم های ریزپردازنده و منطق دیجیتال ابتدایی، با این کتاب به حداکثر می رسید. آشنایی با زبان اسمبلی مزیت محسوب می شود. ------------------------------ درباره نویسنده جیم کولینگ کار خود را با نیروی هوایی سلطنتی به عنوان طراح سیستم آغاز کرد. پس از 12 سال خدمت، مدرک کارشناسی خود را در رشته مهندسی برق و الکترونیک خواند، سپس با شرکت هواپیماسازی بریتانیا کار کرد و روی سیستم‌های کنترل الکترونیکی نیروی دریایی کار کرد. او 20 سال آینده خود را در تحقیقات آکادمیک در دانشگاه لافبورو گذراند و همچنین دکترای خود را دریافت کرد. در سیستم های جاسازی شده بلادرنگ در سال 1998، جیم دانشگاه را ترک کرد تا شرکت خود، Lindentree Associates را راه اندازی کند. او 12 کتاب در موضوعات مختلف از جمله نرم افزارهای Real-time Operating Systems و Modeling همراه با تصاویر منتشر کرده است.


توضیحاتی درمورد کتاب به خارجی

Key Features Explore the impact of real-time systems on software design Understand the role of diagramming in the software development process Learn why software performance is a key element in real-time systems ------------------------------------- Book Description From air traffic control systems to network multimedia systems, real-time systems are everywhere. The correctness of the real-time system depends on the physical instant and the logical results of the computations. This book provides an elaborate introduction to software engineering for real-time systems, including a range of activities and methods required to produce a great real-time system. The book kicks off by describing real-time systems, their applications, and their impact on software design. You will learn the concepts of software and program design, as well as the different types of programming, software errors, and software life cycles, and how a multitasking structure benefits a system design. Moving ahead, you will learn why diagrams and diagramming plays a critical role in the software development process. You will practice documenting code-related work using Unified Modeling Language (UML), and analyze and test source code in both host and target systems to understand why performance is a key design-driver in applications. Next, you will develop a design strategy to overcome critical and fault-tolerant systems, and learn the importance of documentation in system design. By the end of this book, you will have sound knowledge and skills for developing real-time embedded systems. --------------------------------- What you will learn Differentiate between correct, reliable, and safe software Discover modern design methodologies for designing a real-time system Use interrupts to implement concurrency in the system Test, integrate, and debug the code Demonstrate test issues for OOP constructs Overcome software faults with hardware-based techniques ----------------------------------- Who this book is for If you are interested in developing a real-time embedded system, this is the ideal book for you. With a basic understanding of programming, microprocessor systems, and elementary digital logic, you will achieve the maximum with this book. Knowledge of assembly language would be an added advantage. ------------------------------ About the Author Jim Cooling started his career with the Royal Air Force as a system designer. After 12 years of service, he studied a BSc degree in Electrical and Electronic Engineering, then went to work with the British Aircraft Corporation and worked on naval electronic control systems. He spent his next 20 years in academic research at Loughborough University and also got his Ph.D. in real-time embedded systems. In 1998, Jim left the university to start his own company, Lindentree Associates. He has published 12 books on various subjects, such as Real-time Operating Systems and Modeling software with pictures.



فهرست مطالب

Cover
FM
Copyright
Table of Contents
Preface
Chapter 1: Real-Time Systems – Setting the Scene
	1.1 Categorizing Computer Systems
	1.2 Real-Time Computer Systems
		1.2.1 Time and Criticality Issues
		1.2.2 Real-Time System Structures
		1.2.3 Characteristics of Embedded Systems
	1.3 The Computing Elements of Real-Time Systems
		1.3.1 Overview
		1.3.2 General-Purpose Microprocessors
		1.3.3 Highly Integrated Microprocessors
		1.3.4 Single-Chip Microcomputers
		1.3.5 Single-Chip Microcontrollers
		1.3.6 Digital Signal Processors
		1.3.7 Mixed-Signal Processors
		1.3.8 System-On-Chip Designs – Overview
		1.3.9 Programmable SOCs – FPGA-Embedded Processors
		1.3.10 SOC Devices – Single and Multicore
	1.4 Software for Real-Time Applications – Some General Comments
	1.5 Review
	1.6 Useful Reading Material
Chapter 2: The Search for Dependable Software
	2.1 What Do We Want in Our Software?
	2.2 Software Errors
		2.2.1 Overview
		2.2.2 System Design Errors
		2.2.3 Design and Coding Errors
		2.2.4 Environmental Factors
		2.2.5 Why Do We Get Poor Software?
		2.2.6 Testing – How Useful?
	2.3 The Basics of Good Software
		2.3.1 General
		2.3.2 Specification Correctness
		2.3.3 Feasibility and Suitability
		2.3.4 Modularization
		2.3.5 Portability and Reusability
		2.3.6 Error Avoidance and Defensive Programming – Robust Programs
		2.3.7 Design Codes of Practice – Style, Clarity, and Documentation
	2.4 A Final Comment
	2.5 Review
	2.6 References
Chapter 3: First Steps – Requirements Analysis and Specification
	3.1 The Software Life Cycle
		3.1.1 Introduction
		3.1.2 A Mythical Model of the Software Life Cycle
		3.1.3 Bringing Realism to the Life Cycle
		3.1.4 Requirements Issues – a Practical Approach
	3.2 The Importance of the Requirements Stage
	3.3 Making Mistakes – Sources and Causes
		3.3.1 A General Comment
		3.3.2 Problems in Formulating Specifications
		3.3.3 Problems in Communicating Requirements
		3.3.4 Problems in Understanding Requirements
	3.4 Practical Approaches to Analysis and Specification
		3.4.1 General Aspects
		3.4.2 Tool Support and Automation
		3.4.3 Viewpoint Analysis
		3.4.4 Viewpoints – Analysis versus Specification
		3.4.5 Use Case Analysis
		3.4.6 Functional, Non-Functional, and Development Requirements Specifications
	3.5 Communication Aspects – the Role of Prototyping
		3.5.1 Prototyping – an Introduction
		3.5.2 Software Prototyping
		3.5.3 Requirements Prototyping
		3.5.4 Practical Rapid Prototyping of System Requirements
		3.5.5 Animation Prototyping – Concepts and Application
	3.6 Review
	3.7 Exercises
	3.8 References and Further Reading
Chapter 4: Software and Program Design Concepts
	4.1 Design Fundamentals
		4.1.1 The Design and Development Process – an Introduction
		4.1.2 Fundamental Design Strategies
		4.1.3 How to Generate Abysmal Software – the Good Kludge Guide
	4.2 The Elements of Modular Design
		4.2.1 Introduction
		4.2.2 Modules and Modularization
		4.2.3 Coupling – a Measure of Module Independence
		4.2.4 Cohesion – a Measure of Module Binding
		4.2.5 Size and Complexity
		4.2.6 Some General Comments on Modules
	4.3 Program Control Structures – the Influence of Structured Programming
		4.3.1 Introductory Comments
		4.3.2 Fundamental Control Structures
		4.3.3 Uncontrolled Branching of Control – the Great GOTO Debate
	4.4 Structured Software Designs
		4.4.1 Background
		4.4.2 Problem Decomposition Using Abstract Machines
		4.4.3 Example Implementation
	4.5 Object-Oriented Design
		4.5.1 An Introduction
		4.5.2 Object-Oriented Design – the Identification Process
		4.5.3 Relationships and Communication between Objects
		4.5.4 Object Interfaces
		4.5.5 Object-Oriented Design – Implementation-Related Issues
		4.5.6 Reuse and Runtime Flexibility Issues
		4.5.7 Composite Objects – Aggregation
		4.5.8 Devising the Object Model – a Responsibility-Based Technique
	4.6 Functionally Structured Design and Functional Flow Modeling
		4.6.1 Software Design and Structured Charts – Limitations
		4.6.2 The Materials Flow Model of Software Processing
		4.6.3 Software Design Using Functionally Structured Techniques
		4.6.4. Organizing the Execution Sequence of the Software Machines
		4.6.5 Functional Flow Design Using Graphical Techniques
	4.7 Design Patterns
		4.7.1 Introduction and Basic Concepts
		4.7.2 Program-Level Patterns
		4.7.3 System-Level Patterns for Real-Time Embedded Systems
	4.8 Review
	4.9 Exercises
	4.10 Useful Reading Material
Chapter 5: Multitasking Systems – an Introduction
	5.1 The Task Model of Software
		5.1.1 Modeling – What and Why
		5.1.2 Modeling Executing Software – the Single-Task Structure
		5.1.3 Multiple Tasks – Why?
		5.1.4 Using Interrupts to Concurrent Task Operations
		5.1.5 Introduction to the Operating System
	5.2 Controlling Task Execution – Scheduling
		5.2.1 Scheduling and Time Slicing Operations
		5.2.2 Scheduling and Priority-Driven Operations
		5.2.3 System Responsiveness and Mixed Scheduling Policies
	5.3 Sharing Resources in Multitasking Systems
		5.3.1 Problems with Sharing Resources
		5.3.2 The Binary Semaphore
		5.3.3 The General or Counting Semaphore
		5.3.4 Semaphore Weaknesses
		5.3.5 The Mutex
		5.3.6 The Simple Monitor
	5.4 Contention Problems in Multitasking Systems
		5.4.1 Resource Contention and Deadlocks
		5.4.2 The Priority Inversion Problem
		5.4.3 The Priority Ceiling Protocol
	5.5 Inter-task Communication
		5.5.1 Introduction
		5.5.2 Task Coordination and Synchronization without Data Transfer – General Aspects
		5.5.3 Task Interaction without Data Transfer
		5.5.4 Data Transfer without Task Synchronization or Coordination
		5.5.5 Task Synchronization with Data Transfer
	5.6 Review
	5.7 Background Reading Material
Chapter 6: Diagramming – an Introduction
	6.1 Diagrams – Why?
		6.1.1 Introduction
		6.1.2 Diagrams as a Design Tool
		6.1.3 Diagrams for Design Documentation
		6.1.4 Diagrams for Maintenance
		6.1.5 Diagrams for Communication
	6.2 The Essentials of Software Diagrams
		6.2.1 Fundamentals
		6.2.2 Basic Qualities
		6.2.3 Real-Time Systems Diagramming – Matching Ends to Needs
		6.2.4 Practical Diagramming Techniques – a General Comment
	6.3 Review
	6.4 Exercises
	6.5 References and Further Reading
Chapter 7: Practical Diagramming Methods
	7.1 Introduction
	7.2 Diagrams for Functionally Structured Methods
		7.2.1 Context Diagrams
		7.2.2 Entity-Relationship Diagrams (ERDs)
		7.2.3 State Transition Diagrams and State Transition Tables
		7.2.4 Functional and Data Flow Diagrams
		7.2.5 Specifying Program Structures – Structure Charts, Flowcharts, and Program Description Languages
		7.2.6 Message Sequence Diagrams
		7.2.7 SDL (Specification and Description Language) Process Diagrams
		7.2.8 Event-Response Lists
	7.3 UML Diagrams for Object-Oriented Designs
		7.3.1 Use Case Diagrams
		7.3.2 Deployment Diagrams
		7.3.3 Packages and Package Diagrams
		7.3.4 Class Diagrams
		7.3.5 Object and Object Communication Diagrams
		7.3.6 Wiring Objects Together – Ports and Interfaces
		7.3.7 Statecharts
		7.3.8 Sequence Diagrams
		7.3.9 Activity Diagrams
		7.3.10 Components and Component Diagrams
		7.3.11 Artifacts
	7.4 Extensions, Variations, and Project-Specific Diagrams
	7.5 Diagrams and the Design Process
	7.6 Review
	7.7 Exercises
	7.8 References and Further Reading
Chapter 8: Designing and Constructing Software – Code-Related Issues
	8.1 Fundamental Design and Construction Methods
		8.1.1 Introduction
		8.1.2 An Evaluation of Design and Construction Methods
	8.2 Code Development and Packaging
		8.2.1 Code Development and the Physical Software Model
		8.2.2 Software Construction Methods – General
		8.2.3 Introduction to Component Technology
		8.2.4 Code Packaging and Components
		8.2.5 Classes, Packages, and Artifacts
	8.3 Important Features of Programming Languages
		8.3.1 Introduction
		8.3.2 Choosing a Programming Language – the Real Questions
		8.3.3 High-Level Languages – General Requirements
		8.3.4 Modularity, Encapsulation, and Information Hiding
		8.3.5 Program Syntax and Layout Rules – the Readability Factor
		8.3.6 Variable Usage – Scope, Visibility, Lifetime, and Declaration.
		8.3.7 Data Types – Concepts and Uses
		8.3.8 Program Flow Control
		8.3.9 Interfacing to Other Languages
		8.3.10 Exception Handling
		8.3.11 Accessing Processor Hardware – Low-Level Facilities
		8.3.12 Assembly Language Programming
		8.3.13 Miscellaneous Items
	8.4 Choosing a High-Level Language for Embedded Systems
		8.4.1 Basic Requirements
		8.4.2 Assessed Languages – Background
		8.4.3 Assessed Languages – Comparison and Comment
		8.4.4 Python and MicroPython
	8.5 Review
	8.6 Important and Useful Reading
Chapter 9: Software Analysis and Design – Methods and Methodologies
	9.1 The Development Process
		9.1.1 General Description
		9.1.2 Methods, Methodologies, and Tools
	9.2 Viewpoint Analysis for Deriving Requirements
		9.2.1 Viewpoint Analysis and CORE
		9.2.2 CORE Fundamentals
		9.2.3 Detailed Aspects and Notation
		9.2.4 Design Example – Steam Propulsion System
		9.2.5 A Comment on Analysis Tools
	9.3. Design Implementation Using Functionally Structured Techniques
		9.3.1 Overview of the Design Process
		9.3.2 Developing the Ideal Model
		9.3.3 Developing the Practical Model
	9.4 Object-Oriented Analysis and Design
		9.4.1 Design Example – Dipmeter Wireline Logging Tool
		9.4.2 A Practical OOAD Development Process
		9.4.3 Defining System Usage
		9.4.4 Developing the Subsystem Structures
		9.4.5 Developing the Ideal Model Object Structures
		9.4.6 Developing the Specification Model Object Structures
		9.4.7 Developing the Individual Processor Object Models
		9.4.8 Developing the Multitasking Model
		9.4.9 Developing Individual Tasks
		9.4.10 Packaging the Software
	9.5 Model-Driven Architecture
		9.5.1 Fundamental Concepts
		9.5.2 The PIM in Detail
		9.5.3 Example Structural Model – from PIM to PSM to Code
		9.5.4 Closing Comments
	9.6 Model-Based Design (MBD)
		9.6.1 MBD versus MDA
		9.6.2 MBD – an Overview
		9.6.3 Applying the MBD Process – a Brief Outline
	9.7 Agile Software Development
		9.7.1 Introduction and Basic Concepts
		9.7.2 Agile Methods for Embedded Applications – the Interface Issue
		9.7.3 The Issue of Project Development Methods – Agile versus Embedded
		9.7.4 Practical Incremental Development Methods for Embedded Systems
	9.8 Review
	9.9 Further Useful Reading
Chapter 10: Analyzing and Testing Source Code
	10.1 Introduction
		10.1.1 General Concepts
		10.1.2 Software Evaluation Issues
		10.1.3 Software Testing – the Broader Issues
	10.2 Static Analysis
		10.2.1 Introduction
		10.2.2 Manual Static Analysis Methods
		10.2.3 Automated Static Analysis Methods
	10.3 Source Code Metrics – Code Size, Content, and Complexity
		10.3.1 General
		10.3.2 Halstead Software Metrics
		10.3.3 The McCabe Cyclomatic Complexity Metric
	10.4 Dynamic Analysis – Testing and Coverage Analysis
		10.4.1 Overview of Dynamic Testing
		10.4.2 Dynamic Testing in a Manual Environment
		10.4.3 Dynamic Testing in an Automated Environment
		10.4.4. Coverage Analysis
		10.4.5. Practical Automated Dynamic Analysis
	10.5 Integration Testing
		10.5.1 Fundamentals
		10.5.2 Integration and Test Strategies (1) – Combined Module and Integration Testing
		10.5.3 Integration and Test Strategies (2) – Integration Testing Based on Unit Calls
		10.5.4 Integration Complexity
	10.6 Metrics for OO Designs
		10.6.1 General Aspects
		10.6.2 Inheritance, Polymorphism, and Testing Issues
	10.7 Review
	10.8 Further Reading
Chapter 11: Development Tools
	11.1 An Outline of the Modern Development Process for Embedded Systems
	11.2 The Software Development Process for Embedded Systems
		11.2.1 The Software Production Cycle
		11.2.2 Programming the Target Microcontroller
		11.2.3 Simplifying the Process – Processor Configuration Tools
		11.2.4 Finding and Fixing Software Problems
		11.2.5 The Basics of Efficient Development Processes
	11.3 Software Debugging – What and Why?
		11.3.1 Debugging – Fundamental Concepts
		11.3.2 Debugger – Basic Requirements and Operation
		11.3.3 Development and Debugging Environments
	11.4 Software Debugging on the Host
		11.4.1 Host System Debugging – a Broad Overview
		11.4.2 The Pros and Cons of Host System Debugging
	11.5 Software Debugging on the Target – Software-Based Techniques
		11.5.1 General
		11.5.2 A Simple Monitor Program
		11.5.3 In-Target Source-Level Debugging
		11.5.4 The Last Comment
	11.6 Software Debugging in the Target – Hardware-Based Methods
		11.6.1 Introduction
		11.6.2 A Basic Test Tool – the Bus Monitor
		11.6.3 The Logic Analyzer
		11.6.4 The In-Circuit Emulator
	11.7 Software Debugging in The Target – Combined Hardware/Software Techniques
		11.7.1 Host/Target Interactive Debugging – Software Tracing
		11.7.2 On-Chip Debugging Methods – Overview
		11.7.3 Simple Static On-Chip Debugging Methods
		11.7.4 Dynamic OCD Schemes
	11.8 Debugging in Host-As-Target Combinations
		11.8.1 Background
		11.8.2 PC-Based Targets – The Embedded PC
		11.8.3 A PC as a Target
	11.9 Testing Multitasking Software
		11.9.1 Basic Issues
		11.9.2 Practical Tool Aspects
	11.10 Installing Code on the Target – Non-Volatile Software (Firmware)
		11.10.1 Overview
		11.10.2 The PROM Programmer
		11.10.3 EPROM Emulators
		11.10.4 In-Circuit Programming
	11.11 Integrated Development Toolsets
		11.11.1 Backend Toolsets
		11.11.2 Fully Integrated Real-Time Development Environments
	11.12 Review
Chapter 12: Mission-Critical and Safety-Critical Systems
	12.1 Introduction
		12.1.1 Overview of Critical Systems
		12.1.2 How Critical is Critical?
		12.1.3 Improving System Reliability and Availability – General Strategies
	12.2 System Specification Aspects
		12.2.1 The Specification Problem – Again
		12.2.2 Why Mathematics?
		12.2.3 Formal Methods – General Concepts
		12.2.4 Formal Specification Languages
		12.2.5 An Example Formal Specification Using VDM
	12.3 Numerical Issues
		12.3.1 Problems in Disguise
		12.3.2 Making Measurements
		12.3.3 Basic Number Representation and Arithmetic
		12.3.4 The Limitations of Finite Number Systems – General Points
		12.3.5 Infinite Numbers, Model Numbers, and Error Bounds
		12.3.6 Problems in Floating-Point Working
		12.3.7 Problems in Fixed-Point Working
		12.3.8 Internal Representation and Binary Notation
	12.4 Application Software Aspects
		12.4.1 Basic Design and Programming Issues (or Doing It Right in the First Place)
		12.4.2 Dealing with Runtime Problems
	12.5 Real-World Interfacing
		12.5.1 Background
		12.5.2 Fault Types and Identification – Inputs
		12.5.3 Fault Detection Methods – Inputs
		12.5.4 Fault Handling – Outputs
	12.6 Operating Systems Aspects
		12.6.1 General
		12.6.2 Protection Techniques
		12.6.3 Tasking Models and Scheduling
		12.6.4 Operating Systems and Critical Distributed Applications
	12.7 Processor Problems
		12.7.1 Overview
		12.7.2 Power-On Aspects
		12.7.3 Runtime Issues
	12.8 Hardware-Based Fault Tolerance
		12.8.1 General Aspects
		12.8.2 Fault-Tolerant Structures
		12.8.3 Matching Structures to Requirements
	12.9 Review
	12.10 References and Further Reading
	12.11 Some Important Standards
Chapter 13: Performance Engineering
	13.1 Why Performance Engineering Is Important
		13.1.1 Time as a Design Driver
		13.1.2 Ignore Performance at Your Peril – Reactive versus Proactive Techniques
	13.2 Performance Engineering – Requirements, Targets, and Achievables
	13.3 Top-Down (Requirements-Driven) Performance Modeling
		13.3.1 Specifying Targets – the Project-Management Analogy
		13.3.2 Performance Targets and Time Budgeting in Real-Time Systems
	13.4 Bottom-Up (Results-Driven) Performance Modeling
	13.5 Middle-Out (Risk-Driven) Performance Modeling
	13.6 Some Practical Issues in Performance Engineering
		13.6.1 A General Comment
		13.6.2 Modeling and Simulation Options
	13.7 Review
	13.8 References and Further Reading
Chapter 14: Documentation
	14.1 Documentation – What and Why?
		14.1.1 The Role of Documentation
		14.1.2 Documentation – Its Structure
		14.1.3 A Model for System Documentation
	14.2 Software Life Cycle Documentation – Overview
	14.3 System Functional Specifications
		14.3.1 Overview
		14.3.2 Block Diagram Description
		14.3.3 Functional Diagram Description
		14.3.4 Requirements Specification
	14.4 Software System Specifications
	14.5 Source Code Aspects
		14.5.1 Source Code Documentation – a Philosophy
		14.5.2 Source Code Documentation – Practice
		14.5.3 Source Code Review Documentation
	14.6 Configuration Management and Version Control
		14.6.1 General Aspects
		14.6.2 More on Source Code Version Control
	14.7 Review
	14.8 Further Information
Glossary of terms
Index




نظرات کاربران