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
Behaviours
the functions of the object or what the object does in Object Orientated Programming
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
a template used to create objects of that class
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
Complexity of a Problem
taken to be the worst case complexity of the most efficient algorithm which solves the problem
Computational Complexity
a measure of how economical an algorithm is with time and space
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
Encapsulation
combining a record with the procedures and functions that manipulate it ot form a new data type, a class in Object Orientated Programming
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
Evaluation
a systematic assessment of whether something meets its objectives or specifications or how well it meets the latter in terms of effectiveness, usability and maintainability
Extreme Programming Methodology
a variant of agile methodology focused on improving software quality and responsiveness to changing customer requirements
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
Human-Computer Interaction
the study, planning and design of what happens when a computer and human work together
Implementation
involves replacing the old system with the new