Software Engineering 19

Ace your homework & exams now with Quizwiz!

Identify the qualitative criteria that assess the functional independence of a module:

- A module should be highly cohesive with low coupling rate.

How are early design approaches different from newer ones?

- The former concentrated on the development of modular programs, whereas the latter proposed an object-oriented approach to design derivation.

It shows the model structure and how its components work together.

It shows 2

Architecture

a manner in which various components are integrated to form a cohesive whole.

Identify McGlaughlin's characteristics for the evaluation of a good design:

- A design should implement all the explicit requirements contained in the requirements model. - A design should be a readable, understandable guide for those who generate code and for those who test it. - A design should address the data, functional, and behavioral domains.

Identify the true statements about a cohesive module:

- It performs a single task - It indicates the relative functional strength of a module

Literature Metaphor;

It supports stakeholders' concern to reuse components or designs.

Identify the characteristics that are common to all design methods:

- A notation for representing functional components and their interfaces. - Heuristics for refinement and partitioning - A mechanism for the translation of the requirements model into a design representation.

What is combined by diversification and convergence:

- A process of iteration that ultimately leads to a final design representation. - A set of criteria that enables quality to be judged. - A set of principles that guide a way in which the model evolves.

Identify a unified modeling language (UML) diagram that is used to represent processing logic:

- Activity diagram

Identify the elements that a usable design incorporates:

- Aesthetic elements - Technical elements - Ergonomic elements

Identify the type of language developed to represent the structural model, framework model, dynamic model, process model, and functional model:

- Architectural description language

How is functional independence achieved?

- By designing each module of software that addresses a specific subset of requirements. - By designing software that has a simple interface when viewed from other parts of program structure. - By designing modules with "single-minded" function

What are the benefits of modularizing a design?

- Changes are more easily accommodated - Long-term maintenance is conducted without any side effects. - Testing and debugging are conducted more efficiently.

Identify the models that serve as the basis for component design:

- Class-based models - Behavioral models

Identify the characteristics of a well-formed design class:

- Complete and Sufficient - Primitiveness

Match the data structures in software design with their appropriate functions: - Component level - Application level - Business level

- Component level: This level focuses on the design of data structures and the associated algorithms required to manipulate them. -Application level: This level focuses on the translation of a data model into a database - Business level: This level focuses on the collection of information stored in disparate databases and data warehouses that enables data mining or knowledge discovery.

The _________________ design for software fully describes the internal details of each software component.

- Component-level

Identify the four design models required for a complete specification of design:

- Component-level design model - Interface design model - Architectural design model - Data/Class design model

Identify the major elements of a design model:

- Data - Components - Architecture - Interfaces

Match the designs with their functions: - Data/class design - Architectural design - Component-level design - Interface design

- Data/class design: It transforms class models into design class realizations and the requisite data structures required to implement the software. - Architectural design: It defines the relationship between major structural elements of the software, the architectural style, and patterns. - Component-level design: It transforms structural elements of the software architecture into a procedural description of software components. - Interface design: It describes how the software communicates with systems that interoperate with it, and with humans who use it.

Identify the properties that address how the design architecture achieves requirements for performance, capacity, reliability, security, and adaptability:

- Extra-functional properties

What are the advantages of software design?

- It accurately translates a stakeholder's requirements into a finished software product or system. - It serves as the foundation for all software support activities. - It provides representations of software that can be assessed for quality.

Identify the purpose of a step-wise refinement:

- It allows you to create a complete design model as the design evolves. - It helps to reveal low-level details as design progresses.

Identify the true statements about information hiding:

- It enforces access constraints to any local data structure used by the module. - Inadvertent errors introduced during modification are less likely to propagate to other locations within the software. - It enforces access constraints to procedural detail within a module.

Identify the true statements of coupling:

- It indicates the relative interdependence among modules - It depends on the interface complexity between modules

Which of the following are true coupling? - It eliminates the interaction among components in other parts of a program. - It is easier to understand software with simple connectivity. - It is independent of the interface complexity between modules - It is an indication of the relative interdependence among modules.

- It is easier to understand software with simple connectivity. - It is an indication of the relative interdependence among modules

What are the advantages of software design:

- It provides representations of software that can be assessed for quality. - It serves as the foundation for all software support activities. - It accurately translates a stakeholder's requirements into a finished software product or system.

