Software Development Process - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

Software Development Process

Description:

Commonly used to develop firmware for microprocessor based embedded systems. ... Documentation facilitates software maintenance. Maintenance ... – PowerPoint PPT presentation

Number of Views:219
Avg rating:3.0/5.0
Slides: 18
Provided by: davidlk2
Category:

less

Transcript and Presenter's Notes

Title: Software Development Process


1
Software Development Process
2
Computer Programs(sometimes called software)
  • Word Processor
  • Spread Sheet
  • Data Base
  • Games
  • Robotic manipulation
  • Network Management
  • Many other kinds of programs

3
Computer Programming(software development)
  • Requirements analysis
  • Specification
  • Software architecture
  • Coding
  • Compilation
  • Software testing
  • Documentation
  • Integration
  • Maintenance

4
Requirements Analysis
  • Customers almost always do not know what they
    want the software to do.
  • incomplete requirements
  • ambiguous requirements
  • contradictory requirements
  • Communication and teamwork is essential.
  • You have to know how to do the job before you can
    program a computer to do it!
  • Organizational Introspection (do we really want
    to do it the way we are doing it?)

5
Requirements Analysis
  • Communication and teamwork is essential to
    success.
  • Programmer with Customer (User)
  • Programmer with programmer
  • Programmer with hardware developer

6
Requirements Analysis
  • You have to know how to do the job before you can
    program a computer to do it!

7
Requirements Analysis
  • Organizational Introspection
  • Do we really want to the job the way it has
    always been done?
  • What opportunity for improved efficiency is made
    possible by evolving computer technology?

8
Specification
  • Precisely states WHAT the system is to do but
    does not say how it will be done.
  • There are symbolic schemes for precisely stating
    a specification (see Z Notation ). Far beyond
    the scope of this course.

9
Software Architecture
  • Will the software interface and integrate with
    hardware and other software in current use?
  • Is the software flexible enough to change as the
    needs of the customer change?

10
Coding
  • Coding is the art of translating the program
    specifications into a form useable by a computer.
  • Coding is the central subject of this course
    although coding is not necessarily the most
    important part of the software development
    process.

11
Compilation
  • Code initially is nothing more than a text file.
    This text file is not executable by itself.
  • A compiler converts the text code file into an
    executable program file.
  • Once compiled, the executable program file runs
    on its own without any further use of the
    compiler. Compiled programs have the .exe
    extension.

12
Interpretation
  • An interpreter is a computer program that reads
    the un-compiled text code file and runs it as
    though it were a compiled program.
  • Until the code is processed by a compiler into an
    executable file, an interpreter is needed to run
    the code.

13
Compilation vs Interpretation
  • It does take time to compile a program so it
    often efficient to use an interpreter to test
    small portions of the code.
  • The program will run slower under an interpreter
    than it would if complied into an executable file.

14
Assembly
  • A level away from machine programming.
  • Commonly used to develop firmware for
    microprocessor based embedded systems.
  • Involves use of mnemonics representing machine
    code.
  • An assembler is a computer program that
    automatically converts text code file into an
    executable file.

15
Testing
  • Especially important when parts of the program
    have been coded by separate individuals or teams.

16
Documentation
  • Documentation describes the internal design of
    the program. This step of software development
    is often overlooked.
  • Documentation facilitates software maintenance.

17
Maintenance
  • Could be fixing bugs that were not discovered
    during testing.
  • Most "maintenance" involves modifying the program
    to meet revised specifications.
Write a Comment
User Comments (0)
About PowerShow.com