II. Requirement changes are easy to accommodate because software is flexible.
III. I know what my problem is; therefore I know how to solve it.
Domain | Characteristic(s) | Example |
System Software | · Program to service other programs · Heavy interaction with computer hardware · Heavy usage by multiple user · Concurrent operation that require scheduling · Resource sharing and sophisticated process management · Complete data structures · Multiple external interfaces | · Operating Systems · Drivers · Networking Software · Telecommunications Software · Compilers |
Application Software | · Reasonably priced · Easy to use · Works accurately and according to spec · Reasonably trouble free · Adequate support for troubleshooting problems | · Point -of-Sale (POS) · Graphic software · Media players · Enterprise software · Accounting Software · Office suites |
Engineering/Scientific Software | · Require massive amount of calculations (floating points) · Uses number-crunching algorithm · Almost similar to system software characteristics | · Flight Simulator · Driving Simulators · Computer-aided design (CAD) · Battlefield simulators · Computer-aided engineering (CAE) |
Embedded Software | · Real time computing constraints · Handle a particular task in a device/system · Program instructions written are called as firmware · Small computerized parts within a larger device to serve a more general purpose | · Software to control robots movement · Portable devices such as mp3 player · Large stationary installation such as traffic light · Handheld computer device such as smartphone and PDA |
Product Line Software | · Unique composition of features · Has multiple representation | · Microsoft Word · Network protocols · Educational/reference software · Database management · Financial software |
Web Application | · Hosted in a browser controlled environment · Inherit support for cross-platform compability · Maintain and update without distributing and installing in client computers | · Uniten Online Application System · Online spreadsheet · Webmail · Contact and time management software · Online retail sales |
Artificial Intelligent Software | · Perceive its environment and takes actions that maximizes its chance of success · Highly technical and specialized | · Expert System · Pattern recognition · Virtual reality/computer vision · Robotics · Data mining |