System Design Flashcards
Abstraction
simplifying problems by removing unnecessary information or irrelevant detail
Activity Diagram
can appear quite similar to flow charts, but serve the purpose of both a flow chart and a data flow diagram in agile methodology. They show processes involved in a single use case from beginning to end
Adaptive Maintenance
changing the system to meet new needs, generally due to external factors, i.e., changing to update VAT or tax rates
Agile Development
a cyclical approach to software development involving continuous improvement, shorter development cycles, wider market windows and early customer feedback
Argument
when a parameter is given a specific value
Bespoke Software
software that is custom written and tailored for a specific task or customer, that is costly and time consuming to produce and works exactly as required
Class Diagram
says the name, attributes and methods of a class, often drawn as a hierarchy showing how features of the super class are inherited by the derived classes
Communication Diagram
these show the interaction between objects in a system
Compatibility Evaluation
looks at whether the system will work with existing system, specifically looking at whether any bus have been identified, is it reliable, and are access times to data acceptable
Computational Thinking
an idea developed by Jeanette Wing that means to think like a computer scientist
Control Abstraction
process by which programmers define new control constructs
Corrective Maintenance
fixing faults in the program, i.e. bug fixing
Data Abstraction
enforces a clear separation between the abstract properties of a data type and the concrete details of its implementation
Data Dictionary
a collection of data and attributes about data elements that are being used in a database, describing the meanings and purpose of data elements within the projects context and provides guidance on interpretation
Data Flow Diagrams
show entities, processes, data flows and data stores
Development Phase
involves production of programs, tailoring of software and modification of code. Traditionally, the system is fully specified, programmers work to the requirements specification and this is usually used on large systems developed by large teams
Direct Implementation
at a convenient time, the old system is stopped and the new one is started
Economic Feasibility
whether or not you can afford to solve a problem within the current budget
Entities
sources of data
ERD
Entity Relationship Diagram
shows how different entities relate to each other in an application or database
Environmental Feasibility
whether or not a system is environmentally acceptable
Ethical Feasibility
whether or not a system is socially and ethically acceptable to produce the system
Feasibility Study Report
describes whether the system is a feasible solution to the problem, looking at various types of feasibility
Functional Abstraction
where the implementation detail of the computational method is hidden
Gradual Changeover
one part or module of the system is changed over separately; the new part is then checked, before the next part of the system is changed, thus, it may take a long time to changeover the whole system
Implementation
involves replacing the old system with the new
Implementation Plan
explains how to backup the current system, switch over to the new system, deactivate the old system, activate the old system, migrate data from the old system to the new and disaster recovery