<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5347461197397521041</id><updated>2024-08-31T00:53:17.616-07:00</updated><title type='text'>Stuff&#39;s</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://stuffs48.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5347461197397521041/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://stuffs48.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Evil</name><uri>http://www.blogger.com/profile/07768245593163991505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5347461197397521041.post-2379009406119807251</id><published>2011-09-23T00:19:00.000-07:00</published><updated>2011-09-23T00:19:45.146-07:00</updated><title type='text'>Differences between HLD and LLD</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;


&lt;br /&gt;
&lt;div style=&quot;direction: ltr; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;Differences betweem High level design and low level design : &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;direction: ltr; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span&gt;&lt;span style=&quot;font-family: Arial;&quot;&gt;•&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif; font-size: small;&quot;&gt;&lt;span style=&quot;color: black;&quot;&gt;HLD is a overall system design where as
LLD defines the actual logic for each and every component in the system&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial,Helvetica,sans-serif; font-size: small;&quot;&gt;

&lt;/span&gt;&lt;div style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;•&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Data flow, flow charts and data
structures are covered under HLD&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;•&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Class diagrams with all the methods and
relation between classes comes under LLD. Programs specs are covered under LLD&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;•&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;For HLD &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;O1&quot; style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.81in; margin-top: 4.8pt; text-align: left; text-indent: -0.31in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;–&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Entry Criteria : SRS&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;O1&quot; style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.81in; margin-top: 4.8pt; text-align: left; text-indent: -0.31in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;–&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Exit Criteria&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: HLD, projects standards, the functional
design documents, and the database design document&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.38in; margin-top: 4.8pt; text-align: left; text-indent: -0.38in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;•&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;For LLD&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;O1&quot; style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.81in; margin-top: 4.8pt; text-align: left; text-indent: -0.31in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;–&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Entry Criteria : HLD&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;O1&quot; style=&quot;direction: ltr; font-family: Arial,Helvetica,sans-serif; margin-bottom: 0pt; margin-left: 0.81in; margin-top: 4.8pt; text-align: left; text-indent: -0.31in; unicode-bidi: embed; vertical-align: baseline;&quot;&gt;
&lt;span style=&quot;font-size: small;&quot;&gt;&lt;span&gt;–&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;Exit Criteria&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;: program specification and unit test plan
(LLD)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://stuffs48.blogspot.com/feeds/2379009406119807251/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://stuffs48.blogspot.com/2011/09/differences-between-hld-and-lld.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5347461197397521041/posts/default/2379009406119807251'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5347461197397521041/posts/default/2379009406119807251'/><link rel='alternate' type='text/html' href='http://stuffs48.blogspot.com/2011/09/differences-between-hld-and-lld.html' title='Differences between HLD and LLD'/><author><name>Evil</name><uri>http://www.blogger.com/profile/07768245593163991505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5347461197397521041.post-4659645252359657361</id><published>2011-09-23T00:11:00.000-07:00</published><updated>2011-09-23T00:11:19.858-07:00</updated><title type='text'>HLD – High Level Design</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 18pt; line-height: 115%;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: .5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;A
&lt;b&gt;high-level design&lt;/b&gt; provides an overview of a solution, platform, system,
product, service, or process. Such an overview is important in a multi-project
development to make sure that each supporting component design will be compatible
with its neighboring designs and with the big picture.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;The
highest level solution design should briefly describe all platforms, systems,
products, services and processes that it depends upon and include any important
changes that need to be made to them.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;A
high-level design document will usually include a high-level architecture
diagram depicting the components, interfaces and networks that need to be
further specified or developed. The document may also depict or otherwise refer
to work flows and/or data flows between component systems.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;In
addition, there should be brief consideration of all significant commercial,
legal, environmental, security, safety and technical risks, issues and
assumptions.&lt;a href=&quot;http://www.blogger.com/blogger.g?blogID=5347461197397521041&quot; name=&quot;OLE_LINK2&quot;&gt;&lt;/a&gt; The idea is to mention every work area briefly, clearly
delegating the ownership of more detailed design activity whilst also
encouraging effective collaboration between the various project teams.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Today,
most high-level designs require contributions from a number of experts, representing
many distinct professional disciplines. Finally, every type of end-user should
be identified in the high-level design and each contributing design should give
due consideration to customer experience&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; text-indent: 0.5in;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;High Level Design (HLD)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt; is the overall system design - covering the
system architecture and database design. It describes the relation between
various modules and functions of the system. Data flow, flow charts and data
structures are covered under HLD. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; text-indent: 0.5in;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Low Level Design (LLD)&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt; is like detailing the HLD. It defines the
actual logic for each and every component of the system. Class diagrams with
all the methods and relation between classes comes under LLD. Programs specs
are covered under LLD. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;&lt;br /&gt;

