Info43

Réussis tes devoirs et examens dès maintenant avec Quizwiz!

Architecture style - Pipe and filter style

- break down work with it, repeat

What does the requirements phase consist of?

Analysis and specification

Recognition rather than recall

Auto complete

Requirements Specification

documenting analysis

Black Box testing

-

Boundary Value Analysis

-

Control Flow graph

-

Equivalence Class Partitioning

-

Statement coverage vs branch coverage

-

White Box testing

-

In a UML class diagram, what does a multiplicity value indicate? - How many associations a particular class can have - How many operations a class must have - How many instances/objects of that class can participate in the association -How many attributes a class must have

- How many instances/objects of that class can participate in the association

Which of the following statement is NOT CORRECT? - Architectural erosion happens when the software is not grown as it was prescribed. - Not all design decisions should be considered as part of software architecture. - Software Architecture consists of components and connectors, which can be arranged into configuration - Mixing different styles in software architecture is inappropriate. Architects should always stick to one single architectural style.

- Mixing different styles in software architecture is inappropriate. Architects should always stick to one single architectural style.

Architecture style - Client Server Style

-1 server, many clients (wii)

Architecture style - Layered Style

-Domino effect 1 to 2 to 3 to 4 ...

Separation of Concerns: (2)

Modularity and Abstraction

Business

Money

UML class diagram the top compartment = Attributes Subclasses Operations Name Superclass

Name

consistency and standards

A magnifying glass icon

In user-centered design, a persona is:

A profile of a fictional potential user that helps you make user-centered decisions during development

Application Context

Where software lives

Briefly describe the software-engineering principle of "rigor and formality" and give an example of a software-engineering task or concept that demonstrates this principle.

The principle of rigor and formality is to kind of have rules in the process of creating something so the flow of working is a lot smother. An example of this could be testing and fixing errors before moving on to the next part to have better quality software.

In user-centered design, a storyboard is:

A series of pictures shown in sequence to visualize the user experience and interaction

In user-centered design, a scenario is:

A story-like textual description of a system's usage

Which one of the following statements most naturally follows from Ziv's Law? A. Assume that the requirements document will have to change at some point. B. Use cases map well to design and implementation constructs. C. Use cases should describe what kind of data is being passed between user and system. D. Use cases are the most understandable way to represent requirements. E. Assume that the requirements document is set in stone.

A. Assume that the requirements document will have to change at some point

Which one of the following requirements analysis techniques does Netflix use the most? A. Data analysis and business metrics B. Interviewing the customer C. Creating use cases D. Physically observing the customer E. Netflix uses all of these techniques equally

A. Data analysis and business metrics

Mr. Brown wants to create a web application that can assist people buying tickets for a cruise ship. Which of the following is the POOREST example of the requirement? A The web's backend should use the most popular programming language, Python, so that it could be easily maintained since more people know how to use it. B. The web's page should provide some space for online advertising so that the advertising place could be sold to other commercial companies. C. Customers can not only purchase tickets but also join the waiting list if the tickets are temporarily sold out. D. The web should support people with reading disabilities so that they could purchase the tickets smoothly.

A. The web's backend should use the most popular programming language, Python, so that it could be easily maintained since more people know how to use it.

Briefly describe the software-engineering principle of "abstraction" and give an example of a software-engineering task or concept that demonstrates this principle.

Abstraction is hiding certain complex details while at the say time focusing and prioritizing others. An example of this is hiding the idea of how computers function in 1's and 0's and focusing on the code that you are writing on the computer and the outcome of that rather than the more complex idea of how all your code is just 1's and 0's in the computer.

UML class diagram the middle compartment = Attributes Subclasses Operations Name Superclass

Attributes

Environmental Requirements

Hardware type and software type (size, web, app?)

Architectural erosion happens when: A. A client-server style is used when a peer-to-peer style would have been more effective B. A system evolves and its descriptive architecture is not updated C. The "as-designed" architecture and the "as-implemented" architecture do not match D. The prescriptive architecture is modified before the descriptive architecture is modified E. Faulty components are used in the architecture

C. The "as-designed" architecture and the "as-implemented" architecture do not match

What are 3 essential properties of SE

Conformity, changeability, invisibility

What is relational database design?

Designing tables where data is stored and relationships between them

Requirements analysis could be performed in a number of ways. Which of the following is NOT a requirements analysis technique? A. Prototyping solutions and getting feedback from the customer B. Gathering and utilizing data analytics C. Interviewing the customer D. Researching other past solutions E. Observing the customer F. Software quality assurance techniques, such as testing

F. Software quality assurance techniques, such as testing

In user-centered design, what are design guidelines?

In user-centered design, what are design guidelines?

Cohesion

Many tight dependencies or associations within a component, and high levels of this is desirable for a good design

What are the three essential ingredients to software engineering? Processes, Incrementality, Tools, People?

