Answer the following questions: 1. What is a program design? 2. Why program desi
ID: 3758900 • Letter: A
Question
Answer the following questions:
1. What is a program design?
2. Why program design is important?
3. What program design tools are available? Discuss in details by studying at least three program design tools and how they can help in better program design and C code?
4. What happens if you don’t utilize program designing techniques in developing large C programs?
ASSIGNMENT EXPECTATIONS & REQUIREMENTS: Discuss your responses to questions posed in details with examples. Minimum of THREE pages with single space. Review and incorporate following assignment expectations. Include all of these expectations in to your responses for this assignment:
Title page (Not included in required page count of three pages single space)
References (Not included in required page count of three pages single space)
Introduction
Body
Conclusion
Explanation / Answer
1
Program Design
General Overview
>“The design of an embedded microcontroller system requires an integrated use of hardware and software.”
>Hardware and software provide a natural division of the view of the system. Embedded systems require well designed interaction between these two divisions.
>The software design needs to follow established methodologies.
Software Design Methodology
Top-down design methodology
Top-Down Design
2
>When a software project is started from scratch, creating design is the most obvious first step. Design allows not only to find out how the software product is going to look, but also allows both software owners and developers to realize how it's going to function. Therefore a software design must combine functionality, informativeness, and simplicity, so that even a child could use the app without need to learn. That's what makes up an intuitive app design. That's where you can start from
>The process of forming the design may help you see what you want from the end software.
>Design usually comprises 3 stages:
1) Brainstorm. That's usually between you, the project manager and the designer. Together you discuss the software project, bring suggestions and ideas to make a clear concept of the application. In the end you extract the best ideas to start with.
2) Creating a wireframe. A wireframe of your software shows its main elements (for example, buttons) on their places. You arrange a wireframe the way you want it to look. You get feedback from the designer on the technical aspects of the design, and eventually choose the best variant of wireframe.
3) Then comes the design itself. Design brings every detail onto the wireframe - colors, shades, textures, effects, animations etc. The result is a clickable prototype, a screen flow - a clear vision of your software product.
>The stage of design usually takes about 2 weeks, for a system of average complexity. It's a cost-effective investment, since any software developer can work with a created design. It's a good initial investment, even if you decide to call off the project - because it spares the resources you would spend on development.
3
Programming Design Tools:
1.NetBeans
2.Eclipse
3.IntelliJ IDEA Community Edition
4.Android Studio
5.Enide Studio 2014
6.BlueJ
7.jEdit
8.JDeveloper
Net Beans
>NetBeans is an open source Integrated Development Environment written in Java and is one of IDR Solutions favourite IDE’s for Java Coding.
>The NetBeans IDE supports development of all Java application types (Java SE, JavaFX, Java ME, web, EJB and mobile applications) standard out of the box. NetBeans is modular in design meaning it can be extended by third party developers who can create plugins for NetBeans to enhance functionality
Eclipse:
>Eclipse is another free Java IDE for developers and programmers and it is mostly written in Java. Eclipse lets you create various cross platform Java applications for use on mobile, web, desktop and enterprise domains.
>Its main features include a Windows Builder, integration with Maven, Mylyn, XML editor, Git client, CVS client, PyDev, and it contains a base workspace with an extensible plug-in system for customizing the IDE to suit your needs. Through plugins you can develop applications in other programming languages some of which include , C, C++, JavaScript,, Perl, PHP, Prolog, Python, R, Ruby (including Ruby on Rails framework), to name just a few
Android studio:
>Android Studio from Google is mainly designed for developing on the Android Platform however it is capable of running and editing some Java code.
>Originally it was built on the IntelliJ IDEA Community Edition, created by JetBrains and features a Flexible Gradle-based build system, build variants and multiple APK generation, Expanded template support for Google Services and various device types, Rich layout editor with support for theme editing and Lint tools to catch performance, usability, version compatibility, and other problems.
>Designers have traditionally used programming languages such as C to develop embedded systems based on microprocessor or microcontroller architecture. The popularity of C has led to a large ecosystem of technology choices for tools such as libraries, compilers, and OSs. Field-programmable gate arrays (FPGAs) are a newer technology in the embedded space that provides the ability to create reconfigurable digital logic using hardware description languages. To represent the hardware and take advantage of the high-performance parallel nature of digital circuitry, hardware description languages offer very different semantics than software engineers are accustomed to using. By providing development environments for FPGAs that provide programming constructs familiar to software engineers, embedded software engineers can reap the benefits of using FPGAs in their designs.
>Embedded system designers working with NI hardware have a variety of programming languages and tools to choose from when architecting their systems.
>NI Embedded C/C++ Development Tools
CompactRIO and Single-Board RIO embedded systems incorporate the latest embedded processor and RTOS technologies as they release and are adopted by the industry. The NI RIO family of products span x86 and PowerPC processors and now include ARM-based systems. These products are compatible with a number of C/C++ compilers and toolchains. To determine which processor technology works with embedded hardware
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.