Download presentation
Presentation is loading. Please wait.
Published byVictor Strickland Modified over 9 years ago
1
“Planning” or “why use objects?” ACO101: Introduction to Computer Science
2
The Realities of Software 1.Software is complex 2.Programmers have to make it look easy 3.Useful, real- world software has to: 1.Handle Change 2.Handle Complexity
3
About the future of software development... "There is no single development, in either technology or in management technique, that by itself promises even one order of magnitude improvement in productivity, in reliability, in simplicity.“ "No Silver Bullet" by Frederick Brooks. Computer, 1987
4
Quality software is difficult "Programming is fun, but developing quality software is hard. In between the nice ideas, the requirements or the ‘vision’, and a working software product, there is much more than programming.” Applied UML and Patterns, Forward by Philipe Kruchten (IBM Rational)]
5
Miller’s Law At any one time, a person can concentrate on at most 7 2 chunks (units of information) To handle larger amounts of information, use stepwise refinement Concentrate on the aspects that are currently the most important Postpone aspects that are currently less critical Every aspect is eventually handled, but in order of current importance This is an incremental process that is implemented in iterations.
6
The Programming Developmental Process The programming developmental process is initialized by a project. – The project has a lifecycle. The lifecycle organizes the tasks into phases and iterations – there are 4 phases – Inception phase (hey I want to do something) – Elaboration phase (this is what I want to build to do the thing I want to do) – Construction phase (build it) – Transition phase (put it out there so that someone can use it)
7
4 Phases – Development Lifecycle Inception (Analysis & Design) – Business Requirements Business Analyst Game designers – Technical Specifications Programmers Elaboration (Design) – Functional specification document – Project Manager Construction (Implementation) – Programmers – Animators/Modelers Transition (Testing and Deployment) – Programmers – Testers – Project Manager
8
What is programming? Programming is the art of making a computer do what you want it to do – Computers are stupid; they do exactly what you tell them to do and the operations are extremely primitive. A computer program is simply a set of instructions to tell a computer how to perform a particular task. – It's like a recipe: a set of instructions to tell a cook how to make a particular dish. It describes the ingredients (the data) and the sequence of steps (the process) needed to convert the ingredients into the cake or whatever.
9
Q: How do I make a recipe for the computer? A: Break it down – abstract the problem. (This is the Inception AKA Analysis and Design phase)
10
Ways to break it down (abstract the problem domain) Procedurally = algorithms – Things happen when subprograms are called and statements are executed Object-oriented = classes and objects – Things happen when objects are operated on Logic = goals – Things happen based on what need to happen next to attain a goal Rule based = if then rules – Things happen when events cause new rules to fire Constraint = invariant relationships – Things happening is dependent on what you can’t do.
11
Object Oriented Abstraction classes and objects Things happen when objects are operated on
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.