Test 1 Flashcards
comes into play as the standard notation used in industry for software documentation.
The Unified Modeling Language (UML)
These days, new software is usually:
object- oriented
the software is written using an abstraction called an:
object
Programming using binary numbers:
Machine code
Programming using alphanumeric symbols, or mnemonics, as short hand for machine code:
Assembly language
Assembly language is translated into machine code by a program called an:
assembler
Programming using languages (such as Fortran and COBOL) that have high- level constructs such as types, functions, loops and branches:
High-level languages
High-level languages ( and later generations of programming languages) are translated into machine code using a program called a:
compiler
Programming using cleaner high- level languages (such as Pascal Modula and Ada) that are characterized by fewer pitfalls for the programmer and more discipline in the way a program is broken down into sub-tasks and sub- systems:
Structured programming
Programming using independent modules of data and functions that correspond to concepts in the problem domain, such as Customer or ScrollBar. This modularity leads to even fewer pitfalls for the programmer and encourages the reuse of code across separate programs:
Object-oriented programming
is a description of the steps a development team should go through in order to produce a high-quality system. Also describes what should be produced ( documents diagrams, code, etc.) and what form the products should take (for example, content, icons, coding style)
methodology
Better suited to an object oriented programming style. Included Booch method:
Leading market of methodologies. Owned by IBM
So called ‘agile’ methodology, which means responsive to changes in software requirements or changes in our understanding of the problem
Object oriented methodologies
Rational unified process
Extreme programming
The methodology used in this book, __________ is a simplified one based on widely accepted theory and practice. As a result, you won’t have to learn the complexities of a full industrial methodology. Nor will you be told exactly what to do at each stagewhich will allow you to be more creative as you learn
Ripple
The notation used for illustrations , wherever possible, is the. This has become the accepted standard for software diagrams. presentation conventions mean that some lines are thicker than others and that some characters are in bold or italics. Some of these conventions are difficult to accomplish when drawing by hand:
Unified Modeling Language (UML)
What are some justifications typically given for object orientation?
Objects are easier for people to understand
Specialist can communicate better
Data and processes are not artificially separated
Code can be reused more easily
Object orientation is mature and well proven
Typically, the first rung is fixing faults ( bugs) in the code written by others:
The second rung is writing the code itself:
The third is deciding what code needs to be written:
Finally comes the role of talking to customers to discover what they need and then writing down a specification of what the finished system must be able to do.
programmer
senior programmer
designer
analyst
What is an object?
An object is a thing, an entity, a noun, something you can pick up or kick, anything you can imagine that has its own identity. Some objects are living and some aren’t
All objects have attributes: for example:
Objects also have behavior: for example:
a car has a manufacturer, a model number, a color and a pricea dog has a breed, an age, a color and a favorite toy.
a car can move from one place to another and a dog can bark
each object has certain knowledge , in the form of attributes, and it knows how to perform certain ____________ for the benefit of the rest of the program.
operations
the assignment of human characteristics to inanimate objects or animals. It’s common in object- oriented development , imagining software objects as little people.
anthropomorphism
Before we go any further, it’s important to note that we’re not trying to __________ the real world, that would be far too difficult we’re simply trying to make sure that our software is influenced by real-world concepts, so that it is easier to produce and easier to change.
simulate
is a representation of a problem domain or a proposed solution that allows us to talk, or reason, about the real thing . This allows us to increase our understanding and avoid potential pitfalls:
model
______________ refers to an object hiding its attributes behind its operations (it seals the attributes in a capsule, with operations on the edge)Hidden attributes are said to be _________.
Encapsulation
private
What are some differences between association and aggregation?
Association is a weak form of connection
Aggregation means putting objects together to make bigger objects