- Stand-alone systems that are marketed and sold to any customer who wishes to buy them.
Examples – PC software such as graphics programs, project management tools; CAD software; software for specific markets such as appointments systems for dentists.
- Software that is commissioned by a specific customer to meet their own needs.
Examples – embedded control systems, air traffic control software, traffic monitoring systems.
The specification of what the software should do is owned by the software developer and decisions on software change are made by the developer.
The specification of what the software should do is owned by the customer for the software and they make decisions on software changes that are required.
- Maintainability
Software should be written in such a way so that it can evolve to meet the changing needs of customers. This is a critical attribute because software change is an inevitable requirement of a changing business environment.
ซอฟต์แวร์ควรได้รับการเขียนในลักษณะเพื่อให้สามารถพัฒนาเพื่อตอบสนองความต้องการที่เปลี่ยนแปลงไปของลูกค้า นี่เป็นคุณลักษณะที่สำคัญเนื่องจากการเปลี่ยนแปลงซอฟต์แวร์เป็นข้อกำหนดที่หลีกเลี่ยงไม่ได้ ในสภาพแวดล้อมทางธุรกิจที่เปลี่ยนแปลงไป
- Dependability and security
Software dependability includes a range of characteristics including reliability, security and safety. Dependable software should not cause physical or economic damage in the event of system failure. Malicious users should not be able to access or damage the system.
ความน่าเชื่อถือของซอฟต์แวร์ประกอบด้วยลักษณะเฉพาะหลายอย่าง นับตั้งแต่ ความน่าเชื่อถือ ความมั่นคง และความปลอดภัย ซอฟต์แวร์ที่น่าเชื่อถือไม่ควรทำให้เกิดความเสียหายไม่ว่าจะเป็นทางกายภาพหรือทางเศรษฐกิจ ถึงแม้ระบบจะล้มเหลวก็ตาม ผู้ใช้ที่เป็นอันตรายไม่ควรสามารถเข้าถึงหรือทำลายระบบได้
- Efficiency
Software should not make wasteful use of system resources such as memory and processor cycles. Efficiency therefore includes responsiveness, processing time, memory utilisation, etc.
ซอฟต์แวร์ไม่ควรใช้ทรัพยากรระบบอย่างสิ้นเปลือง ไม่ว่าจะเป็นหน่วยความจำหรือโปรเซสเซอร์ ประสิทธิภาพรวมถึงเวลาในการตอบสนอง เวลาการประมวลผล การใช้หน่วยความจำ ฯลฯ
- Acceptability
Software must be acceptable to the type of users for which it is designed. This means that it must be understandable, usable and compatible with other systems that they use.
ซอฟต์แวร์ต้องเป็นที่ยอมรับจากผู้ใช้ประเภทต่าง ๆ ที่ออกแบบไว้ ซึ่งหมายความว่าต้องเข้าใจง่าย ใช้งานได้และสามารถทำงานร่วมกับระบบอื่น ๆ ที่ใช้ได้