Processes, Tools, People

visibility of system status

Progress bar during a file download

evolution

Successful software evolves, its essential and planned, Architecture is a key for this

The "requirements" phase of the software lifecycle can be broken down into two sub-phases: "analysis" and "specification". What is requirements analysis? A. The requirements document B. The process of documenting what the software product should be C. The process of drawing use case diagrams D. The process of coming to know and understand what the software product should be

The process of coming to know and understand what the software product should be

What is descriptive architecture

The result of architectural erosion

What is the purpose of a UML class diagram

To create a detailed, object-oriented design of the code

A detailed, object-oriented design is usually depicted as a(n):

UML class diagram

Basic, Alternative and Exception Flow

achieved, alternate way, not achieved

Requirements analysis

activity of discovering/obser/gather customers needs

Imagine you are creating a UML class diagram of an e-commerce system (such as amazon) that sells items. Which of the following is most likely to be an operation of an Item class? fileSize price logIn description addToCart

add to cart

Software Qualities

adjectives/ characterisitcs (looks, feels, use)

configuration

all elements of the architecture laid out in a specific way that describes the overall architecture (or architectural style)

In which section of a requirements document are you most likely to find the following statements: "The software shall run on iPads in the lobby of the library. The software shall also take input from scanners attached to the iPads, with which a patron can use to scan their cards and items. The software shall also interact with the county-wide library database to report checkouts and checkins." A. Assumptions/Risks B. Software qualities C. application context D. priorities/ Implementation Phases E. future changes

application context

Prescriptive vs Descriptive Architecture

as-designed/intended , as implemented/realized

error prevention

disabiling a button when clicked would lead to an error condition

Connector

element that handle interaction between different parts of the architecture

component

elements that comprise functionality and/or computation

Reuse is a major benefit of the Layered architectural style. Which layer(s) are usually the most reusable? Upper and lower layers Upper layers Lower layers Middle layers Upper and middle layers

lower layers

Imagine you are creating a UML class diagram of an e-commerce system, such as amazon. Which of the following is most likely to be an attribute of a Customer class? price logOut writeReview fileSize name

name

UML class diagram the bottom compartment = Attributes Subclasses Operations Name Superclass

operations

Failure

see it crash after runtime

Modularity

seperating dif modules

In a specification, which section would you describe that that software should be built to be secure and beautiful? A. Assumptions/Risks B. Software qualities C. application context D. functional requirements E. future changes

software qualities

what is relational database design

-SQLite database sort of thing

In a UML class diagram, what does an aggregation relationship indicate? -That one class inherits from the other class -That one class is contained within another class -That one class is equivalent to the other class -That one class overrides the other class

-That one class is contained within another class

In user-centered design, heuristic evaluation is: -A profile of a fictional potential user that helps you make user-centered decisions during development Correct Answer -A set of common UI components, patterns, and styles to promote reuse and provide a consistent user experience -A story-like textual description of a system's usage -A series of pictures shown in sequence to visualize the user experience and interaction -Using principles based on research to assess the usability of a system

-Using principles based on research to assess the usability of a system

Architecture style - Peer to Peer style

-one to everyone else (zoom)

Architecture style - Publish Subscribe Style

-only see what youre subscribed to

User Orientation - wireframes and mockups

-pictures of the interface

Verification vs Validation

-serve purpose (testing), conform to peoples requirements

Oracle

-way to know that proj is giving correct answer

The term "requirements specification" is used to refer to which of the following? 1 The process of documenting the requirements of the software product to be built 2The process of coming to know and understand what the software product should be 3. Correct Answer The requirements document

1 The process of documenting the requirements of the software product to be built 3. Correct Answer The requirements document

Aggregation vs Composition

1 obj can contain set of other objs <>, has to contain due to dependency

Architecture style - Model View Controller Style

1 view, 1 model/data, 1 controller btw view and model (atm)

Which one of the following is true about software architectural styles? A. A software architectural style rarely offers benefits to the resulting system. B. Using a software architectural style usually makes it harder to evolve the resulting system C. Using a software architectural style broadens the architectural design decisions we can make. D. A software architectural style provides us with a named set of components, connectors, and configurations. E. The client-server style is applicable to any given problem/context.

A software architectural style provides us with a named set of components, connectors, and configurations.

A function call presents a simple interface and hides the logic that will be performed. This is an example of...

Abstraction

Which one of the following is not true about software architectural styles? A. A software architectural style can offer benefits to the resulting system B. Designing your software in an architectural style always results in a more efficient system. C. A software architectural style provides us with a named set of components, connectors, and configurations D. A software architectural style constrains the architectural design decisions we can make

B. Designing your software in an architectural style always results in a more efficient system.

