Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
50 Cards in this Set
- Front
- Back
Generic Products |
Stand alone systems that are produced by a development organization and sold on the open market. Examples: PC's, word processors, drawing packages, and project-management tools. |
|
Customized Products |
Systems that are commissioned by a particular customer. A software contractor develops the software especially for that customer. Examples: Control systems for electronic devices, systems written to support a particular business process, and air traffic control systems. |
|
Engineering Discipline |
Engineers make things work by applying theories, methods, and tools where they are appropriate. They also try to find solutions when there is no applicable theory or method. |
|
Aspects of software production |
Technical processes and activities such as project management and the development of tools, methods, and theories to support software production. |
|
General Issues with different types of Software |
Heterogeneity, Business/Social Change, and Security/Trust |
|
Heterogeneity |
Integrating new software with older legacy systems written in different programming languages. Challenge is to develop techniques for building dependable software that is flexible enough to cope with this heterogeneity. |
|
Business and Social Change |
Business and society are changing incredibly quickly as emerging economies develop and new technologies become available. |
|
Security and Trust |
As software is intertwined with all aspects of our lives, it is essential that we can trust that software. We have to make sure that malicious users cannot attack our software and that information security is maintained. |
|
Software Engineering Diversity |
Deciding which software engineering methods and techniques to use depending on the application being developed. |
|
Stand-alone Applications |
These are application systems that run on a local computer, such as a PC. They include all necessary functionality and do not need to be connected to a network. Examples: Office applications on a PC, photo manipulation software, word processor, etc. |
|
Interactive transaction-based Applications |
Applications that execute on a remote computer and that are accessed by users from their own PCs or terminals. Examples: e-commerce applications where users use a remote system to buy and sell goods and services, cloud based services, etc. |
|
Embedded Control Systems |
Software control systems that control and manage hardware devices. Examples: software in a mobile cellphone, software in a microwave to control cooking process, software that controls anti-locking brakes in a car. |
|
Batch processing systems |
Business systems designed to process data in large batches. They process large numbers of individual inputs to create corresponding outputs. Examples: periodic billing systems, such as phone billing systems and salary payment systems. |
|
Entertainment systems |
Systems that are primarily for personal use and which are intended to entertain the user. Examples: games for N64 or Gamecube |
|
Systems for modeling and simulation |
Systems designed by scientists and engineers to model physical processes or situations. |
|
Data collection systems |
Systems that collect data from their environment using a set of sensors and send that data to other systems for processing. |
|
System of Systems |
Systems that are composed of a number of other software systems. Could be a generic product, such as a spreadsheet program. |
|
Software Engineering Ethics |
Confidentiality, Competence, Intellectual property rights, and Computer misuse. |
|
Confidentiality |
You should normally respect the confidentiality of your employer or clients regardless if you have not signed a formal confidentiality agreement. |
|
Competence |
The ability to do something successfully. You should not misrepresent your level of competence. You should not knowingly accept work outside of your competence. |
|
Intellectual property rights |
You should be aware of local laws governing the use of intellectual property such as patents and copyright. You should be careful to ensure that the intellectual property of employers and clients is protected. |
|
Computer misuse |
You should not use your technical skills to misuse other people's computers. Computer misuses range from relatively trivial (game playing on an employers computer) to extremely serious (dissemination of viruses or other malware). |
|
Software specification |
The functionality of the software and its constraints on its operations must be defined. |
|
Software design and implementation |
The software to meet the specification must be produced. |
|
Software validation |
The software must be validated to ensure that it does what the customer wants. |
|
Software evolution |
The software must evolve to meet changing customer needs. |
|
Waterfall Model |
Incremental stages of Requirements Definition, System & Software Design, Implementation & Unit Testing, Integration & System Testing, and Operation & Maintenance. If you need to go back, you start back from the beginning. |
|
Waterfall Model Diagram |
|
|
Incremental Development |
This system develops as a series of increments, with each version adding functionality to the previous version. |
|
Incremental Development Diagram |
|
|
Reuse-oriented software engineering |
System is based on the existence of a significant number of re-usable components. The system development process focuses on integrating these components into a system rather than developing them from scratch. |
|
4 main activities in the requirements engineering process |
Feasibility Study, Requirements elicitation & Analysis, Requirements Specification, and Requirements Validation. |
|
Feasibility Study |
An estimate is made of whether the identified user needs may be satisfied using current software and hardware technologies. The study considers whether the proposed system will be cost-effective from a business point of view and if it can be developed within the budget. |
|
Requirements elicitation and analysis |
This is the process of deriving the systems requirements through observation of existing systems, discussions with potential users, task analysis, and so on. |
|
Requirements Specification |
The activity of translating the information the information gathered during the analysis into a document that defines a set of requirements. Two types of requirements, User & System. |
|
Requirements validation |
This activity checks the requirements for for realism, consistency, and completeness. Errors will be discovered and corrected. |
|
Architectural Design |
You identify the overall structure of the system, the principal components their relationships, and how they are distributed. |
|
Interface Design |
You define the interfaces between system components. This specification has to be unambiguous so that a component can be used without other components having to know how it is implemented. |
|
Component Design |
You take each system component and design how it will operate. |
|
Database Design |
You design the system of data structures and how these are to be represented in a database. Work here is based on whether an existing database is to be reused or a new database is to be created. |
|
Stages in the Testing Process |
Developmental Testing, System Testing, and Acceptance Testing. |
|
Developmental Testing |
The components making up the system are tested by the people developing the system. Each component is tested independently. |
|
System Testing |
System components are integrated to create a complete system. This process is concerned with finding errors that result from unanticipated interactions between components and component interface problems. |
|
Acceptance Testing |
Final stage in testing process before the system is accepted for operational use. The system is tested with data supplied by the system customer rather than with simulated data. |
|
Boehm's Spiral Model |
|
|
4 Sectors of Boehm's Spiral Model |
Objective setting, Risk assessment & reduction, Developmental & validation, and Planning. |
|
Objective Setting |
Specific objectives for that phase of the project are defined. Constraints on the process and the product are identified and a detailed management plan is drawn up. |
|
Risk assessment and reduction |
For each of the identified project risks, a detailed analysis is carried out. Steps are taken to reduce the risk. |
|
Developmental and validation |
After risk evaluation, a developmental model for the system is chosen. |
|
Planning |
The project is reviewed and a decision is made whether to continue with a further loop of the spiral. If it is decided to continue, plans are drawn up for the next phase of the project. |