Software Engineering: Chapter 1 (excluding 1.3)
What affects the quality of a software other than what the software does?
the software's behavior while it is executing and the structure and organization of the system programs and associated documentation.
What are the related issues that affect many different types of software?
1 - Heterogeneity of systems 2- Business and social change 3- Security and Trust 4- Scale Software
What are general attributes that you can expect in a software system?
1- Acceptability 2- Dependability and security 3- Efficiency 4- Maintainability
What are some professional responsibility standards you should consider?
1- Confidentiality 2- Competence 3- Intellectual property rights 4- Computer misuse
What are the kinds of software Products?
1- Generic products 2- Customized software
Why is software engineering important?
1- More and more, individuals and society rely on advanced software systems. We need to be able to produce reliable and trustworthy systems economically and quickly. 2- It is usually cheaper, in the long run, to use software engineering methods and techniques for professional software systems rather than just write programs as a personal programming project. Failure to use software engineering method leads to higher costs for testing, quality assurance, and long-term maintenance.
Why Software fails?
Due to: 1- Increase system complexity 2- Failure to use software engineering methods
What are the fundamental activities are common to all software processes?
1- Software specification, where customers and engineers define the software that is to be produced and the constraints on its operation. 2- Software development, where the software is designed and programmed. 3- Software validation, where the software is checked to ensure that it is what the customer requires. 4- Software evolution, where the software is modified to reflect changing customer and market requirements.
What are the common types of applications?
1- Stand-alone apps 2- Interactive transaction-based apps 3- Embedded control systems 4- Batch processing systems 5- Entertainment systems 6- Systems for modeling and simulation 7- Data collection and analysis systems 8- Systems of systems
What are customized software products?
These are systems that are commissioned by and developed for a particular customer. e.g. control systems for electronic devices, systems written to support a particular business process, and air traffic control systems.
Examples of generic software products?
apps for mobile devices software for PCs such as databases, word processors, drawing packages, and project management tools
What is the critical difference between Generic software and customized software?
in generic products, the organization that develops the software controls the software specification. For custom products, the specification is developed and controlled by the organization that is buying the software. The software developers must work to that specification.
What are generic software products?
stand-alone systems that are produced by a development organization and sold on the open market to any customer who is able to buy them