Informatics: Silver Bullet (Quiz 2)

Ace your homework & exams now with Quizwiz!

no magnitude improvement because of:

The essential difficulties CCCI

Essential Difficulties

a characteristic of software - difficulties inherent in the nature of software - datasets, relationships among them, algorithms etc - Inherent properties of modern software systems: complexity, comformity, changability, invisibility

Accidental difficulties

a problem in today's production methods - difficulties related to the actual production process

Software is inherently difficult

even if we remove all accidental difficulties, still at its essence software development is difficult - removing accidental difficulties will not affect software's inherent difficult properties CCCI

Consequences of Changeability

- more press on software to get changed - software gets changed frequently and deviates from original design - re-usability less successful because of so much change

High-level languages

- most powerful breakthrough for software development - programmers don't have to develop for individual machines - powerful stroke for productivity, reliability, and simplicity - removes low level complexities

Difficulties in Essence of Software: Changeability

- must model changing real world - increase functionality (update) - run on new hardware - new applications, users, machines, standards, laws, etc - all successful software gets changed - easier to change then hardware - people underestimate difficulties of change

Difficulties in Essence of Software: Complexity

- no 2 parts alike - huge number of states - can't know whole domain process or system - can't abstract away complexity because it is essential

Consequences of Complexity

- not easily understood or learned - technical problems - management problems - communication overhead

False silver bullets

- object oriented programming (helps in design but does not solve design complexity problem) - AI - automatic programming, code generation (hard to imagine a general solution) - graphically programming (no hope, software is difficult to visualize) - programming verification (a lot of work, hard to have program meet consistent specification) - Better workstations

Ways to deal with Invisibility

- use of multiple models, for many views of system

Potential Silver Bullets

- Buy vs Build (buy software instead of create it) - requirement refinement, rapid prototyping (have to show product to customer to get complete specification) - incremental development (grow systems dont build them) - great designers

Difficulties in Essence of Software: Conformity

- Software must conform to human institutions and systems - must interface with existing systems - software very easily changeable, so must conform - conform to operating environment, hardware - interface with existing system

High level programming language

- accidental difficulty of low level programming language (assembly) - high level language helps to get rid of the accidental difficulty brought by the inadequacy of the low level language

Time-sharing

- better programmers and programming languages - don't have to accommodate for machine language anymore - system response time faster

Ways to deal with Complexity

- breakdown system into manageable chunks - breakdown development process into phases, tasks, subtasks - team programming

Difficulties in Essence of Software: Invisibility

- cannot visualize all aspects at once - difficulty understanding - difficult communication - no obvious representation - very complex/hidden - only can really see the external input/output view

Ways to deal with Changeability and Conformity

- change management - configuration management

Essence and Accidents

- essence is what the software does - accidents are the technology by which the software (was developed) / (does the essence)

Past breakthroughs for accidental difficulties

- high level languages - time-sharing - integrated programming environments, libraries, unified file formats, pipes, filters


Related study sets

Econ Final Study Guide- Multiple Choice Flash Cards

View Set

Chapter 10 Carrier Wide Area Networks (WANs)

View Set

Life Policy Provisions, Riders, and Options

View Set

MIS 3353 - Multi-Table SQL & Compounding Data

View Set

Troubleshooting High-Speed Data Service

View Set

MUS 306 Exam 1 (Chapters 1/2/Notes)

View Set

Topic 9 - Requirements of an Insurable Risk

View Set