Study Guides (390,000)
US (220,000)
UC-Irvine (3,000)
IN4MATX (10)
Study Guide

IN4MATX 43- Midterm Exam Guide - Comprehensive Notes for the exam ( 14 pages long!)


Department
Informatics
Course Code
IN4MATX 43
Professor
Emily Navarro
Study Guide
Midterm

This preview shows pages 1-3. to view the full 14 pages of the document.
UC-Irvine
IN4MATX 43
MIDTERM EXAM
STUDY GUIDE

Only pages 1-3 are available for preview. Some parts have been intentionally blurred.

Only pages 1-3 are available for preview. Some parts have been intentionally blurred.

Lecture 1
What is Software Engineering?
Software: Code, Documentation, User Manuals, Design Specifications, Test cases, and plans and schedules
Engineering: Skill and Knowledge, Application of Scientific principles, Trade-offs, and cost/benefit analysis
Software Engineering Definition
Managing the complexity of both a problem and its solution, to create a software product that successfully solves the
problem
Informatics 43 Definition for Software Engineering
The process of constructing software
Phases of development other than programming
Principles and qualities of enduring value
The process of constructing software
Requirements -> Design -> Implementation -> Verification -> Maintenance
What matters most?
Business Perspective
Cost of developing (purchasing) software
Time to market of product
Profit that will be made the sale of the product
Engineering perspective
Internal quality of the software
Design Perspective
External quality of the software
Essential Ingredients of Software Engineering
-> People + Process + Tools
Recurring Fundamental Principles
Rigor and Formality
Separation of Concerns
o Modularity
o Divide and Conquer
o Abstraction
Anticipation of change
Generality
Incrementally
Silver Bullets
Essential Properties of Software Engineering
Complexity
find more resources at oneclass.com
find more resources at oneclass.com
You're Reading a Preview

Unlock to view full version

Only pages 1-3 are available for preview. Some parts have been intentionally blurred.

o No two parts are alike
o Difficult communication, to modify/extend
o Unreliability
Conformity
o Software must conform to human institutions and systems
Changeability
o All successful software gets changed because it can and people always want it too
Invisibility
o The reality of software is not inherently embedded in space
o Difficult understanding and communication
False Silver Bullets
High-level languages
Time-sharing
Unified programming environments
Object-oriented programming
AI
Expert Systems
Automatic/graphical programming
Program verification
Environment/tools
Workstations
Possible Silver Bullets
Buy vs. Build
Requirements refining and rapid prototyping
Incremental development
Great Designers
No Silver Bullet
The anomaly is that software progress is not slow but that hardware progress is so fast
No other technology has seen six orders of magnitude price-performance gain in 30 years
The difficulties in Software Development:
Essence:
The essence of a software entity is a construct of interlocking concepts: data sets, relationships among data items,
algorithms, and invocations of functions
This essence is abstract, it is the same conceptual construct under different representations
The hard part of building software to be the given specification, design, and testing this conceptual construct
The little mistakes that are made while developing the system are nothing compared to the conceptual errors in
most systems
The inherent properties of the essence of modern software development:
find more resources at oneclass.com
find more resources at oneclass.com
You're Reading a Preview

Unlock to view full version