Read more: &lt;/span&gt;&lt;a href=&quot;http://wiki.answers.com/Q/Difference_between_high_level_design_and_low_level_design#ixzz1KpWSiYNq&quot;&gt;&lt;span style=&quot;color: #003399; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;http://wiki.answers.com/Q/Difference_between_high_level_design_and_low_level_design#ixzz1KpWSiYNq&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNo9DQdj5wIQfRs_-4jE-G-GfXWeEarGOe5gWIwMPHjriHxLKT_asPXjRz9ZiPF8m5k1xCYW-WBmed4sGc7BFMi97HRtpQuADhHpLKhcH_V_18lPXBwyuQsM6hlrgi7AwXWVlvSCcoALk/s1600/clip_image002.jpg&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;297&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNo9DQdj5wIQfRs_-4jE-G-GfXWeEarGOe5gWIwMPHjriHxLKT_asPXjRz9ZiPF8m5k1xCYW-WBmed4sGc7BFMi97HRtpQuADhHpLKhcH_V_18lPXBwyuQsM6hlrgi7AwXWVlvSCcoALk/s320/clip_image002.jpg&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&amp;nbsp;

&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 24.0pt; margin-top: 17.0pt; mso-margin-bottom-alt: auto; mso-outline-level: 1; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 22pt;&quot;&gt;High Level Software
Design&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;High
level software design, also called software architecture is the first step to
analyze and consider all requirements for a software and attempt to define a
structure which is able to fulfill them. For this also the non-functional
requirements have to be considered, such as scalability, portability and
maintainability. This first design step has to be more or less independent of a
programming language. This is not always 100% possible, but a good high level
design can be further refined into a low level design, which then describes the
implementation in any desired programming language. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;The Architecture&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 12.0pt; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 12pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;The
first step in designing software is to define the architecture. Simply speaking
this is a very high level outline of the components and layers of software.
There may be some requirements which explicitly ask for some of the below named
features, but even if there are no explicit requirements it is a good design
style to adhere to these principles:&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 94.0%;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt;&quot; valign=&quot;top&quot;&gt;&lt;ul&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/td&gt;
  &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt; width: 517.5pt;&quot; width=&quot;690&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt; text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Design layers which at least make
  the functional part of the software independent of a hardware platform. Any specialties
  which have to be covered when running on a certain platform have to be in a
  special hardware abstraction layer. &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;

&amp;nbsp;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Design
an adaptation layer to adapt to a special operating system (if necessary).
Operating systems may offer services and semaphores, but never use them
directly in your functional software. Define your own services and semaphores
and go through an adaptation layer to adapt them to the operating system&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Design
any additional layers inside your functional software as appropriate.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Design
components inside your functional software. Depending on your requirements and
future strategies it may be wise to e.g. design communication protocol
components in a way that they can be easily removed and replaced by another
protocol, to adapt to different platforms and systems. E.g. in the automotive
industry the CAN bus is widely used for communication between the various
electronic systems in a vehicle. However some customers require different
proprietary protocols. Your software can be designed in a way to modify the
protocols easily. Almost as easy as &quot;plug and play&quot;, if the design is
done properly.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Design
an own framework which controls the calls and interactions of your functional
software.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Design an own framework which controls the calls and interactions of your functional software. &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 94.0%;&quot;&gt;&lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;&lt;td style=&quot;padding: .75pt .75pt .75pt .75pt;&quot; valign=&quot;top&quot;&gt;&lt;/td&gt;&lt;td style=&quot;padding: .75pt .75pt .75pt .75pt; width: 517.5pt;&quot; width=&quot;690&quot;&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Of
course this was only a very rough outline of how architecture may look like and
what we found to be the best way for many applications. However, your own
system may require some additional features of the architecture.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;Object Orientation&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 12.0pt; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 12pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Object
orientation is nowadays usually associated with certain design methods like UML
and programming languages like C++ or Java. However the principles of object
orientation were developed long before these methods and programming languages
were invented. The first steps of object oriented design were done by using C.
And indeed object orientation is a principle of design rather than a tool or
method based feature. Some of these principles are:&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Orientation
of program components at the real physical world. This means that the division
of a software package is done according to the real outside world of a system
and according to main internal tasks of such a system.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Combining
of all elements of software (i.e. data, definitions and procedures) into an
object. This means that everything that is needed to handle an element of the
system is grouped and contained in one object&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;Access
to the object&#39;s data and functions via a clearly defined narrow interface and
encapsulation of elements which are not required for the outside world to be
hidden in the object.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;
&lt;b style=&quot;mso-bidi-font-weight: normal;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;Interfaces&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 12.0pt; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 12pt; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;The
design of your interfaces is another element which adds to the stability,
portability and maintainability of your software. The following things have to
be observed:&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 94.0%;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt; width: 525.0pt;&quot; width=&quot;700&quot;&gt;&lt;ol start=&quot;1&quot; type=&quot;1&quot;&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Only use function calls as interfaces
       and refrain from using memory pools or any other globally shared
       elements as interface. &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Make your interfaces as
       narrow as possible. I.e. use simple basic data types rather than
       complicated proprietary structures at the interfaces. It is sometimes
       amazing how simple interfaces can be if the functionality is distributed
       in a sensible way in appropriate components. &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Preferably make your
       interfaces uni-directional. This means that higher level components acquire
       data from lower level components and layers. Try to avoid bidirectional
       interaction between the same components. &lt;/span&gt;&lt;/li&gt;
