-
What is the difference between a Standalone product and a Customised product in terms of software?
Standalone - Systems that are made, marketed and sold to any customer who wishes to buy them
Customised - Systems that are made, marketed and sold to a specific customer to meet the customer's needs.
-
What is software?
Computer programs and associated documentation.
-
What are the attributes of good software?
- Should deliver the required functionality
- Should deliver the required performance
- Should be maintainable
- Should be usable
-
What is software engineering?
Software engineering is an engineering discipline that is concerned with all aspects of software production.
-
What are the fundamental software engineering activities?
- Software Specification
- Software Development
- Software Validation
- Software Evolution
-
What is the difference between software engineering and computer science?
Computer Science focuses on theory and fundamentals
Software Engineering focuses on the practicalities of developing and delivering useful software.
-
What are the key challenges facing software engineering?
- Increased diversity
- Demands for reduced delivery times
- Developing trustworthy software
-
What are the costs of software engineering? (In terms of development - testing %)
- 60% development costs
- 40% testing costs
(In custom hardware, sometimes evolution costs can exceed development costs)
-
List the four essential attributes of good software?
- Maintainability
- Dependability (Security)
- Efficiency
- Acceptability
-
Define 'Maintainability' as an essential attribute of good software.
- Software should be written in such a way so that it can evolve to meet the changing needs of customers.
- Software change is inevitable because the business environment it lies within will forever be changing.
-
Define 'Dependability (Security)' as an essential attribute of good software.
- Reliability
- Security
- Safety
-
Define 'Efficiency' as an essential attribute of good software.
Software should not make wasteful use of system resources such as memory or processor cycles.
-
Define 'Acceptability' as an essential attribute of good software.
- Software must be acceptable to the type of users for which it is designed.
- Understandable
- Usable
- Compatible
-
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 wanted.
-
What is Software Evolution?
Where the software is modified to reflect changing customer and market requirements.
-
General issues that affect most software:
What is Heterogeneity?
Where systems are required to operate as distributed systems across networks that include different types of computer and mobile devices.
-
General issues that affect most software:
How do 'business and social change' affect software?
- Business and society are changing incredibly quickly
- They both need to be able to change their existing software and to rapidly develop new software.
- Competition with other developing economies.
-
General issues that affect most software:
How do 'security and trust' affect software?
As software is intertwined with all aspects of our lives, it is essential that we can trust that software.
-
What underlying principles apply to all types of software system, irrespective of the development techniques used?
- Systems should be developed using a managed and understood development process.
- Dependability and performance are important for all types of system.
- Understanding and managing the software specification and requirements are important.
- Where appropriate, you should reuse software that has already been developed rather than write new software.
-
How is the web important in Software Engineering?
- Organisations are increasingly developing web-based systems rather than local systems.
- Cloud computing is an approach where applications run remotely on the 'cloud'.
-
What are software process descriptions?
Software Process Descriptions include the individual processes needed to create a system with optional accompanying information such as which team member will be assigned to these tasks and the outcomes of each activity.
- Examples:
- Specifying a data model
- Designing a user interface
-
What are plan-driven processes?
Plan-driven processes are processes that have all of the process activities planned in advance and progress is measured against this plan.
-
What are agile processes?
Planning is incremental and it is easier to change the process to reflect changing customer requirements.
-
Describe the Waterfall model.
- Plan-driven model.
- Separation of specification and development.
-
Describe Incremental Development
- Specification, development and validation are interleaved.
- May be plan-driven or agile.
-
What is reuse-oriented software engineering?
- The system is assembled from existing components.
- May be plan-driven or agile.
-
What are the problems with the Waterfall model?
- It is difficult to respond to changing customer requirements.
- It is harder to get user feedback on the product during development
-
Outline some benefits of Incremental development
- The cost of accommodating changing customer requirements is reduced.
- It is easier to get customer feedback during the development stages.
- More rapid delivery and deployment of useful software to customers is possible.
-
Outline the problems of Incremental Development
- The process is not visible. (There is not a lot of documentation involved due to the rapid nature of the development).
- Regular change tends to corrupt its structure. Future changes to the software quickly become difficult and costly.
-
Describe the requirements engineering process
- Feasibility study: Is the project technically or financially feasible?
- Requirements elicitation: What do the stakeholders want from the system?
- Requirements specification: Defining the requirements in detail
- Requirements validation: Checking the validity of the requirements
-
Testing methods:
What is system testing?
Testing of the system as a whole. Testing of emergent properties is particularly important.
-
Testing methods:
What is component testing?
Individual components are tested independantly.
-
Testing methods:
What is acceptance testing?
Testing with customer data to check that the system meets the customer's needs
-
What is incremental delivery?
Where parts of the system are delivered to the customer in incremental parts, rather than the final system being delivered as a whole.
-
Outline the principles behind the Data Protection Act.
Personal information should be:...
- Fairly and lawfully processed
- Processed for limited purposes
- Adequate, relevant and not excessive
- Accurate and up to date
- Not kept for longer than is necessary
- Processed in line with your rights
- Secure
- Not transferred to other countries without adequate protection
-
If information is being help about a person, what are those person's rights with regards to that data?
- Access
- Correction
- Preventing processing if distressing/damaging
- Preventing unsolicited marketing
- Preventing automated decision making
- Compensation
- Complaining
-
Define the four criminal offences that can be committed according to the computer misuse act.
- 1. Unauthorised access to computer material
- 2. [1]... with intent to commit or facilitate commission of further offences
- 3. Unauthorised acts with intent to impair operation of computer
- 4. Making, supplying or obtaining articles for [1] or [3]
-
What is a patent?
An agreement between an individual and the state to prevent anyone from making, using, selling or importing the individuals invention for up to 20 years
-
What is a trademark?
A trade mark is a symbol or sign used by a trader to distinguish his or her product or service from those of other traders.
-
What is copyright?
Unauthorises reproduction, display, distribution.
-
What is the equality act?
An act that says you are not allowed to discriminate against the disabled.
-
What is the regulation of investigatory power act?
An act which gives administrators the power to investigate personal information under the following circumstances:
- - To establish compliance with UK legislation
- - To investigate or detect unauthorised use of the organisation's facilities.
- - To secure effective system operation
- - To prevent or detect crime
- - In the interests of national security
-
What does the RIP act entitle government to do?
It can allow government to intercept an individual's communications without the individual being told.
|
|