Informatics 43 Quiz 2

अब Quizwiz के साथ अपने होमवर्क और परीक्षाओं को एस करें!

complexity

"a construct of interlocking concepts: data structures and classes, algorithms, function calls" "No two parts are alike"

Software-development for a Flashlight app for your iPhone, would require serious attention and time spent on Requirements Engineering. True False

False

The Software Architect role (job title) only requires understanding architectural styles such as MVC, Layered, Client-server, etc.

False

The WWW can be understood by looking at source-code that implements a Website or Webpage or Web server.

False

Our lecture notes include a big list of questions that we will discuss and address in this class, EXCEPT ONE: How do we structure the software? How do we make software that meets users' needs? How do we know the software works? How do we structure a bridge across Campus Drive? How do we know what to build?

How do we structure a bridge across Campus Drive?

In our requirements document structure, there are several sections (chapters) before the chapter on Functional Requirements. Which of the following chapters does not typically appear before Functional Requirements: Application Context Executive Summary Introduction Environmental Requirements Presumptions

Presumptions

The New York Stock Exchange makes available large amounts of data, as well as 'real-time' stock updates, that many are interested in. The corresponding architectural style is called: Client-Server Object-Oriented Model-View-Controller Publish-Subscribe Pipe-and-Filter

Publish-Subscribe

In Lecture we defined the structure ("template") of a requirements document. Which is of the following was NOT mentioned as a valid chapter in a software requirements document? Relational database design Functional Requirements Assumptions Glossary Application Context Future Changes

Relational database design

We studied several relationships in a UML class diagram. From the options below, choose the most accurate definition of Association: The most basic general-purpose relationship between two classes The is-a relationship, where one class is-kind-of or is derived from the other class Three-way relationship between three UML classes The most basic relationship between two tables in a relational database The whole-part or is-part-of relationship, where one class contains another

The most basic general-purpose relationship between two classes

changeability

all successful software gets changed

Potential silver bullets

-buy vs build, - requirements refinement and rapid prototyping, -incremental development, -great designers

architectural erosion

When a system evolves, ideally its prescriptive architecture is modified first In practice, the system- and thus its descriptive architecture- is often directly modified

reference documents

pointers to existing processes and tools used within an organization pointers to other existing software that provides similar functionality pointers to literature

Quoted Definition of Software Engineering

"Multi-person construction of multi-version software." [Parnas]

Why does architectural erosion happen?

- Developer sloppiness - Short deadlines - Lack of (documented) prescriptive architecture - Code optimizations - Inadequate techniques or tool support

false silver bullets

- High level languages - Time sharing - Unified programming environments - Object oriented programming - Artificial intelligence - Expert systems - Automatic/graphical programming - Program verification - Environments/tools - Workstations

The architect

A distinctive role and character in a project • Broad training • Extensive experience • Deep understanding of the domain • Leads the team • Good communicator • Decision maker • Deals with a higher level of abstraction than those performing construction • Often serves as the interface to key business stakeholders/customers

According to our notes. the following examples require the tools and methods of Software Engineering, as opposed to one developer writing code, EXCEPT ONE. Applicationss to manage and control NASA's next space mission to the moon. Applications to manage and control Tesla cars Applications for telemedicine and remote surgery Applications to manage and help NASA's James Webb Telescope reach its final destination in space A flashlight app for your iPhone

A flashlight app for your iPhone

In Lecture, we showed the parts ("fields") of a use-case template. The "middle" part of a use-case template typically shows use-case flows. Which of the following is NOT typically included in this middle part: One or more Misuse Flows Basic Flow One or more Exception Flows One or more Alternative Flows

One or more Misuse Flows

According to our charts, if an error is found-and-fixed during software maintenance (after deployment), the cost of fixing it is: Over a hundred units of cost/effort 2--3 units of cost/effort One unit of cost/effort 10--100 units of cost/effort 5--10 units of cost/effort

Over a hundred units of cost/effort

According to Brooks (back in "his time"), which of the following is *NOT* listed explicitly in his paper as a "potential silver bullet"? Great software designs Incremental development Buy vs. Build Rapid prototyping Great software designers Requirements refinement

Great software designs

