How is a Program Developed?

  • starts with an idea
  • developed with a specific purpose in mind
  • developers follow specific steps and stick to plan
  • sometimes development is more exploratory than anything, and steps are dictated by what happens (both good & bad)

    Developers start investigating the problem/purpose and reflect

  • Investigation - important step in process
  • Developers must determine requirements of program, understand constraints, and understand user concerns & interests

    How developers investigate

  • surveys
  • user testing
  • interviews
  • direct observations After initial investigation & reflection,developers design program by:
  • brainstorming (draw on investigation)
  • storyboarding program
  • planning user experience
  • laying out user interface
  • organizing into modules
  • develop testing strategy Developers decide on program requirements that:
  • describe how a program should behave
  • include a list of user interactions Developers create prototype of program (or components):
  • an incremental process is frequently used so developers can refine small parts(modules) of program

    We test the program

  • testing occurs at micro level & macro level
  • Developers refine & revise thru testing, feedback, & reflection
  • Program development is rarely a solo endeavor
  • programs are usually developed by teams of people
  • individuals/teams work on different functional components
  • Each member of project deserves to receive credit for their work
  • Names must be written in documentation of program including contributions to project

    Why documentation is an important place to give credit

  • Many projects use comments within programming language to give credit
  • documentation is the important part of development of program
  • When developers find an error in a program, they need to be able to determine who can/should fix the problem
  • This may be most useful after a program is completed, & users find additional bugs Many times developers use code segments, procedures, algorithms, & more that are written by others
  • These other individuals are not necessarily a part of the project, but they still deserve to be credited
  • This is similar to quoting someone in a research paper or article
  • Any code segments, procedures, algorithms are considered intellectual property of the author
  • The program documentation should include the author’s name and the source of any code segments being used
  • This protion of the documentation may resemble a bibliography or a works cited page in a research paper

    How do programmers document while programming?

  • Most programming languages offer a commenting feature, although some do not
  • commenting allows programmers to write text within the program
  • this text doesn’t affect the program
  • comments are for programmers to read
  • this is a form of documentation and can be useful when programmers collaborate or work individually