&lt;li class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list .5in; text-align: justify;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Describe your interfaces
       clearly. Even at a high level design the kind of information, the data width,
       resolution and sign has to be determined. This can be done on an
       abstract level i.e. there is no need to define them in terms of data
       types of a special programming language. &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;More
details will be given in the description of low level design related to the
programming language C. &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; text-align: justify;&quot;&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;Operating Systems and Timing&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; text-align: justify; text-indent: 0.5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Basically
there are two categories of microcontroller systems. The first one is EVENT
driven, as e.g. cell phones and other modern communication equipment. &lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;
&lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;The
other kind of application is TIME driven. These microcontroller systems usually
have the task to measure and evaluate signals and react on this information
accordingly. This measuring activity means that signal sampling has to be
performed. Additionally there may be activities like feedback current controls
which have to be performed. Both activities imply by the underlying theories
that sample frequencies have to be as exact as possible. &lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;
&lt;br style=&quot;mso-special-character: line-break;&quot; /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Both
categories of systems are called REALTIME SYSTEMS, but they are like two
different worlds! &lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
The EVENT driven systems are comparatively simple. The are usually in an idle
state until one of the defined events triggers a task or process, which is
executed sequentially until it is finished and the system returns to the idle
state. During the execution of such a task these systems usually do not react
on other events. This &quot;first comes first serves&quot; principle e.g. can
be seen in a cell phone, where incoming calls are ignored after you started to
dial an outgoing call. &lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
TIME driven systems are much more complicated. Usually all possible inputs to
the system have to be sampled and all outputs have to be served virtually
simultaneously. This means that time slices have to be granted to the various
activities and their duration has to be defined and limited to ensure the
overall function of the system. It would be too much to go into more details here. However there are some
general rules which should be considered:&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 94.0%;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt; width: 525.0pt;&quot; width=&quot;700&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;The CPU selection should be made according to the
  application. There are some CPUs which support time driven application in an
  optimized way. E.g. it is recommendable to have sufficient interrupt levels,
  CAPCOM units and I/O ports which can be accessed without delays for time
  driven applications. It is sad to see that in recent years some well known
  microcontrollers which originate in the event driven world were pushed into the
  time driven market. The ease of development and stability of the systems
  suffer from this. Although the attempt was made by the CPU manufacturer to
  cover for that by designing suitable peripheral units, the whole situation
  still looks like an odd patchwork rather than a sound design.Operating systems can be event driven and non-preemptive
  for EVENT driven applications.Operating systems should be time driven and preemptive for
  TIME driven systems.Standard operating systems may fail you for high speed
  tasks, such as 250 us tasks for feedback current controls. In this case you
  have to do this by tricks and timer interrupts outside of the operating
  system. Therefore have a close look at the OS from the shelf before you base
  your system on it. &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify;&quot;&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;A Word about Modern Design Methods and Tools&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Most