Our Lecture Notes list the possible artifacts ("products") of Software Engineering, which include the following items, EXCEPT ONE: User manuals Software documentation Test cases Software specifications Hardware design diagrams using AND/OR gates Software design diagrams Code

Hardware design diagrams using AND/OR gates

Your use cases can have a variety of readers. Which of the following is not likely (least likely) to be a reader of your use cases? System engineers Civil engineers Requirements engineers Software testers Requirements reviewers Software engineers Project managers System testers

Civil Engineers

Surprisingly, there are many people who might be interested in reading your requirements document. Which of the following are least likely to read your software requirements document: Software maintainers Civil engineers marketing personnel Software developers system engineers Project managers Software documenters Software testers

Civil engineers

We said that Storyboards are flexible and can include various elements. Which of the following is not typically allowed/included in a Storyboard description: Pictures from real-life or real-world situations Text descriptions Sketching and "doodling" A sequence of images or drawings Class names, attributes, and operations (methods) Cartoons and animations

Class names, attributes, and operations (methods)

The architectural style(s) of the WWW are clear and apparent in the source-code that implements the WWW.

False

What employs the most programmers in the US?

In-house staff writing systems for internal use.

Use case readers

Marketing personnel, human factors engineers, specialty engineers • System engineers • Reviewers • Software developers • System/software testers • Project managers • Technical writers

WWW in a nutshell

The Web is a collection of resources, each of which has a unique name (URL) • A URL can be used to determine the identity of a machine on the Internet (origin server), from which the resource may be obtained • Clients (user agents/Web browsers) make requests of servers for their resources Clients manipulate representations of resources • All communication between user agents and origin servers must be performed by a simple, generic protocol (HTTP) • All communication between user agents and origin servers must be fully self-contained

An Exception Flow describes when something (or some things) goes very wrong in the use case.

True

In software testing, Verification means comparing between two different specifications of the same system.

True

In software testing, a fault may lead to a failure, but not all faults result in failures.

True

Use cases are an improvement over previous/older methods for requirements engineering.

True

brooks law

adding more people to a late project makes the project later

Evolution

all successful software evolves essential part of software development must be accommodated/planned as much as possible

Prescriptive Architecture

as-designed/as-intended architecture

Descriptive Architecture

as-implemented/as-realized architecture

time schedule

by when should all of this be done? -initial delivery date -acceptance period -final delivery date important milestones -prototype delivered -architecture/design/implementation/testing completed -sprint/increment 1/2/3

Our lecture notes include a list of good software principles and desirables qualities, EXCEPT ONE: correctness efficiency complexity adaptability reliability modularity

complexity

Essential properties of software

complexity, conformity, changeability, invisibility

Desired Software "ilities" (Qualities)

correctness reliability efficiency usability maintainability portability reusability interoperability robustness security scalability

application context

describes the situation in which the software will be used (home, office, inside) identifies all things that the system affects (objects, processes, other software, hardware, people)

Choosing test cases such that each branch ("arrow") in the program graph is visited, is called:

edge coverage

potential risks

new methodology requirements new to the group special skills and resource shortage aggressive schedule tight funding security ethical

environmental requirements

platforms -hardware -operation systems, types of machines, memory size, hard disk space -software -is it a web app? mobile app? desktop app? -is it open source? linux? apache? php/mysql? -is it enterprise software? .NET? Enterprise JAVA, J2EE -programming languages -standards

Inf 43 principles of software engineering

rigor/formality, separation of concerns (modularity, divide and conquer, abstraction), anticipation of change, generality, incrementality

email: functional specification

send and receive messages get your own messages, not others' store messages electronic blocks spam client mail server

executive summary

short, succinct, concise, to the point description (usually not more than one page) Identifies -main goals -key features -key risks/obstacles

conformity

software must conform to human institutions and systems

Which of the following is not a cause of late software projects, as suggested by Brooks in "the Mythical Man Month?"

lack of skilled engineers

requirements specification

Activity of describing/documenting customer's needs

Which one of the following is true about software architectural styles? 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. Using a software architectural style broadens the architectural design decisions we can make. A software architectural style rarely offers benefits to the resulting system. Using a software architectural style usually makes it harder to evolve the resulting system

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

The architectural style client-server typically maps into:

A software architecture with two layers

