Document Sample
Computers Powered By Docstoc
               Software Development

There are 5 main steps in developing software:
1. Analyze requirements
2. Design solution
3. Implement design
4. Test solution
5. Document solution
               Software Development

 Top-down design starts with the basic problem and
  breaks it down into smaller and smaller units
 Bottom-up design starts with small solutions and
  packages them together to solve larger problems
 Object-oriented design breaks the problem into objects
  with properties and methods which interact
                    Software Development

 Tools for designing solutions
   Pseudocode: using words and phrases to describe the logic of each
    step. Also uses indentation to identify control structures
   Flowcharts
      ANSI flowcharts, established in the 1960s
      UML (Unified Modeling Language) flowcharts for object-oriented design,
       adopted as a standard notation for object modeling and development
ANSI Flowchart
UML Diagram

Example for writing a new program:
   Turn on computer
   Log onto computer
          enter user id
          enter password
   Start programming software
          click on icon for Visual Studio
          save with new file name on M: drive
          start designing form
                              Software Errors

 Syntax errors: code doesn’t match the language’s
 specifications, like mis-spelling or punctuation
     Result: program won’t run
     Fix: change typing, fix punctuation
 Logic errors: the flow of logic doesn’t solve the problem
 or solves it incorrectly
     Result: incorrect results
     Fix: test thoroughly using regular data and boundary conditions
 Run-time errors: errors that cause the program to stop
 during execution
     Fix: test, test, test
                        Software Errors

 Debugging: the process of removing bugs (errors in logic
 or syntax)
    Debuggers in many languages report syntax errors immediately
    Debuggers can run the code in slow motion, so programmer can
     test values and results during the execution of the code
    Commenting out lines of code is a standard method of finding which
     line(s) are involved in the logic error
 First “bug” – a dead moth in the
 vacuum tubes, 1947
    Log book is in Smithsonian today
            Programmer Responsibilities

 Ensure the software is bug-free, solves the problem, and is
  robust – handles all situations
 Document software for users and other programmers
 Write code that is tamper-resistant (not easily hacked)
 Take credit for what you’ve done right;
  take responsibility for what you’ve done wrong and fix it

 Major problems can and have occurred, costing millions
  of dollars and even causing some deaths
 Go to
to learn more about some software disasters

 Software has positive effects in many areas of society and
 life today:
     Education – use of Internet, delivery of material, creating papers and
     Medicine – major advances in research, more intricate and detailed
      diagnostic tools, record keeping
     Finance – online shopping and banking, bill delivery and payment
     Government – much easier access to laws and programs; quicker
      access to more records in law enforcement and aid
     Communication –nearly instantaneous global connections, rapid
      delivery of data

 Computers are involved in every aspect of business and
 workplace environments:
     Payroll, Accounts Payable/Receivable, Inventory, Customer Records
     Communications – telephone, mail, e-mail
     Automation – robots, changes in manufacturing for efficiency
 Many jobs have been lost or eliminated in agriculture,
  manufacturing, business, etc.
 Many jobs have been created in the new information
  technology fields
 Society is dependent on computer technology

Shared By: