Computer Program Design
What I learned in Computer Programming Design Course
Quality in Software Design
Common Strategies
Computer programming design is more than typing code and debugging. Computer program design serves as the bridge between the user and the programming technology. The end product can be technologically correct, but if it does not meet the needs of the user, then the designer has not accomplished their goal. The following reflects both my personal experience in a Computer Programming Design Course and the philosophy behind this essential component of technology design
Knowledge of software engineering and design is what separates the Computer Science professional from the hacker. A hacker deals with code and can learn the languages that they need to accomplish their desired task. However, the computer professional must go the extra step in meeting their client's needs. It is helpful to have an arsenal of tools to use on a daily basis. The programming language and knowledge of various platforms represent the tools, but that is not where the story ends.
The goal of computer programming is to design a tool for the end user. The program must perform the functions that it was designed to do. It must perform reliably and with ease for the customer. It is the impression of the customer that is the most important element of computer program design. The programmer must remember that they are designing a tool that will be used by the customer to perform a certain function. It is the ability of the program to perform the intended purpose that is the most important element of the process.
Statement of the Problem
Computer program design has many technical aspects. It is easy for a programmer to become caught up in the technical aspects of the design process, so much so that they lose sight of the most important element…the customer. The computer program designer must keep in mind the needs of the customer who will eventually purchase and use their program. This research will explore the use of object-oriented design that show the relationships and interactions between classes or objects as templates customer-oriented systems.
Chapter 2: Literature Review
Customer-oriented computer program design involves many elements. The following literature review will explore research concerning the object-oriented design and how it can be used as the basic architecture in the design of customer systems and applications. It will examine the most recent literature regarding current thought and philosophy on the use of object-oriented design as the primary architecture in the design of systems for specific functions.
Quality in Software Design
In the computer design course, we learned many tools and processes that could be used to design software for end users. Many styles, structures, and techniques were developed that could be used in software design. It is understood that quality is an essential element that should be taken into account in the design process, both from a programming perspective and from an end user/customer perspective.
The design of computer software involves many different stakeholders. Each of these stakeholders has a different set of risks in the computer software design. When one discusses "high quality" in computer software design, they must consider the needs of all of the stakeholders (Haigh, 2010). Different stakeholders have different definitions of software quality throughout the development process. These differences are a part of the cultural constructs that surround each group. Actions that work to bridge these various cultures will have an impact on the perceived quality of the product by various stakeholders (Haigh, 2010). Being aware of the differences between different stakeholders in the software development process can help to eliminate many misunderstandings regarding project goals and the end quality of the project. T
The competitive atmosphere of the software industry has made improving the quality of software of extreme importance. Software manufacturers are beginning to employ quality improvement techniques borrowed from other business sectors. The Software quality function deployment (SQFD) is being used as a technique for improving the quality of software development (Sener & Karsak, 2010). In this model, fuzzy regression is used to identify functional relationships between customer expectations and the technical attributes of the software that is under development. This study stresses the relationship between quality and the ability of software designers to meet their needs.
Strategic management is the key to maintaining competitiveness in any industry. One of the latest techniques that allow Software development organizations to manage their competitive advantage is the Balanced Objective-Quantifiers Methodology (BOQM) model that integrates strategic management, process improvement, and quantitative measurement to help manage the competitiveness of software engineering organizations (Guzman, Mitre, & Amescua et al., 2010).
Common Strategies
The design-by-contract approach is one of the most widely used methods for achieving quality in the software design industry. This method allows the customer to have input into what the final result will look like. They can specify which conditions must exist before and after the software has been implemented. One of the key difficulties experienced by computer design students is the gap between the theoretical principles taught in class and the capabilities that they will experience in the programming environment (Feldman, 2005). The first challenge that the software design student must overcome is the gap between what they learned in design class and how to apply this information to real-world situations that they will encounter.
Object-Oriented programming requires a different thought process than other types of programming. However, the object-oriented approach is much more suitable to the attainment of customer goals than many other programming strategies (Weisfeld, 2004). In this article, the author discusses the key differences between procedural and object-oriented programming. Many programmers are familiar with procedural programming and find it difficult to grasp object-oriented processes. Access to the data is less restricted than in the procedural programming philosophy (Weisfeld, 2004). Restricting access to certain types of information in object-oriented programming means gaining a solid grasp of the various classes involved.
Modeling is one of the most important tools that a designer has at their disposal. Choosing the correct modeling process will have a dramatic impact on the perceived functionality and quality of the final product. Transitioning from the traditional procedural model to an object-oriented approach is often difficult for the new software designer to grasp. The object-oriented approach forces the developer to look at the responsibility and specifications of the program, rather than the data (Din & Idris, 2009).
Chapter 3: Summary and Conclusion
The literature demonstrates that the design process entails many factors that must be considered. Achieving quality in the design process means taking the needs of various stakeholders into consideration. The designer must go beyond the data and the programming language and delve into the needs of the stakeholders. The literature tells us that stakeholders change throughout the design process and that they may have different goals and perceptions of the final project. The designer must often bridge these various perceptions in order to develop a design that is pleasing to all of the stakeholders involved.
A trend was discovered in the literature that indicates that the measurement of quality is becoming a key consideration in the ability to remain competitive; measuring quality in a design process is different from measuring quality in a process-oriented industry. Measuring quality in the area of software design means taking the needs of the customer into consideration. The literature suggests that the goals and objectives of the customer should be the sole driving factor in the design.
The literature divides the design process into several different models. The traditional procedural model focuses on the data. However, this is being replaced by the object-oriented approach that takes into consideration the various actions and relationships between various objects. One of the key points that the literature revealed is that choosing the correct philosophy will lead to the correct modeling process for the project. The designer may have a favorite philosophy or process that they prefer. However, they must be versed in as many philosophies and modeling procedures as possible.
You’re 81% through this paper. Sign up to read the full paper.
Sign Up Now — Instant Access Already a member? Log inAlways verify citation format against your institution’s current style guide requirements.