Basic Computer System Design Overview
Basic Computer System Design Overview
tariq@[Link]
School of Computer Science and Engineering
1 / 40
Contents
Learning Objectives
I Understand what is meant by engineering design.
I Understand the phases of the engineering design process.
I Be familiar with the attributes of successful engineers.
2 / 40
The Engineering Design Process
The Engineering Design Process
I ABET (formerly known as Accreditation Board of Engineering and Technology) provides the following
definition of engineering design
Definition Engineering design is the process of devising a system, component, or process to meet desired
needs. It is a decision-making process (often iterative), in which the basic sciences, mathematics, and
engineering sciences are applied to convert resources optimally to meet a stated objective. Among the
fundamental elements of the design process are the establishment of objectives and criteria, synthesis,
analysis, construction, testing, and evaluation. [ABET]
I Design processes embody the steps required to take an idea from concept to realization of the final system,
and are problem-solving methodologies that aim to develop a system that best meets the customer’s need
within given constraints. product realization process
3 / 40
The Engineering Design Process (cont...)
Elements of Engineering Design Process
I These three elements (methodologies, techniques, and tools) work together to form an organizational
approach to systems analysis and design
4 / 40
General types of design processes
Figure 2: A prescriptive design process for problem identification and requirements selection.
5 / 40
General types of design processes (cont...)
I Descriptive processes are less formal, describing
typical activities involved in realizing designs with
less emphasis on exact sequencing.
I The process starts with the identification of the
problem, proceeds clockwise to research, followed
the requirements phase, and so on until the system
or device is delivered and goes into service
(maintenance phase).
I links are inserted that allow transitions between all
the different phases of the design process.
I The distinction between descriptive and prescriptive
processes is not always clear, however, and some
processes may be considered more strongly
associated with one property than the other. Figure 3: A descriptive overview of the design process.
I Two good reasons to adhere to design processes: (1) they formalize thought processes to ensure good
practices are followed, leading to better and more innovative solutions, and (2) they keep all members of the
team synchronized in terms of understanding where they are in the design process.
6 / 40
Phases of the Design Process
I Following and understanding the design process improves the probability of successful system development.
I The process is flexible, and the designer needs to transition between different phases in order to bring the
system to realization.
Phases/Steps of the Design Process
1. problem identification:The objective of the first phase is to identify the problem and customer needs. It is
important to determine the true needs for the product, device, or system.
2. research phase In this phase the design team conducts research on the basic engineering and scientific
principles, related technologies, and existing solutions. The objective is to become experts on the problem,
save time and money by not reinventing the wheel, and be positioned to develop new and innovative
solutions.
3. requirements specificationThe articulates what the system must do for it to be successful and to be
accepted by the customer. It is important to focus on what the system must do, as opposed to how the
solution will be implemented.
4. concept generation The hallmark of design is that it is open-ended, meaning that there are multiple
solutions to the problem and the objective is to develop the one that best meets the requirements and
satisfies the constraints.
7 / 40
Phases of the Design Process (cont...)
5. Design: In the design phase, the team iteratively develops a technical solution, ultimately producing a
detailed system design. Upon its completion, all major systems and subsystems are identified and described
using an appropriate model that depends upon the particular technology being employed.
6. prototyping and construction: In the prototyping and construction phase, different elements of the system
are constructed and tested.
7. system integration: During system integration, all of the subsystems are brought together to produce a
complete working system. This phase is challenging and time-consuming since many different pieces of the
design must be interfaced, and the team must work closely to make it all work.
8. System Test: System integration is closely tied to the test phase, where the overall system is tested to
demonstrate that it meets the requirements.
9. delivery and Acceptance : Ultimately the system is delivered to the customer where it is likely that it will be
tested by a mutually agreed upon process.
10. Maintenance and Update : System is maintained, upgraded to add new functionality, or design problems are
corrected.
8 / 40
Technology-Specific Design Processes
I Different application domains have developed specialized processes for technology-specific design.
2. embedded systems
3. software systems,
I They all have some degree of commonality, such as requirements analysis, technical design, and system test.
9 / 40
Technology-Specific Design Processes (cont...)
I VLSI refers to an integrated circuit technology with numerous devices on a single chip.
I VLSI began in the 1970s when complex semiconductor and communication technologies were being
developed.
I Two of the most common VLSI devices are the microprocessor and the microcontroller.
I over the last few years, Silicon CMOS(Complementary metal–oxide–semiconductor) technology is now the
leading fabrication process for cost-effective and relatively high-performance VLSI circuits.
I Presently, technologies like smartphones and cellular communications afford unprecedented portability,
processing capabilities, and application access due to VLSI technology.
10 / 40
Technology-Specific Design Processes (cont...)
11 / 40
Technology-Specific Design Processes (cont...)
Design process for VLSI (very large scale integration) Systems
I The entire design process follows a step-by-step approach, and the following are the steps:
1. Problem Specification: This is a high-level interpretation of a system. We address the key parameters, such as
design techniques, functionality, performance, fabrication technology, and physical dimensions. The final
specifications include the power, functionality, speed, and size of the VLSI system.
2. Architecture Definition: This includes fundamental specifications such as floating-point units and which system
to use, such as RISC(Reduced Instruction Set Computer) or CISC (Complex Instruction Set Computers) and
ALU’s(arithmetic logic unit) cache size.
12 / 40
Technology-Specific Design Processes (cont...)
3. Functional Design: This recognizes the vital functional units of a system and, thus, enables identification of each
unit’s physical and electrical specifications and interconnect requirements.
4. Logic Design: This step involves control flow, Boolean expressions, word width, and register allocation.
5. Circuit Design: This step performs the realization of the circuit in the form of a netlist. Since this is a software
step, it utilizes simulation to check the outcome.
6. Physical Design: In this step, we create the layout by converting the netlist into a geometrical depiction. This
step also follows some preconceived static rules, such as the lambda rules, which afford precise details of the
ratio, spacing between components, and size.
13 / 40
Technology-Specific Design Processes (cont...)
I The steps of the VLSI design flow
1. System specification
2. Architectural design.
3. Circuit design
4. Physical design
5. Physical verification
6. Fabrication
I This model is an excellent demonstration of the divide-and-conquer or Top-down approach to design, where
a complex system is broken down into lower levels of abstraction and each of these is further broken down
until the design objectives are met
14 / 40
Technology-Specific Design Processes (cont...)
Embedded systems
15 / 40
Technology-Specific Design Processes (cont...)
I Some of them don’t have any external interface at all, some may contain complex interfaces. It’s based on
the requirements of the system
I Some systems may provide user interfaces directly or through serial or network connection which reduces the
overall cost of the system by avoiding displays and input interfaces
I They are designed with high optimization for memory, power usage, execution time, dimensions, weight, and
cost
I Embedded system use a few resources, so developing a system will be a challenging task
I The system should be highly reliable; it is not designed for repairs and cannot be shut down for safety
reasons.
16 / 40
Technology-Specific Design Processes (cont...)
Embedded system architecture
I Processor : There are many options while choosing a devices, E.g: LED
processor. These include 1)General purpose
microprocessor 2)Microcontroller, 3)Digital signal
processors, 4) Field programmable gate array
(FPGA), 5)Complex programmable logic devices
(CPLD), 6) System on chip (SoC)
17 / 40
Technology-Specific Design Processes (cont...)
Design process for embedded computer systems
I This design process is somewhat prescriptive, with phases for requirements gathering, specifications, and
architectural design.
18 / 40
Technology-Specific Design Processes (cont...)
Design Process for software systems
I The field of software engineering is one in which the development of different design process models is still
under considerable flux today.
I This is due to the complex nature of software and the failure of computer scientists and engineers to
effectively develop high-quality software systems.
I The size of software programs may easily exceed one million lines of code written by many different software
developers. One small mistake in those millions of lines of code can cause the system to fail.
I The systems development life cycle (SDLC) is a common methodology for systems development in many
organizations.
2. Networking and Web Applications Software : Networking Software provides the required support necessary for
computers to interact with each other and with data storage facilities.
19 / 40
Technology-Specific Design Processes (cont...)
3. Embedded Software : This type of software is embedded into the hardware normally in the Read-Only Memory
(ROM) as a part of a large system and is used to support certain functionality under the control conditions.
4. Reservation Software : A Reservation system is primarily used to store and retrieve information and perform
transactions related to air travel, car rental, hotels, or other activities.
5. Business Software : This category of software is used to support business applications and is the most widely
used category of software.
6. Entertainment Software : Education and entertainment software provides a powerful tool for educational
agencies, especially those that deal with educating young children.
7. Artificial Intelligence Software : Software like expert systems, decision support systems, pattern recognition
software, artificial neural networks, etc. come under this category.
8. Scientific Software : Scientific and engineering software satisfies the needs of a scientific or engineering user to
perform enterprise-specific tasks.
9. Utilities Software : The programs coming under this category perform specific tasks and are different from other
software in terms of size, cost, and complexity.
20 / 40
Technology-Specific Design Processes (cont...)
waterfall model
21 / 40
Technology-Specific Design Processes (cont...)
22 / 40
Technology-Specific Design Processes (cont...)
23 / 40
Technology-Specific Design Processes (cont...)
I Advantages of Iterative Waterfall Model the requirements must be clearly stated before
starting the development phase.
• Feedback Path : In the iterative waterfall model
• Incremental delivery not supported: In the iterative
feedback path from one phase to its preceding phase
allows correcting the errors that are committed and waterfall model, the full software is completely
these changes are reflected in the later phases. developed and tested before delivery to the
customer.
• Simple :Iterative waterfall model is very simple to
understand and use. That’s why it is one of the • Overlapping of phases not supported : Iterative
most widely used software development models. waterfall model assumes that one phase can start
• Cost-Effective : It is highly cost-effective to change after completion of the previous phase, But in real
the plan or requirements in the model. Moreover, it projects, phases may overlap to reduce the effort
is best suited for agile organizations. and time needed to complete the project.
• Well-organized : In this model, less time is • Risk handling not supported : Projects may suffer
consumed on documenting and the team can spend from various types of risks. But, the Iterative
more time on development and designing. waterfall model has no mechanism for risk handling.
24 / 40
Technology-Specific Design Processes (cont...)
spiral model
25 / 40
Technology-Specific Design Processes (cont...)
26 / 40
Technology-Specific Design Processes (cont...)
Rapid application development (RAD) model
27 / 40
Technology-Specific Design Processes (cont...)
I Advantages I Disadvantages
• The use of powerful and efficient tools requires
• Use of reusable components helps to reduce the highly skilled professionals.
cycle time of the project. • The absence of reusable components can lead to
• Feedback from the customer is available at initial failure of the project.
stages.
• The team leader must work closely with the
• Reduced costs as fewer developers are required. developers and customers to close the project in
• Use of powerful development tools results in better time.
quality products in comparatively shorter time • The systems which cannot be modularized suitably
spans.
cannot use this model.
• The progress and development of the project can be
measured through the various stages. • Customer involvement is required throughout the
life cycle.
• It is easier to accommodate changing requirements
due to the short iteration time spans. • It is not meant for small scale projects as for such
cases, the cost of using automated tools and
techniques may exceed the entire budget of the
project.
28 / 40
Technology-Specific Design Processes (cont...)
Applications
I This model should be used for a system with known requirements and requiring short development time.
I It is also suitable for projects where requirements can be modularized and reusable components are also
available for development.
I The model can also be used when already existing system components can be used in developing a new
system with minimum changes.
I This model can only be used if the teams consist of domain experts. This is because relevant knowledge and
ability to use powerful techniques is a necessity.
I The model should be chosen when the budget permits the use of automated tools and techniques required.
29 / 40
Technology-Specific Design Processes (cont...)
30 / 40
Technology-Specific Design Processes (cont...)
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the
shortest timescale.
4. Build projects around motivated individuals. Give them the environment and the support they need, and
trust them to get the job done.
6. Simplicity the art of maximizing the amount of work not done is essential.
7. The most efficient and effective method of conveying information to and within a development team is
face-to-face conversation.
31 / 40
Technology-Specific Design Processes (cont...)
Development in Agile:
I In Agile development, Design and Implementation are considered to be the central activities in the software
process.
I Design and Implementation phase also incorporate other activities such as requirements elicitation and
testing into it.
I In an agile approach, iteration occurs across activities. Therefore, the requirements and the design are
developed together, rather than separately.
I The allocation of requirements and the design planning and development as executed in a series of
increments. In contrast with the conventional model, where requirements gathering needs to be completed in
order to proceed to the design and development phase, it gives Agile development an extra level of flexibility.
32 / 40
Technology-Specific Design Processes (cont...)
33 / 40
Technology-Specific Design Processes (cont...)
RAD Model vs Traditional SDLC
35 / 40
Technology-Specific Design Processes (cont...)
V-Model
Figure 9: V-model
36 / 40
Technology-Specific Design Processes (cont...)
37 / 40
The World-Class Engineers
I The Pennsylvania State University Leonhard Center for the Advancement of Engineering Education, in
consultation with a number of industries, developed a description of what is referred to as a "World-Class
Engineer" [Leo95].
I They identified the characteristics of successful engineers, and contains following major elements: (1) Aware
of the World, (2) Solidly Grounded, (3) Technically Broad, (4) Effective in Group Operations, (5) Versatile,
and (6) Customer Oriented.
38 / 40
The World-Class Engineers (cont...)
2. Solidly Grounded
• Thoroughly trained in the fundamentals of a selected engineering discipline.
• Has a historical perspective and remains aware of advances in science that can impact engineering.
• Realizes that knowledge doubles at breakneck speed and is prepared to continue learning throughout a career.
3. Technically Broad
• Understands that real-life problems are multidisciplinary.
• Thinks broadly, seeing an issue in a rich context of various alternatives, probabilities, etc., rather than as a
narrow quest to find a single answer.
• Is trained in systems modeling and the identification of critical elements. Understands the need to design
experiments to verify or extend analysis, as well as meet specification requirements.
• Is psychologically prepared to embrace any field necessary to solve the problem at hand.
• Cognizant of the value of time and the need to make efficient use of the time in all phases of an endeavor.
• Understanding and respectful of the many facets of business operation—general management, marketing,
finance, law, human resources, manufacturing, service, and especially quality.
5. Versatile
• Innovative in the development of products and services.
• Considers applying engineering beyond the typical employment focus of engineering graduates in the
manufacturing industries, to the much broader economy (financial services, health care, transportation, etc.)
where engineering skills could make a dramatic improvement in the productivity of those segments of the
economy, which employ 80 percent of the U.S. population.
6. Customer Oriented
• Realizes that finding and satisfying customers is the only guarantee of business success.
• Understands that products and services must excel in the test of cost-effectiveness in the global marketplace.
40 / 40