In a design model, identify the sources of the architectural model:

- Specific requirements model elements such as use cases or analysis classes, their relationships, and collaborations for the problem at hand - Information about the application domain for the software to be built - The availability of architectural styles and patterns.

What does "M" in the modularity and software cost graph refer to?

- The number of modules that would result in minimum development cost

What are the consequences of developing a system without software design:

- The system is difficult to test - The system will fail when small changes are made - The system's quality cannot be assessed until late in the software process.

Identify the advantages of using refactoring tools:

- They generate a test suite suitable for detecting behavioral changes. - They analyze the changes automatically

Identify the disadvantages of software design methodologies when compared to classical engineering design disciplines:

- They lack flexibility - They lack depth - They lack the quantitative nature of other design disciplines.

Identify the true statements about external interfaces:

- They should incorporate error checking and appropriate security features. - Information should be collected during requirements engineering. - The require definitive information about the entity to which information is sent or received.

Identify the objectives of design patterns:

- To determine whether the pattern can be reused. - To determine whether the pattern is applicable to the current work. - To determine whether the pattern serves as a guide for developing a similar, but functionally or structurally different, pattern.

Identify the elements of an interface design:

- User interface - External interface - Internal interface

The ____________ dimension represents the level of detail as each element of the analysis model is transformed into a design equivalent and then refined iteratively.

- abstraction

A(n) __________ element is depicted as a set of interconnected subsystems, often derived from analysis packages within the requirements model.

- architectural design

_______________ is a qualitative indication of the degree to which a module focuses on just one thing.

- cohesion

A(n) ___________ design class has a small, focused set of responsibilities and single-mindedly applies attributes and methods to implement those responsibilities.

- cohesive

____________ is a qualitative indication of the degree to which a module is connected to other modules and to the outside world.

- coupling

A(n) ____________ ________________ refers to a named collection of data that describes a data object.

- data abstraction

A model of data and/or information that is represented at a high level of abstraction (the customer or user's view of data) is created using __________ or ____________

- data architecting - data design

According to Brad Appleton, a(n) __________ ______________ is defined as a named nugget of insight which conveys the essence of a proven solution to a recurring problem within a certain context amidst competing concerns.

- design pattern

A _________________ strategy makes it easier to solve a complex problem by breaking it into manageable pieces.

- divide-and-conquer

______________ elements of usability design include information layout and placement, metaphors, and user interface navigation.

- ergonomic

Identify a design concept in which modules should be specified and designed so that information contained within a module is inaccessible to other modules that need no such information:

- information hiding

A(n) _______________ design element for software depicts information flow into and out of a system and how it is communicated among the components defined as part of the architecture.

- interface

In an interface design phrase, the design of _____________ interfaces is aligned with component-level design.

- internal

___________ is the single attribute of software that allows a program to be intellectually manageable.

- modularity

______________ are separately named and addressable components of software that are integrated to satisfy problem requirements.

- modules

A(n) _____________ _________________ refers to a sequence of instructions that have a specific and limited function.

- procedural abstraction

The __________ dimension of a design model indicates the evolution of the design model as design tasks are executed as part of the software process.

- process

_________________ is the process of changing a software system in a way that it does not alter the external behavior of the code yet improves its internal structure.

- refactoring

A(n) _______________ component refers to a module that performs many unrelated functions.

- schizophrenic

Identify a design concept that suggests that any complex problem can be more easily handled if it is subdivided into pieces that can each be solved and/or optimized independently:

- separation of concerns

____________ refers to the overall structure of the software and the ways in which that structure provides conceptual integrity for a system.

- software architecture

_______________ refinement is a top-down design strategy originally proposed by Niklaus Wirth.

- stepwise

_____________ properties define the components of a system and the manner in which those components are packaged and interact with one another.

- structural

3) divide-and-conquer

A _____ strategy makes it easier to solve a complex problem by breaking it into manageable pieces. 1) Verification-and-validation 2) trial-and-error 3) divide-and-conquer 4) thread-based

Who does it do? 3

A software engineer designs both data and architecture. A database designer creates the data architecture. A system architecture ensures proper selection of system requirements.

Software Architecture enables 3

Analyze design effectiveness to meet stated requirements, Consider architectural alternatives when making design changes; and, Reduce risks associated with software construction.

What is Architectural Design?

Architectural design represents the data structure and program components required to build a system.

