Introduction & Software Process Models Flashcards
What is Software Engineering?
Software Engineering is an engineering disipline that is concerned with all aspects of software production from initial conception to operation and maintenance.
What are the key challenges facing software engineering?
Coping with increasing diversity, demands for reduced delivery times and developing trustworthy software.
What are the best software engineering techniques and methods?
Different techniques are appropriate for different types of systems. There are no methods and techniques that are good for everything.
What are the costs of software engineering?
Roughly 60% of software costs are development costs, 40% are testing costs.
What is the difference between software engineering and computer science?
Computer science focuses on theory and fundamentals; software engineering is concerned with the practicalities of developing and delivering useful software.
Is software engineering intended to support individual programming?
Not really. Software engineering is intended to support professional software development. It includes techniques that support program specification, design and evolution.
Is software just another word for computer programs, or is it more than that?
Software is not just the programs themselves, but also all associated documentation, libraries, support websites and configuration data that are needed to make these programs useful.
What are the two kinds of software product?
Generic products - standalone systems that are produced by a development organisation and sold on the open market to any customer who is able to buy them.
Customized (or bespoke) software - systems that are commissioned by and developed for a particular customer.
Why is the distinction between generic products and customized software becoming increasingly blurred?
More and more systems are built with a generic product as a base, which is then adapted to suit the requirements of a customer.
What is a software process?
A sequence of activities that leads to the production of a software product.
What are the four fundamental activities that are common to all software processes?
Software specification, software development, software validation, software evolution.
What is software specification?
Where customers and engineers define the software that is to be produced and the constraints on its operation.
What is software development?
Where the software is designed and programmed.
What is software validation?
Where the software is checked to ensure that it is what the customer requires.
What is software evaluation?
Where the software is modified to reflect changing customer and market requirements.