Free Essay

Software Design

In: Computers and Technology

Submitted By fousem
Words 591
Pages 3
Module 3 Summary of Key Terms
Michael Fouse
Embry Riddle University
Introduction to Information Systems
Management 221
Concetta Manker
May 14, 2013

Module 3 Summary of Software Design
I began this assignment by searching for the key terms in Google, looking for journal topics that were both informative and interesting to a novice such as me. I have to admit that I was unsuccessful finding an entry that was both, however, I did find an article about software design that was informative (http://www.bleading-edge.com). The article was written by Jack W. Reeves. Jack W. Reeves is a senior software developer with over 30 years’ experience in the industry. He has worked on systems ranging from simulators for the space shuttle, military command and control systems, air traffic control systems, medical imaging systems, financial data distribution systems, embedded systems, drivers, and utilities. He has exclusively been an OO developer for the last 15 years (Jack W. Reeves - About the Author," copyright 2000-2006).
In my opinion, the journal article was originally written in 1992 as a call to action to those in the software design and programming vocation. Mr. Reeves was obviously a strong proponent for the use of C++ as the programming language of choice. He compared software design to modern engineering practices in an attempt to better define the process by which software is developed, the need for the software industry to advance and expedite its concept to product cycle and to encourage his peers to consider the value of C++ as the necessary tool for advancement of his ideas. Reeves wrote: “Ultimately, real advances in software development depend upon advances in programming techniques, which in turn mean advances in programming languages. C++ is such an advance. It has exploded in popularity because it is a mainstream programming language that directly supports better software design.” as well as “C++ is a step in the right direction, but still more advances are needed.” in his own summary.
Reeves felt strongly that the C++ language was important to future programming because it supported his argument that the process of software design should make use of the same language from top level design, module design, structural design, architectural design, or whatever. A good software design process recognizes this and deliberately includes the steps.
C++ is considered 4th in the top ten programming languages today, behind Java, C language and C# (Singh, 2012).
Author Reflection: I chose this article after I reviewed a web page titled “What is Software Design” ("What is Software Design?" 2010). There were several discussion entries that provided commentary on the original article from 1992. I felt that so much interest in work that was written 18 years earlier was worth doing some research. The article written by Mr. Reeves in 1992 is surprisingly relevant today. Behind Java, the C languages are still a foundation of programming architecture. I felt the article itself was somewhat biased in that Mr. Reeves did not mention Java PHP or the other C languages. After I completed research for this paper I did, however, agree with Mr. Reeves’ position and I now consider his argument from 1992 equally valid and relevant today.

References
Jack W. Reeves - About the Author. (copyright 2000-2006). Retrieved from http://www.developerdotstar.com/mag/bios/jack_reeves.html
Singh, A. (2012). The Top 10 Programming Languages (For Techies only). Retrieved from http://www.freerepublic.com/focus/chat/2880277/posts
What is Software Design? (2010). Retrieved from http://c2.com/cgi/wiki?
WhatIsSoftwareDesign(http://www.bleading-edge.com)

Similar Documents

Premium Essay

Software Design

...Software Design Name: Institution: Software Design Summary Software design is to produce a plan (model) that represents a workable (implementable) solution to a given problem. Software design is not procedural, but it is empirical or opportunistic that is an exploration of the potentially very large solution space. Quality software should be developed based on the users’ requirements. A right software development methodology should be employed in order to develop a right product such as Waterfall modeling. Design process are steps that enable the software developer to describe, analyze all aspects of product to be developed. It should not suffer from the ‘tunnel vision’ that is the developer should consider alternative approaches judging each as per the user’s requirements. It should also be traceable to its analysis model since one design can be traced to many requirements, so they should be a clear means of tracking them. Design should use the backlog of existing system but not inventing the wheel. However, there should be uniformity and integration in the design and should regularly be reviewed to avoid semantic errors. The design should be developed in such a way that it can be altered when need arises. It should also be assessed to ensure software quality. Software design considerations are: compatibility in that the system is design to operate in any platform that is not limited to a specific environment. The design should be extensible; in that new elements can...

Words: 1271 - Pages: 6

Premium Essay

Application Design, Application Software, and Software Design

...Application Software Application software, also known as an "app", is computer software designed to help the user to perform specific tasks. Application software is contrasted with system software and middleware, which manage and integrate a computer's capabilities, but typically do not directly apply them in the performance of tasks that benefit the user. The system software serves the application, which in turn serves the user. Application software is usually designed for end users and most are user friendly. Application software applies the power of a particular computing platform or system software to a particular purpose. There are many ways to obtain application software including paid commercial software, shareware, freeware, and rental ware. Commercial software is copyrighted and if you don’t pay for it, you can be prosecuted. Shareware is also copyrighted but available for free download with a requirement t pay as you use it. Freeware is copyrighted and available free with no further requirements. Rental ware is copyrighted and can be leased for a fee. Application software itself is divided into five categories. Entertainment software Entertainment software is usually known as video games or PC game and even mobile gaming on smart phones. Personal computer games are an electronic game that involves personal interaction with an interface to generate visual feedback on a monitor or other screen. The personal serves as the platform rather than a gaming only...

Words: 873 - Pages: 4

Premium Essay

Software Design and Documentation Essay

...Software Design and Documentation Fall 2010 Rohan Dhruva Question A: Songbird is a free and open source software audio player, whose development is sponsored by POTI Inc. Their mission is stated as "to incubate Songbird, the first Web player, to catalyse and champion a diverse, open Media Web." Songbird utilizes the cross-platform frameworks, Mozilla's XULRunner and GStreamer media framework, and is largely capable of running on Microsoft Windows, Apple Mac OS X, Solaris and Linux. The user interface of Songbird is similar to that of Apple iTunes. It also supports syncing its music library to iPods. Hence, many people have started using Songbird as an alternative to the closed source and bloated iTunes. Songbird can be downloaded from http://getsongbird.com/ User Stories: While Songbird has robust music library management, and can import the files on your hard disk to this library, it lacks the feature of importing songs from the iTunes library. This deters many new users from switching over to Songbird, because they fear losing their play count, “starred” songs, and stored metadata like lyrics and album information. Essentially all this information should be stored with the audio file itself, by making use of ID3 tags. iTunes, however, chooses to maintain this information both in its proprietary “itl” format, and as an XML file. To ease the transition for new users, Songbird should support importing from the user’s iTunes library. The other...

Words: 2975 - Pages: 12

Premium Essay

Computer-Aided Software Development Process Design

...of IT, more precisely Computer Software Development which is the process of writing and coding a software or application for a business or corporation. I chose to do some research on new topics and methods introduced to successfully finish a software project. Here is the outcome of my research on the “Computer-Aided Software Development Process Design”. To begin, the software development process faces many problems such as; the project manager providing insufficient time and resources, changes in the customers’ requirements for the software, and lower than expected productivity by the project staff. The objective is to develop a computerized intelligent tool that project managers can use in effective planning and management of the development process. This tool will provide day-to-day updates on the actual data generated for the project. Dr. Yau and Dr.Tsai presented this as an approach to facilitate the validity and integrity checking of the interconnection among software components during software development or modification. Afterwards, Dr. Matsumura proposed the CASDS, or computer-aided software design system, which uses three structural modeling methods to determine a software design from software requirements. Another system was introduced later in the article by Horowitz and Williamson, named SODOS, which supports the manipulation of documents used in developing software. This system permits traceability through all phases of the software life. I found this article...

Words: 326 - Pages: 2

Free Essay

C4Me-System Design Specification

...People Software Design Specification Ms. K.M.S.P. Gunawardhana 2457 Ms. P.S.W.Dissanayake 2449 Ms. F.R.Majeed 2473 Ms. W.R.P.Edirisinghe 2450 Ms. P.J.W.Weerakkody 2494 Mr. T.A.Withanage 2500 Mr. D.G.C.M.Amararathne 2445 Information and Communication Technology Faculty of Applied Sciences Rajarata University of Sri Lanka Table of Contents 1. INTRODUCTION 1 2. ARCHITECTURAL DESIGN .1 2.1 HIGH LEVEL COMPONENT AND THEIR DESIGN 1 2.1.1 Component Design 1 2.1.2 Components 2-3 2.2. ARCHITECTURAL STYLES / PATTERNS 3 2.2.1 Component-Based Architectural Style 3-4 2.2.2 Object-Oriented Architectural Style 4-5 2.3 PHYSICAL ARRANGEMENTS OF DEVICES 5 2.4 DESIGN DECISIONS 6 3. COMPONENT AND DETAIL DESIGN 6 3.1 DESIGN PATTERNS 6-8 3.2 CLASS DIAGRAM 8 3.3 SEQUENCE DIAGRAMS 9 3.3.1 Use case 1: Currency Notes Recognition 9 3.3.2 Use Case 2: Location Recognition 9-10 3.3.3 Use Case 3: Color Recognition 10 3.3.4 Use Case 4: Light Detection 11 3.3.5 Use Case 5: Calculator 11 3.4 ALGORITHM DESIGN 12 3.4.1 Input Entering Algorithm 12 3.4.2 Currency Notes Recognition Algorithm 13 3.4.3 Current Location Recognition Algorithm 13 3.4.4 Destination Recognition Algorithm 14 3.4.5 Color Recognition Algorithm 14 3.4.6 Light Detection Algorithm 15 3.4.6 Calculator Algorithm 15-16 3.5 DATABASE DESIGN 17 ...

Words: 2573 - Pages: 11

Premium Essay

What Is System Analysis and Design (Sad)?

...Systems Analysis and Design (SAD) is an exciting, active field in which analysts continually learn new techniques and approaches to develop systems more effectively and efficiently. In business, SAD refers to the process of examining a business situation with the intent of improving it through better procedures and methods. System analysis and design relates to shaping organizations, improving performance and achieving objectives for profitability and growth. The emphasis is on systems in action, the relationships among subsystems and their contribution to meeting a common goal. Systems development can generally be thought of as having two major components: Systems analysis and Systems design. System design is the process of planning a new business system or one to replace or complement an existing system. System analysis is the process of gathering and interpreting facts, diagnosing problems, and using the information to recommend improvements to the system. This is the job of the systems analyst. A system is orderly grouping of interdependent components linked together according to a plan to achieve a specific objective. Its main characteristic are organization, interaction, interdependence, integration and a central objective. To construct a system, system analyst must consider its elements- input and output, processors, control, feedback, and environment. Systems are classified as physical or abstract, open or closed, and man-made information systems. A system may be schematic...

Words: 496 - Pages: 2

Premium Essay

Management

...Analysis and Design Method MAO BO 2015 SPRING Course Category and Objects • Category • Core course for undergraduate students in major of Information Management and Information Systems • Objects • Understanding the elementary programming with Java(?) • Understanding methodologies and technologies of object-oriented analysis and design • Be more prepared for future software-related jobs MAO Bo, School of Economics and Management, Tsinghua University Spring, 2015 2 You will learn about • How to programming with Java  • How to gather software requirements • How to analysis software using object-oriented theory • How to design software using object-oriented theory • How to communicate the software analysis and design using UML (unified modeling language) diagrams • How to divide a software project into phases with objectoriented thinking MAO Bo, School of Economics and Management, Tsinghua University Spring, 2015 3 Contents of Course in Java 1. 2. 3. 4. 5. 6. Elementary Programming with Java Selections and Loops Method and Arrays in Java Objects and Classes Inheritance and Polymorphism Event-Driven Programming and Exception Handling MAO Bo, School of Economics and Management, Tsinghua University Spring, 2015 4 Contents of Course in OOA&D 7. What is great software and how can get it? 8. How to gather software requirement? 9. How to deal with software requirements change? 10. Object-oriented software analysis approaches 11. Object-oriented software design approaches...

Words: 385 - Pages: 2

Premium Essay

System Development

...The phases of the system development Life Cycle include; * System investigation, this is where professionals gather information on what problems a business may have,   the software and programs that are needed, and what problems that may occur.   * System analysis, this stage defines in detail the problem, cause, and solution the organizations plan to solve with its information systems.   * System design, this phase is where the technical design is developed. This includes hardware, software, database, telecommunications and procedures. This is done in logical and physical design which states what the system will do and how the system will perform.   * Programming is the process of turning the system design into specifics * Testing, this is where the system is tested to see if the codes will produce desired results. This is done throughout the programming stage.   * Implementation is where the system is deployed and the old system is out. This is done in three stages, direct conversion: the old system is turned off and the new is turned on. Pilot conversion: the system is operational in small areas of the business. Phased conversions: where components are introduced until the system is fully functional.   * Operations and maintenance, where the system is debugged of any problems. The people who participate in the development of the information system are Users such as employees who will be using the system. System...

Words: 264 - Pages: 2

Free Essay

Sdd Template

...dSoftware Design Document (SDD) Template  Software  design  is  a  process  by  which  the  software  requirements  are  translated  into  a  representation  of  software  components,  interfaces,  and  data  necessary  for  the  implementation  phase.  The  SDD  shows  how  the  software  system  will  be  structured  to  satisfy  the  requirements.  It  is  the  primary  reference  for  code  development  and,  therefore,  it  must  contain  all  the  information  required  by  a  programmer  to  write  code.  The  SDD  is  performed  in  two  stages.  The  first  is  a  preliminary design in which the overall system architecture and data architecture  is defined. In the  second stage,  i.e. the detailed design stage,  more detailed data  structures are defined and algorithms are developed for the defined architecture.  This  template  is  an  annotated  outline  for  a  software  design  document  adapted  from  the  IEEE  Recommended  Practice  for  Software  Design  Descriptions.  The  IEEE  Recommended  Practice  for  Software  Design  Descriptions  have  been  reduced  in  order  to  simplify  this  assignment  while  still  retaining  the  main  components and providing a general  idea of a project definition report. For your  1  own  information,  please  refer  to  IEEE  Std  1016­1998  for  the  full  IEEE  Recommended Practice for Software Design Descriptions.  1  http://www.cs.concordia.ca/~ormandj/comp354/2003/Project/ieee­SDD.pdf (Team Name)  (Project Title) ...

Words: 1105 - Pages: 5

Premium Essay

System

...Boundaries and interface There are 4 System Development Approaches: 1. Prototyping Development 2. Rapid Application Development 3. Joint Application Design 4. Participatory Design 1. PROTOTYPING DEVELOPMENT: Software prototyping refers to the activity of creating prototypes of software applications, i.e., incomplete versions of the software program being developed. In this a prototype is made first and based on it final product is developed. A prototype is a model or a program which is not based on strict planning, but is an early approximation of the final product or software system. This type of System Development Method is employed when it is very difficult to obtain exact requirements from the customer. While making the model, user keeps giving feedbacks from time to time and based on it, a prototype is made. Completely built sample model is shown to user and based on his feedback; the SRS (System Requirements Specifications) document is prepared. After completion of this, a more accurate SRS is prepared. 2. RAPID APPLICATION DEVELOPMENT: Rapid application development (RAD) is a software development methodology that uses minimal planning in favour of rapid prototyping. It is broader in scope as compared to prototyping. The "planning" of software developed using RAD is interleaved with writing the software itself. The lack of extensive...

Words: 978 - Pages: 4

Premium Essay

Nt1330 Unit 6 Assignment

...Assignment Description: For the unit 2 assignment, I needed to develop a critical path method (CPM) for the design phase of the ABC Video Rental store project. It was suggested that we use table 6-6 from The New Software Engineering by Sue Conger (2008, p. 167) as a guideline for the development of the CPM. Table 6-6 outlines the functional requirements for the program and what different software options, existing or available for development of the application, would be able to meet those requirements. A table that I found more useful for the assignment goals was Table 6-16 which outlined and defined design phase tasks along with an estimated function point value for each task (Conger, 2008, p. 188). After displaying my CPM for the ABC project design phase I will outline the critical path, the various tasks that fit the dependencies from table 6-6, how the various tasks might be distributed between a two-person team of a project manager and software...

Words: 761 - Pages: 4

Premium Essay

Quality Web Design

...Company Overview Quality Web Design (QWD) is a company that specializes in Websites and Web Design content for any type of business. Their mission is to help other businesses increase their revenue by providing them with top quality websites for their customers. In addition, they own over 250,000 of proprietary images, and graphical designs. These designs are customized for every industry and demographic. Their business process is quite simple. They have a server at the Company Headquarters, where they store all of their proprietary data (including images, scripts, templates, etc). They utilize a Microsoft Visual Studio Team Foundation Service (TFS) server to manage their content and the progress of the project. “Team Foundation is a set of tools and technologies that enable a team to collaborate and coordinate their efforts on building a product or completing a project. Team Foundation enhances team communication, tracks work status, supports team roles, enacts the team process, and integrates team tools.” (Microsoft.com (2011) Team Foundation Overview) In addition to the Team Foundation, they also utilize Visual Studio to code, and build the websites. These resources are accesses through different methods. Those methods include WAN connection, VPN connection through a remote office, and through the corporate office via LAN. They also have other services such as Outlook Web Access for E-mail that is accessed via the methods mentioned above. They have also created...

Words: 927 - Pages: 4

Premium Essay

Nt1330 Unit 3

...1. List and describe at least nine factors considered in the design specifications for a new system. Give at least one example for each one? The nine factors which are considered in the design specifications for a new system are 1. Input: The whole design of the system depends on the inputs that we provide to develop the system. Ex: Flow, Data Entry. 2. Output: The system developers should consider all the factors like medium, environment, database and timing Ex: medium, timing. 3. Processing: Perform computations, handle program modules, timing of the output. and display the required reports. Ex: Computations, program modules 4. Manual Procedures: The system must consider the nature of the activities, who perform them, how, when and where they are performed. Ex: what activities, when, how 5. Database design: The design of the system must be able to handle the volume of data, execute quickly, record the specifications and organize the files Ex: logical data model, record specifications...

Words: 972 - Pages: 4

Premium Essay

Innovtion Simulation

...Industrial Design, Innovation & New Product Development | Final assignment | | Table of Contents 1. Introduction 2 2. Analysis of our team performance 3 3. Design analysis 5 3.1. Introduction 5 3.2. Management of Design 5 3.3. City Car Simulation 6 3.3.1. The „Design Thinking Framework” 6 3.3.1.1. What is 6 3.3.1.2. What if 7 3.3.1.3. What wows 8 3.3.1.4. What works 8 3.3.2. Design Evaluation 8 3.3.2.1. Design Analysis Group 1 - UPARK 10 3.3.2.2. Design Analysis Group 2 - EgoCAR 11 3.3.2.3. Design Analysis Group 3 - BCBL 11 3.3.2.4. Design Analysis Group 4 - Bao-Bay 12 4. Business model analysis 13 4.1. Group 1 - UPARK 14 4.2. Group 2 – EgoCAR 15 4.3. Group 3 – Better City Better Life (BCBL) 16 4.4. Group 4 – Bao-Bay 17 5. Conclusion 18 6. Appendixes 19 6.1. Appendix 1 - Business model canvas draft of Group 3 19 6.2. Appendix 2 - Spiral model vs. stage gate process 20 6.3. Appendix 3 - Example of a RASIC chart 21 6.4. Appendix 4 - The repertory grid technique 21 6.5. Appendix 5 - Business model canvas 22 6.6. Appendix 6 - Example for service blueprint 23 1. Introduction For the City-Car simulation, Prof. Goffin split all the students into four groups. Within each group every member was assigned a specific job role which is shown below: Julian Reinard: Lead Designer Yanik Kiermeier: Mechanical Engineer Carrie Wang: Managing Director and Project Manager YunLong Zhong: Marketing...

Words: 5822 - Pages: 24

Premium Essay

Nt1310 Unit 1 Assignment

...Below are the key factors that need to be considered when designing for medical devices. Make the software–user interface easy to use: Limiting the number of functional options, providing clear screen titles & information labels, prompting the user in a step-by-step fashion, and providing real-time learning resources. Focus on user tasks: The UI should be task-oriented, allowing users to quickly access options, take action, and confirm the results. Elements that lead to clear awareness of where the user is in a series of steps, help the user recover from interruptions. Provide user guidance: Provide step-by-step procedural instructions, rather than requiring them to infer the proper operational sequence from an array of options. Carefully consider the advantages and disadvantages of providing dedicated procedural support, as opposed to making...

Words: 927 - Pages: 4