What is the assurance?

At each development stage, software design must be reviewed for: clarity, correctness, completeness and consistency with the given requirements.

transfer explicit information from architects to designers.

Blueprint Metaphor; Developers regard "descriptions" as a means to

designers to software engineers charged to create system components.

Blueprint Metaphor; It also regards transfer of information from

to implement systems.

Blueprint Metaphor;It is the most familiar to the stakeholders who write programs

What are the steps? 4

Data Designing Architectural Structure derivation Customer requirements & quality attributes Architectural design is applied

sequence of tasks and structure of the software development team.

Decision Metaphor; It may effect

usability, maintainability and performance.

Decision Metaphor; It represents architecture as the product of decisions involving trade-offs among properties such 3

allocating project resources and work tasks.

Decision Metaphor; Stakeholders view it as basis of

properties

Decision Metaphor; The ____ could have significant impact on the system design itself.

Blueprint Metaphor

Developers regard "descriptions" as a means to transfer explicit information from architects to designers.

True/False: A good design should implement all the implicit requirements contained in the requirements model and must accommodate all the explicit requirements desired by stakeholders.

False

True/False: According to the guidelines used to evaluate the quality of a design representation, a design should lead to components that exhibit dependent functional characteristics.

False

True/False: The interface design elements allow the software to communicate internally and enable external communication and collaboration among the components that populate the software architecture.

False

Blueprint Metaphor

It also regards transfer of information from designers to software engineers charged to create system components.

Software Architecture

It contains the details of the design. It is not the operational software itself. It is an overall structure of a system, which comprises software components, properties and relationships among them.

all the software engineering work.

It highlights early design decision with profound impact in

different views on the system itself

It is a set of work products that reflect

Blueprint Metaphor

It is the most familiar to the stakeholders who write programs to implement systems.

Literature Metaphor 3

It is used to document architectural solutions constructed in the past. It supports construction of artifacts and transfer of knowledge between designers and maintenance staff. It supports stakeholders' concern to reuse components or designs.

stakeholders

It provides representation that facilitates communication to

Decision Metaphor 4

It represents architecture as the product of decisions involving trade-offs among properties such as cost, usability, maintainability and performance. The properties could have significant impact on the system design itself. Stakeholders view it as basis of allocating project resources and work tasks. It may effect sequence of tasks and structure of the software development team.

Language Metaphor 4

It views architecture as facilitators of communication to the stakeholders. This view is preferred by stakeholders with high customer focus (managers or experts). Its description needs to be concise and easy to understand since it forms a basis for determining system boundaries.

Language Metaphor; for determining system boundaries.

Its description needs to be concise and easy to understand since it forms a basis

architecture, facilitators

Language Metaphor; It views _________ as ______ of communication to the stakeholders

high customer focus (managers or experts).

Language Metaphor; This view is preferred by stakeholders with

architectural solutions constructed in the past.

Literature Metaphor; It is used to document

artifacts and transfer of knowledge between designers and maintenance staff.

Literature Metaphor; It supports construction of

Establish a conceptual framework and vocabulary for use during the design of software architecture. Provide detailed guidelines for representing an architectural description. Encourage sound architectural design practices.

Recommended Practice for Architectural Description 3

What is the work product? 2

The architectural model is created during the architectural design. The component properties and relationships (interaction) are described here.

The component properties are necessary to understand the relationship on how they interact

The component properties are necessary to understand the

part of architecture are the root of every design.

The elements and structures that are defined as

Software design is the last software engineering action within the modeling activity that sets the stage for the ___________ phase.

construction

Why is it important?

it provides a blueprint/layout that ensure you are doing the system right.

Blueprint Metaphor Language Metaphor Decision Metaphor Literature Metaphor

metaphors 4

A software component 4

program module, object- oriented class, databases, network configuration "middleware".

The ____________ manifested by scenario-based, class-based, and behavioral elements, feed the design task.

requirements model

The architectural design representation, which is the framework of a computer-based system, is derived from the ___________.

requirements model


Related study sets

ECO 3041 FSU Calhoun Final Exam Review (all exam questions)

View Set

FAR CHP 13 Leases and Contingencies

View Set

Chapter 16- Gene Regulation in Prokaryotes

View Set

Science The Electromagnetic Spectrum Quizlet Grade 8 Module L Emily Walz

View Set