Goldsmiths: Software Engineering, UML
UML The UML appeared in 1997 to eliminate the bedlam that had overtaken graphical modeling languages in the object-oriented world. Before the UML there were a host of such languages, differing in all sorts of annoying ways. Now the UML is pretty much the only game in town, which makes life much simpler for many people involved in OO software development
14 flashcards · Other · by lakesare
What does UML stand for?
Unified Modelling Language UML is an open standard, controlled by the Object Management Group, and is a unification of many pre-existing OO graphical techniques. UML is not a development method by itself;[23] however, it was designed to be compatible with the leading object-oriented software development methods of its time, for example OMT, Booch method, Objectory and especially RUP that it was originally intended to be used with when work began at Rational Software.
How can you tell if a process is truly iterative?
Each iteration must produce tested, integrated code that is of (or close to) production quality. The test is that any iteration that has not been scheduled for release, could in fact be released.
A project manager is overheard saying “This iteration’s buggy, but we’ll clean it up at the end”. What software development process is being used on this project? Explain your answer.
A waterfall process, because the manager admits the current iteration is not of production quality, contrary to the definitive test for a genuine iterative process (see above answer).
Name 3 ways in which UML can be used.
sketch - developers use the UML to help communicate some aspects of a system blueprint - is about completeness, e.g. used by senior developer who designs for a team of programmers programming language - developers draw UML diagrams that are compiled directly to executable code The line between blueprints and sketches is somewhat blurry, but the distinction, I think, rests on the fact that sketches are deliberately incomplete, highlighting important information, while blueprints intend to be com…
What is forward-engineered VS reverse-engineered UML diagram? We can use UML sketches and blueprints in forward-engineering and reverse-engineering ways.
Forward engineering - draws a UML diagram before you write code, reverse engineering - builds a UML diagram from existing code in order to help understand it.
UML2 defined 13 official diagram types. What 2 categories these diagram types are subdivided into?
behaviour diagrams - emphasize what must happen in the system being modeled Use case diagram structure diagrams - emphasize the things that must be present in the system being modeled Class diagram
What is prescriptive VS descriptive grammar?
Prescriptive grammar - describes when people focus on talking about how a language ought to be used according to some prescribed rules. Descriptive grammar - describes the language as it is used, not saying how it should be used. Programming languages tend to have prescriptive rules set by a standards committee or dominant vendor, while natural languages, such as English, tend to have descriptive rules whose meaning is set by convention. My attitude is that, for most people, the UML has descrip…
What's extreme programming?
As a type of agile software development, it advocates frequent "releases" in short development cycles, which is intended to improve productivity and introduce checkpoints at which new customer requirements can be adopted. Pair programming Test driven development Continuous integration
Name 5 phases of software development (it's vague :-))
requirements analysis, design, implementation, testing, and maintenance
What kind of diagram is this?
Use Case Diagram
What kind of diagram is this?
Class Diagram
What kind of diagram is this?
Sequence Diagram
What kind of diagram is this?
Activity Diagram
What's black box VS white box testing?
Tests can be white or black box. In a black box test, a module is checked against the specification: none of the implementation details are available to the tester. A white box test, in contrast, is carried out with knowledge of the modules and code. For example, a white box test might examine extreme loop termination conditions. A black box test will only be concerned with the public interface of the module.