Computer Systems Engineering

This is a book about Computer Systems Engineering. A frequent occurrence in the design of computer systems is the challenge of building a system containing hardware and software components, possibly as part of a larger system. The development of computer systems themselves falls within this scope as does the development of a vast array of devices such as digital cameras, hand-held computers, location aware systems, robots and other types of embedded systems, and even such applications as web sites on spacecraft.

In all of these cases decisions have to be made about how to design the system to have the maximum impact and effect. Decisions have to be made about alternative approaches, trade-offs need to be addressed, and decisions on all the many facets of design must be justified through technical and economic insight and judgment. Systems engineering is the discipline within which these matters are addressed in a carefully considered fashion.

The IEEE Computer Society (IEEE-CS) and the Association for Computing Machinery (ACM), the two principle computer related professional associations, include a computer systems engineering requirement in their model computer engineering body of knowledge described in Computer Curriculum 2001. This book addresses that requirement; the Table of Contents closely follows the coverage of material in the computer systems engineering body of knowledge. It is intended primarily as a textbook for students in computer science and computer engineering, but it may also serve as a useful reference for professionals as they design and build computer based systems.

The text assumes that students have a background including integral and differential calculus, basic probability, and are familiar with basic computer architecture. A third-year student in computer science or computer engineering would typically have this background and this book would be appropriate for a computer systems engineering course at that level.

System Models and Analysis

Requirements Analysis and Elicitation

  • Identification of need, feasibility and economic considerations 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Determining requirements 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Human factors, issues, standards 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Non-functional requirements 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

Specification

  • Functional and non-functional specifications 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Quality, completeness, consistency, simplicity, verifiability, basis for design 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Specification in the event of failure 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Degraded modes of operation 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Safety 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

System Architectural Design

  • Subdivision into subsystems 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Elements of a high quality design 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • System-level design strategies 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Approaches to architectural design 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Design for performance, reliability, manufacturability, maintainability, etc. 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Failure modes 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Common cause failures 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

Implementation

  • Choosing technologies 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Rapid application development 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Role of standards 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

Testing

  • Types of testing 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Test plans 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Regression testing 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

Maintenance

  • Types of maintenance 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Maintenance measurement 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Configuration management 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

Project Management

  • Resource allocation 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Allocation of decision making responsibility 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Project planning, Gantt charts 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Management metrics 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

Hardware and Software Co-design

  • Application areas where coordinated development is important 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Demands of hard real-time features 0% developed  as of Aug 23, 2007 (Aug 23, 2007)
  • Hardware and software co-design and trade-offs 0% developed  as of Aug 23, 2007 (Aug 23, 2007)

Appendices

Resources and Further Reading

Last modified on 18 August 2010, at 18:59