of our ideas concerning high level design were outlined above. To some this may
look outdated, because there are so many design tools around which promise to
make life easy. However there are a few things we want to point out concerning
modern high level design methods and tools.&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
There would be a lot to say about modern design methods, such as UML, SDL and
others. But there are a lot of good web-sites which specialized on this. Tools
are available which allow high level design in one of these methods and even
make an automatic code generation. Praises are sung that these 4th level
&quot;programming languages&quot; will be the future way of designing software
and leave the skill of coding to an automatic code export triggered by a simple
hit on a button. There are certainly applications where this makes sense and
where this is a sensible way to go, as e.g. the use of such a tool (SCADE) for
the programs in nuclear power plants. But does this also make sense for high
volume microcontroller applications? There are a few stumbling blocks for this
which may not be cleared away so easily in near future:&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 94.0%;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt; width: 525.0pt;&quot; width=&quot;700&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Autocoders still generate a big overhead in resource
  consumption (RAM/ROM/Runtime) which can not be optimized. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Autocoders usually generate highly cryptical code which
  thus fails to be subject to any further human inspection or test. This means
  that all testing that can be done on a low level has to be done by the
  respective design tool. Some tools support this (SCADE and SDT) where the demand
  for an &quot;executable specification&quot; is met and thus a sufficient
  testing is possible. But this also means that a decision for such a method is
  at the same time a decision for higher resource consumption and a decision to
  have no mixed design, i.e. all the code has to come out of the tool otherwise
  it fails to be testable. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;For safety critical applications the tool and auto coder
  has to be certifiable. I.e. it has to be subject to checks by organizations
  such as the TÜV. A shoe which is too big for many modern tools, but a step
  which is necessary to lift a toy to the status of a real tool. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;So far none of the well known design methods and associated
  tools is able to consider the timing aspect in microcontroller systems in a satisfying
  way. Interrupt service routines, and especially preemptive operating system
  tasks in microcontroller systems are not supported in these methods and
  tools. But they are one of the most important aspects of design for
  microcontrollers. &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Some
of these design methods and tools may be justified in appropriate environments,
but the conclusion and our recommendation for high volume microcontroller
systems is:&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;MsoNormalTable&quot; style=&quot;mso-cellspacing: 1.5pt; mso-yfti-tbllook: 1184; width: 94.0%;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;padding: .75pt .75pt .75pt .75pt; width: 525.0pt;&quot; width=&quot;700&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Use design methods and associated tools for rapid
  prototyping. This may be a big advantage to develop functions, but do not try
  to bring this tool output into series production for high volume
  microcontroller systems. You will hopelessly fail. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Use design methods to specify and describe complex
  functionality even for a microcontroller system. This may make the way of
  design easier, it uses a syntax which can be trained and understood by
  others, but be prepared to have a deliberate break in the tool chain where
  you set up a proper low level design and coding. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; text-align: justify; text-indent: .5in;&quot;&gt;
&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt;&quot;&gt;Do not attempt to use such a design tool to design your
  interrupts and operating system tasks. Although some tools recently offer the
  inclusion of a standard microcontroller operating system, this usually does
  not allow preemptive tasks and does not support interrupt service routines. &lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Arial&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10pt; line-height: 115%;&quot;&gt; &lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://stuffs48.blogspot.com/feeds/4659645252359657361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://stuffs48.blogspot.com/2011/09/hld-high-level-design.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5347461197397521041/posts/default/4659645252359657361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5347461197397521041/posts/default/4659645252359657361'/><link rel='alternate' type='text/html' href='http://stuffs48.blogspot.com/2011/09/hld-high-level-design.html' title='HLD – High Level Design'/><author><name>Evil</name><uri>http://www.blogger.com/profile/07768245593163991505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNo9DQdj5wIQfRs_-4jE-G-GfXWeEarGOe5gWIwMPHjriHxLKT_asPXjRz9ZiPF8m5k1xCYW-WBmed4sGc7BFMi97HRtpQuADhHpLKhcH_V_18lPXBwyuQsM6hlrgi7AwXWVlvSCcoALk/s72-c/clip_image002.jpg" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5347461197397521041.post-9119436786372979911</id><published>2011-09-22T23:02:00.000-07:00</published><updated>2011-09-22T23:11:49.558-07:00</updated><title type='text'>Software Testing Certification</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;line-height: normal; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; mso-outline-level: 1; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 36pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-size: large;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;;&quot;&gt;Certifications&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Several certification programs exist
