Inf 43 Quiz 1

Ace your homework & exams now with Quizwiz!

What is software engineering?

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

business

- Cost of developing (purchasing) software - Time to market of product - Profit that will be made from (sale of?) software

design

- External quality of the software - Deals with everything the user sees and experiences - Is it usable? Does it crash? - Usability engineering, UI design ← needed for a good job in design perspective

metrics

a standard of measure of a degree to which a software system or process possesses some property

abstraction

i.e. requirements document, users don't have to know all the details behind software to know how to use it

incrementality

showing user and adjusting

conformity

software must conform to human institutions and systems

rigor and formality

striving for quality, not just hacking; do what's best in the long run

Royce's principles of SE

- Follow an architecture-first process - Use component-based development (buy vs. build) to reduce the coding effort - Show the customer preliminary versions of the software frequently - Have incremental releases

engineering

- Internal quality of the software matters MOST - quality design and architecture

Davis's principles of SE

- Make quality number 1 - Give products to customers early - Understand the problem first - Choose an appropriate process - Good management is more important than good technology - People are the key to success

Wasserman's Principles of SE

- Modularity - Abstraction - User interface (UI) prototyping - Reuse - Metrics

Inf 43 Recurring, Fundamental Principles of Software Engineering (5)

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

complexity

- "...a construct of interlocking concepts: data structures and classes, algorithms, function calls." - "No two parts are alike." - Difficult communication - Difficult to modify/extend - Unreliability - Security trapdoors

changeability

- "All successful software gets changed." - Why? - Because it can - Because people always want it to

invisibility

- "The reality of software is not inherently embedded in space." - Difficult understanding - Difficult communication

"potential silver bullets" on the essential difficulties

- Buy vs. build - Requirements refinement and rapid prototyping - Incremental development - Great designers

Essential Difficulties of Software Engineering

- complexity - conformity - changeability - invisibility

3 perspectives on software engineering

1) business 2) engineering 3) design

3 essential ingredients of software engineering

1) people (most important) 2) process 3) tools


Related study sets

Three main parts of the computer

View Set

Entrepreneurship exam study guide

View Set

Chapter 17: Banking and the Management of Financial Institutions

View Set

UNRS 107 Quiz_Prep_Surgical pt_Rational - ATI Quiz #3 Prep (The surgical client)

View Set

U12Ch46 어(魚/漁): fish, to fish (KBC)

View Set

Test 4 Chapters 22-27 (In class questions)

View Set