COMP3322 Software Engineering Mid-term study guide

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

Which of the following software processes has very little task overlap and no process iteration? waterfall extreme programming rational unified process rapid application development

waterfall

For what types of software systems are agile approaches to development particularly likely to be successful? (free response)

• Small and medium-sized software product development.• Custom software development in an organization where there is a clear commitment from customers to become involved in the development process.

______________ is the process of restructuring code to improve some of the nonfunctional attributes of the code.

code refactoring

_________________is a measure of the amount of work a team can tackle during a single sprint and is a key metric in Scrum.

team velocity

what is Iterative development?

software development approach. The repetitive act of designing, development and testing until the final product.

what goes into software estimates?(hint 5 things)

1. Hardware 2. Training 3. Efforts cost 4. software 5. travel

5 Essential Attributes of Good Software

1. Maintainability 2. Efficiency 3. Security 4. Dependability 5. Acceptability

4 Issues that affect Software

1. Scale 2. Security and trust 3. Business and social change 4. Heterogeneity(its uniqueness or lack thereof)

4 types of software applications

1. Stand alone app 2. Embedded system 3. Data collection 4. Batch control (controlling large amounts of information or data)

Two kinds of Software Products

1. generic software 2. customized software

the 6 agile cycle stages

1. plan 2. design 3. develope 4. test 5.release 6. feedback

software process (4 fundamental activities)

1. specification 2. design and implementation 3. validation 4. Evolution

4 parts of Extreme Programming

1. user story - a short story that tells the programmer what the program should do 2. test-first development - writing out tests before programming 3. code refactoring - fixing code but not restructuring the original functionality 4. pair programming - programming with 2 people, one writes and one reviews

what is a gantt chart?

A Gantt chart illustrates the project schedule and timeline.

Spiral model

A circular model that starts with objective identification then goes to risk and analysis then to development and test then to review and evaluation

The waterfall model of software development is: A) A reasonable process choice when requirements are well defined. B) A good process choice when a working system is required quickly. C) An old fashioned model that is rarely used any more. D) The best approach to use for projects with large development teams.

A reasonable process choice when requirements are well defined.

rapid application development RAD

A software development method that starts with requirement planning then to user design which cycles through prototype creation, testing and refining until completed then goes to feedback finally to final product

Why is ideating important in the design thinking process? A) It moves the design team from testing to implementing. B) It moves the team from the problem to deployment. C) It moves the team from empathy to defining the problem. D) It moves the team from the problem(s) to finding a solution to the problem(s).

D) It moves the team from the problem(s) to finding a solution to the problem(s).

________________ are software systems that control and manage hardware devices. A) Version control systems B) Emergent control systems C) Batch control systems D) Embedded control systems

Embedded control systems

T/F An example of code refactoring is adding new features to satisfy a customer requirement discovered after a project is shipped.

FALSE

T/F For generic software, the specification of what the software should do is owned by the customer for the software, and they make decisions on software changes that are required.

FALSE

what is Incremental delivery?

Incremental delivery is an approach to software development where some of the developed increments are delivered to the customer and deployed for use in their working environment.

what is Incremental development?

Incremental development is a method of building software products in which a system is built piece-by-piece

In the _______________ phase of Design Thinking, the team produces inexpensive, scaled-down versions of the product (or specific features found within the product) to investigate the ideas they've generated. A) define B) prototype C) empathize D) test

Prototype

what is risk management?

Risk management is the process of identifying, assessing and controlling threats to an organization's capital and earnings.

The ________________ includes risk analysis during each iteration of the software development process. A) Rapid Application Development (RAD) Model B) Rational Unified Process (RUP) C) V-Model D) Spiral Model

Spiral Model

T/F Software costs often dominate computer system costs as the software costs on a PC are often greater than the hardware cost.

TRUE

Impact of the Internet/Web on Software Engineering

The Internet has made it easier to collaborate, innovate and add value.

V-model

The V-model is a software development process model that is an extension of the waterfall model. It emphasizes the verification and validation of software at each stage of development, including requirements gathering and analysis, design, implementation, and testing.

Waterfall Model

The waterfall model is a linear and sequential software development process model that follows a predefined set of stages in a specific order. The stages are typically requirements gathering and analysis, design, implementation, testing, deployment, and maintenance. Each stage must be completed before moving on to the next stage

The two ways of project planning and scheduling?

Top down(planning out the tasks) and bottom up(having the due date and planning backwards)

The _______________ includes a testing/acceptance activity in parallel with each phase of the software development life cycle.

V-Model

what is a PERT chart

a PERT chart displays task dependencies and task overlap.

Extreme Programming advocates writing test cases at which point in the process? A) during the sprint B) before code development C) after code development D) during code development

before code development

You should interview potential end-users to gain an understanding of their needs during the _______________ phase of Design Thinking. A) empathize B) ideate C) define D) elaboration

empathize

In the _______________________ software process, developers are expected to refactor their code continuously. A) RAD B) waterfall C) extreme programming D) spiral

extreme programming

true or false? The ACM/IEEE Code of Ethics outlines specific penalties for software engineers in cases where principles of the code are violated.

false

The _________________ is a vital member of a Scrum team who provides clarity to the team about the product's vision and goal. A) product owner B) project manager C) scrum master D) front-end developer

product owner

The _________________ process/framework promotes having an on-site customer as part of the project team. A) waterfall B) v-model C) spiral D) scrum

scrum

In Scrum, the ______________ is responsible for removing any impediments/problems from the development team and fostering an environment for the team to perform well.

scrum master


Ensembles d'études connexes

verb to be present ant past tenses

View Set

BIOL2107H Chapter 8: Cellular Respiration

View Set

NCLEX Passpoint: Endocrine and Metabolic Disorders

View Set

What is Material Culture? Key Words and Concepts

View Set