Explore BrainMass

Explore BrainMass

    Software Development

    In the beginning of digital computing in the early 1940s, operation instructions were physically wired into them. However, the inflexibility of this design made it a short-lived one. Engineers invented 'stored program architecture' to combat this inflexibility, achieved by the separation of software from hardware. This abstraction is what makes the complexity of modern computing possible.

    Software development encompasses the entire process of creating a software product and getting it working for and beyond release. However, the term 'software development' more often refers to the actual programming wherein an individual or team writes and maintains a stretch of sourcecode. Other activities vital to software development include research, new development, prototyping and deploying updates. In general, software is developed for one (or more) of 3 reasons:

    • personal use
    • to meet the perceived needs of a group of potential users
    • to create a piece requested specifically by a client
      • as a subsection of this, embedded software development is the development of software to be integrated into another product for control or reporting problems

    There are a range of ways to go about developing software, and much of it depends greatly on resources available and personal work style and tastes. However, all methods include some form of what is known as the software development lifecycle - namely, design, implementation, testing, deployment and debugging/maintenance. Problem analysis, market research and gathering resources are all equally necessary steps but they tend to occur before the actual development begins, as preparation and are therefore not really included in the lifecycle in their own right, but occasionally as a subsection of the design step.

    lifecycle showing requirement analysis, design, implementation, testing and evolution

    The lifecycle is not standardized as such; the above separates pre-design steps out and lumps deployment and maintenance under 'evolution'. [ Credit: Cliffydcw ]

    Below are some of the common approaches to software development:

    • waterfall development - highly structured approach based on engineering practices wherein steps are clearly laid out and completed in strict order, involving the big design up front idea. Progress is tracked carefully through many forms. This method is not terribly flexible and is prone to running over money and time budgets.
    • incremental development - combines a linear and iterative approach for a series of mini-waterfalls that are reassessed as the project is assembled tiny prototype by tiny prototype to achieve a final prototype of the entire system
    • rapid application development - an approach specializing in speed, RAD prioritizes requirements to release early betas and the like for user input before even a first full release in order to spend their focus tailoring the software to the desired end users' biggest demands first. 
    • slow programming - an alternative to RAD which prioritizes as bug-free a first release as possible, meaning each part undergoes significant in-house testing and debugging before being exposed to the public.
    © BrainMass Inc. brainmass.com March 19, 2024, 6:14 am ad1c9bdddf

    BrainMass Categories within Software Development

    Debugging

    Solutions: 38

    The process of finding and reducing the number of defects and unexpected behavior in a program.

    Pseudocode

    Solutions: 105

    A high-level description of what code is intended to do; like a sketch, for programmers.

    Error Detection & Correction

    Solutions: 58

    Methods of ensuring a clear digital signal goes from source to destination despite noise or bugs.

    Random Number Generation

    Solutions: 35

    True randomness is difficult to achieve; there are both physical and software-based methods of attempting it.

    Memory Management

    Solutions: 126

    A computer's memory is often managed based on a strict protocol of instructions; i.e. an algorithm.

    BrainMass Solutions Available for Instant Download

    What do you know about screen readers

    Blind and partially sighted individuals use computers with the help of screen readers. They interact with computers just like a sighted person as the screen reader provides them all the information in audio format by reading the text on the screen. In this solution you will get some basic information about screen readers, which

    Development teams proceed through the requirements phase

    In 2 to 3 paragraphs, address the following:  Describe how interface requirements development teams proceed through the requirements phase before proceeding to the logical and physical design phases.  Please use APA style to cite any references used in your research of these topics.  Describe the most innovative meth

    Analysis of Service Oriented Architecture in Software Development

    Software reuse approaches include the idea of class libraries, reusable components, application frameworks, patterns, and service oriented architecture. This write-up estimates how much of an impact systematic use of one of the approaches would have on software development in an organization.

    Qualities of Team Programming versus Solo Programming

    Some Web programming is carried out in teams. Compare the qualities needed by someone programming in a team to those required by someone working alone. What are the advantages to the business of team programming? Please include references and avoid plagiarism.

    Abstraction in Object Oriented Systems

    Many people view the four foundational elements of object-orientation as abstraction, encapsulation, inheritance, and polymorphism. There is a certain purity in being minimal. Various language designers have emphasized these four elements differently. In some object-oriented languages these four have been minimized to three. Of

    Agile Manifesto + Four Fundamental Principles

    Unit testing is the driving technology behind a software design technique termed Test Driven Development (TDD), which, in turn, is a component of the agile school of software development. In February of 2001, 17 thought leaders in object-orientation and software development got together in Snowbird, Utah, to discuss fundamental

    Datamax Program and Overtime Pay for Employees

    Your manager has asked you to create a program that calculates overtime pay for all employees. Your program must take into account an employee's salary, total hours worked, and hours worked more than 40 in a week. It must then provide an output that is useful and easily understood by company management. Compile the code outl

    How to use Microsoft Word

    1. A friend of yours has just started using Microsoft Word, and has e-mailed you requesting instructions on how to apply a first line indent to a paragraph. Create a list of instructions about how to configure a first line indent for a paragraph. 2. Modified and used the Normal style to create the research paper. List at leas

    Create an efficient, well‐documented object‐oriented application to manage all of the job offers that an upcoming graduate is getting. All offers must include the company name and the number of miles from home.

    Create an efficient, well-documented object-oriented application to manage all of the job offers that an upcoming graduate is getting. All offers must include the company name and the number of miles from home. There are three types of offers: - Part-Time employment (hours less than 40 at an hourly rate for 52 weeks), - Full-T

    Create an efficient, well-documented object-oriented application to manage a list of non-profit organizations that will continually run like a kiosk-style application. The organizations only need to track a list of volunteers and total donations.

    You are to create an efficient, well-documented object-oriented application to manage a list of non-profit organizations. The organizations only need to track a list of volunteers and total donations. The idea is to set up a kiosk-style application that will continually run, giving the user(s) the following choices: 1. Add a

    Project Management Challenges

    What do you consider to be two key challenges for software project managers? Explain your answer. (Provide references to the work and comment it + a personal conclusion to the work, length of 500 - 750 words. References do not count to the wording count)

    Agile Software Development

    1. "Agile Development" is a blanket term that covers a wide variety of software development practices many of which have been codified and documented. Select a published agile methodology (other than Scrum or XP as covered in class) and answer the following questions. a. Explain how the methodology meets the criteria in the A

    SQLite - Grouping Records and Aggregate Functions

    Please see attached file. I have to use software SQLite, database attached along with questions. 9.2 Grouping Records & Aggregate Functions Aggregate functions are used to calculate summary information. Let's assume that every product ordered from the company is supplied in a case of 12 items. An order for 50 units, fo

    ERP and SCM

    Distinguish between ERP and SCM software. In what ways do they complement each other? Discuss the need for, and ways to integrate, these products with other types of enterprise systems

    Software Installation

    A software application has been delivered to your organization that meets the company's specifications. Using associated examples, describe problems which might arise when it is installed and used in your organization.

    Reasoning About Requirements

    Comment on the following statements. Make sure to give citations for any works referenced. Statement 1 Requirement errors are the most expensive to fix when found during production but the cheapest to fix early in development. Statement 2 Missing requirements are the hardest requirements errors to correct. Statement

    Entity Relationships in Visio

    1) Read the following business requirements closely to determine the entities and relationships needed to fulfill the requirements. The nouns in the paragraph will tell you the entities that will be needed. The verbs in the paragraph will help you determine the relationships between the entities. Muscles Health Club Databas

    Location Tracking and Privacy Violation

    1. Describe two tools that people can use to protect their privacy on the web. Give one useful application of location tracking. 2. A company that supplies filtering software to school (to block access by children to websites with violence and pornography) sold statistical data about the web sites visited by school children. Th

    Computer Discrete Event Simulation

    Suppose you are playing a simple card game with three special cards: - A blue card that is blue on both sides, - A red card that is red on both sides, and - A mixed card that is blue on one side and red on the other. All the cards are placed into a hat and one is pulled at random and placed on a table. The side facing up i

    Minimalist Internet Multicast Service Model

    Which of Multicast applications in general are well-suited for the minimalist Internet multicast service model? Why? Which applications are not particularly well-suited for this service model? (Examples include: bulk data transfer, streaming continuous media,shared data application, data feeds, data feeds, web cache updating, an

    Whistleblowing Ethics in Software Engineering

    Hi! Could you help me for the question below: Which clauses in the Software Engineering Code of Ethics and Professional Practice support the legitimacy of whistle blowing? Which clauses in the Code may be violated by whistleblower, assuming the whistleblower is telling the truth?

    Ethics in IT

    1. List at least three benefits and three negative effects brought about by workplace automation. 2. A multinational corporation transfers a foreign employee to the United States on an L-1 visa. The foreign employee is a computer programmer, working alongside an American computer programmer doing the same work. Both programmers

    Microsoft Dynamics vs. SugarCRM

    Evaluate two software solutions for Customer Relationship Management to implement at your companies: Microsoft Dynamics CRM and SugarCRM. The following are some of the areas to evaluate in implementing such a solution as each offers different package levels: 1) Functionality: You are to implement modules to support Sales, Ser