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.
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