Which one of the following statements is true about software architecture? A. All of these statements are true. B. When software evolves, architecture is a valuable tool in facilitating that evolution. C. Software architecture dictates the process a team uses to develop use cases for a system. D. Software architecture consists of all the design decisions about a software system. E. Software architecture defines the detailed, low-level structure of an implementation.

B. When software evolves, architecture is a valuable tool in facilitating that evolution.

Based on his "No Silver Bullet" essay, which one of the following pieces of advice would Fred Brooks be least likely to give? A.It is vital to invest in growing great software designers. B.You should always build functionality yourself from scratch rather than reuse existing software that provides the functionality you need. C.It is best to build software in small, iterative chunks. D.We should not expect to get orders of magnitude improvement in software engineering just by building new languages and tools E.It is impossible to accurately capture a customer's needs without prototyping.

B. You should always build functionality yourself from scratch rather than reuse existing software that provides the functionality you need

Which of the following statement is NOT correct? A. In a requirement document, executive summary shouldn't be too long and should be concise and to-the-point. B. Use cases are bad for describing the quality of software. C. In a use-case diagram, the stick figures are drawn to always represent humans that interact with the system. D. The majority of software developers are employed to produce software for their own company's use.

C. In a use-case diagram, the stick figures are drawn to always represent humans that interact with the system.

Recall the CNBC article about software used in health care. Which one of the following requirements analysis techniques was it most focused on? A. Interviewing the customer B. Analyzing usage data C. Building prototypes D. Observing the customer E. Creating use cases

D. Observing the customer

What is functional decomposition?

Decomposing a task, function, module, or system into smaller sub-tasks, sub-functions, or sub-modules

Mistake

Do something other that what you should do (user)

Which one of the following statements about requirements is false? A. Requirements issues are at the root of many software failures. B. What the customer wants is sometimes not the same as what the customer needs. C. If you get the requirements right, it will help avoid many costly fixes later on in the software life cycle. D. Requirements describe what the software should do, without saying how it should do it. E. The requirements phase is the mostly costly phase in the software life cycle, in terms of dollars spent.

E. The requirements phase is the mostly costly phase in the software life cycle, in terms of dollars spent.

Which of the following is not true about an architect? A. Often serves as an interface between key business stakeholder and the technical team B. Usually has broad training (in the domain and in software development) C. Usually is a key decision maker on the direction of how to make difficult implementation choices D. Often leads the technical development team E. Usually is an entry-level position F. No answer text provided.

E. Usually is an entry-level position

If you go into a career in software engineering in the U.S., which one of the following situations is most likely outcome for you (or any random person)? A.Working for a company who contracts out their services to build software for other companies B. Developing the next great virus that will steal millions of peoples' personal information C. Writing software whose source code is released for free on the Internet with a team of geographically distributed individuals, on an unpaid, volunteer basis D. These are all equally likely E. Working in the IT department of a company, writing software for "customers" who are also part of that same company

E. Working in the IT department of a company, writing software for "customers" who are also part of that same company

What are three perspectives on SE

Engineering, Business, User

Functional Requirements

Everything that software should do (features)

User

Everything that the user sees

Engineering Perspective

Internal quality of software

Error

Internal, wrong path or assigned val when executing

Fault/Bug

Look at code and see/point out wrong thing

Coupling

Many tight dependencies or associations across multiple components, and high levels of this is undesirable for a good design

In the Layered architectural style: - None of these -The upper layers are the most reusable. -Any component can communicate with any other component in the architecture. -Components are organized around one centralized server.

NOne of these

Of the three essential ingredients of software engineering, which one can make up for shortcomings in the other two?

People

In the requirements document, if you were to describe the list of desired features of the software and how they should work, into which section would they most likely go? A. Assumptions/Risks B. Software qualities C. application context D. functional requirements E. future changes

Software Qualities

Briefly describe the software-engineering principle of "generality" and give an example of a software-engineering task or concept that demonstrates this principle.

The principle of generality is to be efficient with what is being built in the sense that what you are doing is reusable so it can be applied to other projects. An example of this can be reusing code and interfaces to make a new model. For instance a car, the general components can be used and just add to that to improve it.

Briefly describe the software-engineering principle of "incrementality" and give an example of a software-engineering task or concept that demonstrates this principle

The principle of incrementality is doing the work in steps or batches. It is starting with one small part of the project and adding on to it until it becomes more of what your expected outcome. An example of this is versions of something being built. Start with a version that has the minimum parts for it to work and begin releasing other version that contain additions.

What do requirements define?

The what, not the how

Reasons for usability fails

instructions, info, misplaced, confusion

accelerators

keyboard shortcuts

User control and freedom

undo button

What are the levels of testing?

unit, functional, system

Ziv's Law

unpredictable, don't know what you have until you have something


Ensembles d'études connexes

Strategic Management Final Review Questions

View Set

cjc 111 ch 9 punishment and sentencing

View Set

Altered Immune Response: Immunodeficiency

View Set