Model user requirement with an appropriate number of
CLASSes which are defined in terms of
A Method in One class can invoke a Method in another class
Method ORDER.fullfillORDER can invoke INVENTORY.reduceINVENTORY
Define CLASSes along with ATTRIBUTES and METHODS using
A “pure” object oriented language like C++ or Java
A “hybrid” but easier-to-use alternative could be ...
A large and complex application that manages the internals of a big company can have hundreds of classes, each with its own attributes and methods. Managing all this is not easy !! We need to define a process for doing all this ...
Three Tier Architecture Application in Execution Application Not Executing Relational Database Non Relational Database OR transient objects in application persistent objects in database Commercial, “business” applications RARELY use NON RELATIONAL database CLASS definition O2 O3 O4 O1 CLASS definition User Interface
System Development Life Cycle Functional Specification Program Review Checklist Complexity Determination / Estimate Technical Specification Test Support Unit Test Plan Program Source Code Code Bundle / Demo Unit Test Results Support (optional) Pre-Production Support Technical Review Client Review Client Review Programmer Driven USER Driven Functional Design Estimate Technical Design Deliver Test Support Develop Methodology Component Communication & Coordination (all teams) Technical Design Walkthrough Code Review Client Sign Off Legend Task With Deliverable Task Without Deliverable Optional Service Area Process Checkpoint
The WaterFall Method – A simplified view Analysis Design Coding Test / Deploy Users define what they want from the system Programmers re-define what they believe the users want in a more structured manner Actual program is built using an appropriate computer language like C, Java, VisualBasic Application is tested and then deployed in the end users machine
The WaterFall Method – Deliverables Analysis Design Coding Test / Deploy Requirements Analysis Document written in simple English language Systems Specifications written in terms of e.g. TABLES, COLUMNS, METHODS, FUNCTIONS Programs written in an appropriate language and tested individually. Unit Test Report for each program All programs tested together to ensure compatibility and consistency Integration Test Report