Study your flashcards anywhere!

Download the official Cram app for free >

  • Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

How to study your flashcards.

Right/Left arrow keys: Navigate between flashcards.right arrow keyleft arrow key

Up/Down arrow keys: Flip the card between the front and back.down keyup key

H key: Show hint (3rd side).h key

A key: Read text to speech.a key

image

Play button

image

Play button

image

Progress

1/10

Click to flip

10 Cards in this Set

  • Front
  • Back

What is the goal ofsoftware design?

The goal ofsoftware design is to produce a model or representation that will later bebuilt. Software design is the first of three technical activities (design,implementation and test). Also allows for our software to continue its lifecycle well past its creation.

Discuss differences between requirement phase and designphase.

In therequirements phase you consider security and privacy at the foundation level.Its when you determine if development and support costs for improving securityand privacy are considered with business needs. Then design phase is when youbuild the plan for how you will take your project through the rest of theprocess from implementation to verification to release. You analyse function,design, and perform risk analysis as well to make sure all vulnerabilities withyour software are handled.

What is the purpose of datadesign?

There are four designmodels required to build the product, they are data design, architecturaldesign, interface design and component design. Data design is when youtransform the model created during analysis into the data structure that willbe required to implement the software. Use ERD and data dictionary to buildthis model

What is the objective ofarchitecture design?

The objective of architecturaldesign is to develop a modular program structure and represent the controlrelationships between modules, DFDs are used to make this model.

List four designfundamentals and briefly describe each one.

1. Abstraction - the levels of detail/language used todescribe a problem2.Modularity - Software is divided into separately named components (modules).The benefit of this is reduction of complexity and easier implementation. 3.Information Hiding - Segregation of design decisions that are likely tochange. The result is higher quality software, reduces likelihood of sideeffects.4. Control Hierarchy - Also called program structure,the organization of modules that implies a hierarchy of control. It doesn'trepresent procedural aspects of software

What is the purpose of asequence and collaboration diagrams?

A sequencediagram is a type of behavioral representation, called a sequence diagram inUML. It indicates how events cause transitions from object to object. Arepresentation of how events cause flow from one object to another as afunction of time.A collaboration diagram is a diagram, it focuses on the organization of theobjects that participate in a given set of messages. They show objects andmessages, but they don't show lifelines or focus of control rectangles. Acollaboration diagram is how the objects collaborate to achieve a function oruse case, but there is no timeline. It is one of the least used UML diagram. Asequence diagram covers what the collaboration diagram covers and goes beyond.

Briefly describe componentlevel design?

Componentdesign happens after data and program structure have been established, itbecomes necessary to specify procedural detail without ambiguity, it does thiswith flow-charts.

Differentiate between vertical partitioning and horizontal partitioning.

Vertical partitioning says that top level should perform controlfunction and do little of the processing work. Lower level modules perform alltypes of input and output. So changes in the low level modules are less likelyto cause side effects. Horizontal partitioning defines the separate branchesfor each major program function. This will reduce module size and provide morereusable modules as well as simplify implementation. Basically horizontalpartitioning is when system is divided into smaller components. The systemconsists of smaller components and the system is decomposed horizontally. Makesure components are unique and without redundancy and to make sure there is nounintentional redundancy. It is easier to test the system if it divided intosmaller components. Vertical partitioning is when you have a system with onemajor component and various subcomponents. Divide the system vertically basedon what each component is. The main unit is on top, the one that controls therest of the components. It is based on the function and role of the components.The more on top it is the more important role it has in the system.

List at least four selection criteria used to select classes

To identify a class an object must appear as a noun or disguised as averb. A method appears as a verb or is disgusted as a noun. Attributes describesome kind of characteristics of an object. To evaluate candidate cases lookthat they have one or more attributes, needed service and functionality, thereare common attributes and common operations

What is a class? -briefly describe aggregation, composition, andgeneralization.

A class is ablueprint, a generalized description. A metaclass is a collection of classes. A class is a description of a set of objectsthat share the same attributes, operations, relationships and semantics. Anobject is an instance of a class. 1. Aggregation - special form of associationthat models a whole-part relationship between aggregates(the wholes) and itsparts. The aggregate object may potentially exist without its constituentobjects. ex) a forest is an aggregate of trees2. Composition - common structure in softwaresystems, because many composite objects appear in real life. ex) a dog is acomposite of a head, tail, and 4 legs 3. Generalization - a relationship amongclasses where one class shares the structure and/or behavior of one or moreclasses. A subclass inherits from one or more superclasses.