Description:

  • Instructions (computer programs) that when executed provide desired features, function, and performance;
  • Data structures that enable the programs to adequately manipulate information.
  • Documentation that describes the operation and use of the programs.
  • Software doesnt “wear out” like hardware but it deteriorate as time go one
    • Because of changes in components and dependencies

Types of software:

  • System software (operating system)
  • Application software
  • Engineering/scientific software
  • Embedded software
  • Product-line software
  • Web/mobile application
  • AI software (robotics, neural networks, game playing,…)

Legacy software

  • Software must be adapted to meet the needs of new computing environments or technology.
  • Software must be enhanced to implement new business requirements.
  • Software must be extended to make it interoperable with other more modern systems or databases.
  • Software must be re-architected to make it viable within a network environment.

Software development process

Stakeholders:

  • Anyone who involves, benefits in a direct or indirect way from the system which is being developed
  • List of stakeholders:
    • Developer
    • Client
    • Customer: buy the software or selects it for use by an organization
    • Use: actually uses (interact with) the software