Midterm Study - OOS Overview Flashcards
What are the two types of software products?
Generic (word) Bespoke (custom) (one view)
How can new software be created?
- Develop new programs - Configure generic software systems - reuse existing software (build on op)
What are the attributes of good software?
The software should deliver the required functionality and performance to the user and should be maintainable, dependable, efficient and acceptable
What is software engineering?
Software engineering is an engineering discipline that is concerned with all aspects of software production, ensuring it is of high quality, affordable, maintainable, and fast to build.
What is an Object Oriented System?
It is a disciplined method for industrial development of software. It is use case driven, which centres on understanding the ways in which a system is actually used
How does object-oriented software work?
Object-oriented software is all about objects. An object is a “black box” which receives and sends messages. A black box actually contains code (sequences of computer instructions) and data (information which the instructions operates on).
What are the 4 generic activities in all software processes?
– Specification - what the system should do and its development constraints
– Development - production of the software system
– Validation - checking that the software is what the customer wants
– Evolution - changing the software in response to changing demands
What is the most common modern process model?
Agile Development
What is modularisation?
subdividing a computer program into separate sub-programs
What is decomposition?
factoring, breaking a complex problem or system into parts
What does iteration mean?
breaking down the software development of a large application into smaller chunks
What is documentation?
written text or illustration that accompanies computer software or is embedded in the code
Parallel Activities means?
Two or more tasks that can be performed simultaneously
What does the object oriented system engineering method look like?
What is abstraction?
Abstraction allows programmers and designers to separate categories and concepts from instances of implementation, so that they do not depend on software or hardware.
Abstraction is a concept that reduces the behaviour of an object to the lowest common denominator (abstract classes)
What is inheritance?
Inheritance means that methods and/or attributes defined in an object class can be inherited or reused by another object class. Often referred to as Generalization/Specialization, there is a super class (general) and sub classes (specialized) that inherit the general methods and attributes.