1/40
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What does Incremental Development entail?
A software development process where the software is developed in small increments or parts.
What is Agile Development?
A methodology that promotes continuous iteration of development and testing throughout the software development lifecycle.
What is software?
Computer programs and associated documentation. Products are developed for a market
What are the attributes of a good software?
Good software should deliver the required functionality and performance to the user and should be maintainable, dependable and usable
What are the fundamental software engineering activities?
Software specification, software development, software validation and software evolution
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
What is the difference between software engineering and system engineering?
System engineering: computer-based systems which are hardware, software and process engineering.
Software engineering: part of the more general process
What are the key challenges facing software engineering?
Coping with increasing diversity, demands for reduced delivery times and developing trustworthy software
What are the costs of software engineering?
Roughly 60% of software costs are development costs. 40% for testing costs
Why do projects fail?
Not having a good understanding of the requirements & poor communication
Maintainability
The ease with which software can be modified to correct defects, improve performance, or adapt to a changed environment.
Dependability and security
Reliability, security and safety of software systems, ensuring they operate correctly and protect against threats.
Efficiency
Software not wasteful of system resources. Responsiveness, processing time, memory utilisation
Acceptability
Software must be understandable, usable and compatible with other systems
Components of Software Engineering
Processes: Framework for task
Tools: Tools to make development easier and more efficient.
Notations: UML Diagrams
Product: Software product or system built and put into operation