to support the Professional aspirations of Software Testers and Quality
Assurance Specialists. No certification currently offered actually requires the
applicant to demonstrate the ability to test software. No certification is
based on a widely accepted body of knowledge. This has led some to declare that
the testing field is not ready for certification. Certification itself cannot
measure an individual&#39;s productivity, their skill, or practical knowledge, and
cannot guarantee their competence, or professionalism as a tester.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal; margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Doing a testing related certification might add some value to your profile.
Certification could be important because of various reasons.&lt;br /&gt;
&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
There are various certification programs available for the software testing
professional. Purpose of this page is to provide you a quick information and
links about the certifications available to you.&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;Certification
options available for Testing Professional can be divided in Four categories&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 14pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;&lt;br /&gt;
&lt;b&gt;&lt;i&gt;1. Certifications from International Software Testing Quality Board ( ISTQB ) :&lt;span style=&quot;color: black;&quot;&gt;&lt;a href=&quot;http://www.qualitytesting.info/page/istqb-certification&quot;&gt;&lt;span style=&quot;color: black; text-decoration: none;&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
ISTQB (International Software Testing Qualifications Board), responsible for
conducting the ISTQB certification exam, was officially founded in Edinburgh in
November 2002 and is represented by various national testing boards in
different member countries. Presently (as of January 2009), 41 national testing
boards are members of ISTQB and responsible for conducting the certification
exam in their respective countries.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;2&lt;span style=&quot;color: black;&quot;&gt;. &lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;a href=&quot;http://www.qualitytesting.info/page/2064344:Page:39974&quot;&gt;&lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt; text-decoration: none;&quot;&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;&lt;i&gt;&lt;b&gt;Certifications from Quality Assurance Institute ( QAI ) :&lt;/b&gt;&lt;/i&gt;&lt;br /&gt;
The QAI Global Institute, formerly known as Quality Assurance Institute, was
founded in 1980 in the United States of America. QAI&#39;s founding objective was
and remains to provide leadership in improving quality, productivity, and
effective solutions for process management in the information services
profession.&lt;br /&gt;
&lt;b&gt;The objective of QAI certifications are:&lt;/b&gt;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;a. To recognize individuals for a level of proficiency in the
IT Quality Assurance, Project Management and Software Testing industries.&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;b. To recognize the competencies needed to drive process
maturity.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;3. Certifications from International Institute for SoftwareTesting :&lt;/i&gt;&lt;/b&gt; &lt;b&gt;&lt;i&gt;&lt;span style=&quot;color: black;&quot;&gt;&lt;a href=&quot;http://www.qualitytesting.info/page/iist-certifications&quot;&gt;&lt;span style=&quot;color: black; text-decoration: none;&quot;&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;To achieve this goal, in 1999, IIST took the lead in
education-based certifications by forming an Advisory Board of industry experts
and practitioners to provide direction to the effort of developing
education-based certifications. IIST offers two certification programs that are
based on well-defined Bodies of Knowledge approved by IIST&#39;s Advisory Board.&lt;br /&gt;
The two certifications now offered by the International Institute for Software
Testing are:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;a. Certified Software Test Professional (CSTP)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;b. Certified Test Manager (CTM)&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;i&gt;4. &lt;span style=&quot;color: black;&quot;&gt;Certifications from HP :&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;br /&gt;
Mercury Company is considered one of the global leaders in business technology
optimization software. Started about 13 years ago, they market integrated
enterprise testing, production tuning and application management solutions and
services. Mercury has divided its certification program in two categories:&lt;br /&gt;
The first Mercury certifications are the Interactive &lt;b&gt;Certified Product
Consultant (CPC)&lt;/b&gt; for people who wish to demonstrate consultant level skill
with one or more Mercury Interactive software products. Available for:&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;a. TestDirector&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;b. WinRunner&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;c. LoadRunner&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;d. QuickTest Pro&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;e. Topaz&lt;br /&gt;
The other Mercury certifications is the Interactive &lt;b&gt;Certified Instructor
(CI)&lt;/b&gt; for people who wish to train others on Mercury Interactive products
and have access to official course materials&lt;br /&gt;
&lt;br /&gt;
For more information, you can refer official website: &lt;/span&gt;&lt;a href=&quot;https://h10078.www1.hp.com/cda/hpms/display/main/hpms_home.jsp?zn=bto&amp;amp;cp=1_4011_0__&quot;&gt;&lt;span style=&quot;color: blue; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;Click Here&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://stuffs48.blogspot.com/feeds/9119436786372979911/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://stuffs48.blogspot.com/2011/09/testing-certifications-several.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5347461197397521041/posts/default/9119436786372979911'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5347461197397521041/posts/default/9119436786372979911'/><link rel='alternate' type='text/html' href='http://stuffs48.blogspot.com/2011/09/testing-certifications-several.html' title='Software Testing Certification'/><author><name>Evil</name><uri>http://www.blogger.com/profile/07768245593163991505</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>