Chapter 1 Flashcards
Software engineering is concerned with what kind of software-development?
Cost-effective
What are the attributes of a good software?
Should deliver a required functionality and performance to the user. And be maintainable, dependable, usable.
Software is
Associated documentation, libraries, support websites, configuration data, program
What are key distinctions of professional software development?
Intended for use by someone apart from its developer
Teams develop rather than individual
Maintained and changed throughout its life
What is software engineering?
Engineering discipline that is concerned with all aspects of software production. From initial conception to operation and maintenance.
Software costs are greater than
Hardware costs
Failure to use software engineering methods may lead to…
more expensive and less reliable software
“Software failure” is a consequence of what factors?
- Increasing system complexity
- Failure to use software engineering methods
Why software engineering is critisized?
Because it is considered as inadequate for modern software development
What is software?
Computer programs and associated documentation. Software products can be developed for a particular customer or for general market
What are fundamental software engineering activities?
Software specification
Software development
Software validation
Software evolution
What is the difference between software engineering and computer science?
CS focuses on theory and fundamentals. SWE is about practicalities of developing and delivering useful software.
What are the costs of software engineering?
Development costs 60%
Testing costs 40%
For custom software evolution cost exceed development costs.
For a system with a long life, which cost is usually higher?
Maintaining costs
Software costs are more about ____ than ____
Maintaining, developing
What are generic products?
Stand alone systems that are produced by a development organization and marketed and sold to any customer who wishes to buy them
What are examples of generic products?
Software for PC such as database
Apps for mobile devices
Word processors
Drawing packages
Project management tools
What are customized (or bespoke) software?
Designed and developed specifically for a particular customer. They are commissioned by them to meet their own needs.
What are the examples of customized products?
Control systems for electronic devices
Systems written to support particular business process
Air traffic control system
Product specification of generic products are defined by whom?
Software developer themselves can decide what to change and develop
The specification of customized products are owned by?
The organisation that is buying the software. Software developers must work to their specification.
How systems from SAP, Oracle work?
They are built with a generic product as a base and then can be adapted by the company to meet their requirements.
What is engineering discipline?
Using appropriate theories and methods to solve problems considering company’s organizational and financial constraints.
What are “All aspects of software production”?
Software engineering is not only about technical process of development. It also includes project management, the development of tools, methods, and theories to support software development.
What are the issues that affect many different types of software?
Heterogeneity
Business and social change
Security and trust
Scale
What is heterogeneity about?
We have to build dependable software that will be flexible to cope with running on different types of computers and mobile phones, tablets. And they have to integrate with older legacy systems written in different languages.
What is the problem with business and social change?
Engineers should be able to change their existing software and quickly develop a new one, with the change of society and evonomy.
What is the problem with security and trust?
We have to make sure that no one can attack our software and that information security is obtained.