The World Wide Web is best described using high-level statements about its architecture. Which of the following is *NOT* a reasonable statement when describing the high-level architecture of the WWW: All communication between Microsoft Windows clients and Microsoft Azure for Cloud Computing, must go through Microsoft IIS Web servers All communication between user agents and origin servers must be performed by a simple, generic protocol All communication between user agents and origin servers must be fully self-contained Clients make requests of servers for their resources Clients manipulate representations of resources The Web is a collection of resources, each of which has a unique name (URL)

All communication between Microsoft Windows clients and Microsoft Azure for Cloud Computing, must go through Microsoft IIS Web servers

The software failures we studied in Lecture included symptoms or outcomes such as: Too much radiation given by a radiation machine The SHOPA website failure The crash of Boeing 737 MAX Loss of human life All of the symptoms listed here as answers

All of the symptoms listed here as answers

Which one of the following user interface examples best incorporates the Nielsen heuristic "Error prevention?" Progress bar during a file download Keyboard shortcuts Disabling a button that, when clicked, would lead to an error condition Auto-complete "Undo" button A magnifying glass icon on a search button

Disabling a button that, when clicked, would lead to an error condition

why architecture in software engineering?

Intellectual control Conceptual integrity Effective project communication Reusability Maintainability (management of a set of variant systems)

Which one of the following user interface examples best incorporates the Nielsen heuristic "Accelerators?" Disabling a button that, when clicked, would lead to an error condition Progress bar during a file download Keyboard shortcuts A magnifying glass icon on a search button Auto-complete A detailed error message that suggests ways to recover from the error

Keyboard shortcuts

We said that we can use a template to describe a Persona. Which of the following is *not* typically allowed/included in a Persona description: Their needs and wishes (of the new application) Name and picture of a famous person, like LeBron James Their technical skills and experience Their life story/life experiences Their goals Name and picture of an unknown/fictitious person A personal profile of the Persona

Name and picture of a famous person, like LeBron James

We studied several relationships in a UML class diagram, including Associations. Which of the following is NOT correct for a UML Association: One association can connect two classes in a one to one relationship One association can connect three classes in a many to many relationship One association can connect two classes in a one to many relationship An association can have arrowheads on both sides of the association One association can connect two classes in a many to many relationship An association can have an arrowhead on one side, but not the other

One association can connect three classes in a many to many relationship

essential ingredients of software engineering

People, Process, Tools

Which one of the following statements is true about software architecture? Software architecture is a valuable tool in understanding, reasoning, and communicating about a software system. Software architecture has no value in facilitating the evolution of a software system. Software architecture dictates the process a team uses to develop use cases for a system. You Answered Software architecture consists of all the design decisions about a software system. Software architecture defines the detailed, low-level structure of an implementation.

Software architecture is a valuable tool in understanding, reasoning, and communicating about a software system.

Our Lecture Notes include a simple ("Waterfall") software process model, which include the following steps, EXCEPT ONE: Software implementation (coding) Software requirements Software deconstruction Software design Software maintenance Software verification (testing)

Software deconstruction

ziv's law

Software development is unpredictable and the documented artifacts such as requirements will never be fully understood *Uncertainty is inherent and inevitable in SE processes and products!*

We studied several relationships in a UML class diagram. From the options below, choose the most accurate definition of Inheritance: The most basic relationship between two tables in a relational database The whole-part or is-part-of relationship, where one class contains another A three-way relationship between three UML classes The most basic general-purpose relationship between two classes The is-a relationship, where one class is-kind-of or is derived from the other class

The is-a relationship, where one class is-kind-of or is derived from the other class

Observations about WWW's architecture

There is no single piece of code that implements the architecture Stylistic constraints of the Web's architectural style are not apparent in the code One of the world's most successful applications is only understood adequately from an architectural vantage point

According to our charts, if we make a requirements error (or change), then fix it later during the Maintenance phase, such a fix will cost us: 2-3 units of effort Up to 50 units of effort 5-10 units of effort One unit, the smallest unit of effort Up to 200 units of effort

Up to 200 units of effort

Which of the following does not appear, nor belong, on a UML class diagram: Relationship names Use case names Class operations (methods) Class attributes (data members) Class names

Use case names

The Software Architect role typically requires the following background and characteristics. Which of the following is *not* typically required: Good communicator Often serves as the interface to key business stakeholders and customers Decision maker Leads the team Works regularly with the team on software coding, testing and debugging

Works regularly with the team on software coding, testing and debugging

functional requirements

identifies all concepts, functions, features, and information that the system provides to its users provides an abstraction for each of those characterizing the properties and functions that are relevant to the user -what is the system supposed to do? -what information does the system need? -what is supposed to happen when something goes wrong?

invisibility

the reality of software is not inherently embedded in space

introduction

what is this document about? who was it created for? who created it?

requirements

what the software should do (without saying how it should do it)

Top Software Failure Causes

-lack of user input/involvement -incomplete requirements and specifications -changing requirements and specifications -lack of discipline in development processes -lack of methodical usage of metrics -lack of resources

Mythical Man Month: Causes for scheduling disasters

1. We expect that all will go well. 2. We confuse effort with progress and think that people and months are interchangeable. 3. Managers are often insufficiently stubborn. 4. Schedule progress is poorly monitored 5. When schedule slippage is recognized, more people are added.

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

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

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

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

Abstraction

Abstractions are formed by removing irrelevant information and retaining/highlighting relevant information • Every design notation supports a certain kind of abstraction • Software engineering is all about constructing and elaborating abstractions/models

requirements analysis

Activity of discovering/observing/gathering customer's needs

By definition, a UML class has three parts. By definition, which of the following is in fact one of the three parts of a class in UML: Association Multiplicity Composition Aggregation Class relationships Inheritance Class operations (methods)

Class operations (methods)

In software testing, Validation means comparing between two different specifications of the same system.

False

One use case corresponds to exactly one scenario (one flow of events)

False

Software testing can always prove the correctness of a software system.

False

Which of the following statements is *not true* about Inheritance: Child classes can override operations defined in their Parent class Parent classes can inherit attributes and operations from their Child classes Child classes can inherit attributes and operations from their parent classes A Parent class can have more than one Child classes Child classes can override attributes defined in their Parent class

Parent classes can inherit attributes and operations from their Child classes

Which one of the following statements about requirements is true? Requirements issues are at the root of many software failures. Requirements describe how the software should work, without saying what it should do. The requirements phase is the most costly phase in the software life cycle, in terms of dollars spent. Requirements analysis/engineering should only be done once the architecture of the system has been designed. Requirements errors generally cause only minor problems in the resulting system. These problems are simple and cheap to fix.

Requirements issues are at the root of many software failures.

Black-box testing is: A computation or "machine" that always knows the correct expected output Specification-based testing with no visibility or access to source code Confirming that a system/subsystem serves its intended purpose Structural testing, where the tester knows or has access to source code Confirming that a system/subsystem conforms to its specifications

Specification-based testing with no visibility or access to source code

Which of the following is NOT considered to be Design? (i.e., it is NOT a design method or design activity) Functional decomposition Relational database design Object-oriented decomposition with UML UI mockups Testing and debugging your code

Testing and debugging your code

On a UML class diagram, a line (relationship) between two classes with no arrowheads on it, is the same as (identical to) a line with two arrowheads, one on each end of the line.

True

Our Lecture Notes indicate that several of the top reasons of software-failures are related to or caused by the Requirements phase. True False

True

Requirements state what the software system should do, not how it should do it. True False

True

Software architecture is the set of principal or key design decisions about the system.

True

Software-development for the next space-mission to the moon, would require serious attention and time spent on Requirements Engineering. True False

True

The Architect is a very senior role on a software project, requiring experience, expertise, and a strong technical background.

True

The WWW is best understood from an architectural perspective, using high-level diagrams, and well-crafted textual descriptions.

True

A typical use-case template has fields before its main part (the Flows part), then comes the Flows part, and then fields after the Flows part. Which of the following fields is *NOT* likely to appear before the main Flows part? Use case level Pre-condition(s) List of actors Use case name Use case description UML activity diagram(s) Use case goal

UML activity diagram(s)


संबंधित स्टडी सेट्स

Chapter 2 - Investments in Equity Securities

View Set

MIS Readings + Quiz Questions (K-201 Lecture) (OPEN-BOOK Exam, 50 Questions!!)

View Set

Sociology (AS) Research Methods- Documents

View Set

bio psych - ch.3.3 research methods

View Set