1 / 37

c2/cgi/wiki?BigDesignUpFront

http://c2.com/cgi/wiki?BigDesignUpFront. % of time spent. The Dream Curve. Spec Analysis Design Code Integration Test Maintenance. SW Implementation Steps. · All projects cross the following milestones.

elias
Download Presentation

c2/cgi/wiki?BigDesignUpFront

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://c2.com/cgi/wiki?BigDesignUpFront % of time spent The Dream Curve Spec Analysis Design Code Integration Test Maintenance

  2. SW Implementation Steps · All projects cross the following milestones. · If a project doesn't explicitly deal with any of the following steps, it does so implicitly with less efficiency and effect. (i.e. ignoring these steps doesnt make them go away). · Different methodologies emphasize different steps, but all are addressed.

  3. Pre-Project Planning 1. A problem or business opportunity presents itself 2. Technical feasibility 3. Business Justification/ Business Plan

  4. Failures, why? • Internet pizza delivery • Flowbee • Osbourne portable computers ...more? something in the news? http://oldcomputers.net/osborne.html

  5. Customer Involvement 4. System Specification- problem space definition of the need. What does “Problem Space” refer to? What does “Solution Space” refer to? This is your Phase 2

  6. Problem vs. Solution Space • No solution space context, only a problem space:http://www.youtube.com/watch?v=dq_SJ7CtnZI • Great job of modeling the problem space: http://www.youtube.com/watch?v=ES5UNMt7mrQ http://www.youtube.com/watch?v=W1czBcnX1Ww http://www.youtube.com/watch?v=VXJZVZFRFJc

  7. $85/hr. Salary - about $45/hr • You pay taxes, Soc. Sec., and Medicare Almost 50% for other things • Benefits • NY and Fed mandated payments • Workers Compensation • Insurances • Utilities, Leases, Equipment • Non-billable personnel

  8. “Systems” Engineering 5. Solicitation of Solutions 6. Analysis 7. Hardware/Software/Mechanical Allocation 8. Software-to-Environment Interface Specification $85/hr

  9. Computers touch the environment Industrial computing • http://singularityhub.com/2010/02/11/no-humans-just-robots-amazing-videos-of-the-modern-factory/

  10. Information Engineering 9. Information Flow/ Data Flow Diagram- computers merely put the correct information in the right form at the right place at the right time “all systems should be describable purely in terms of the information that it passes around” $75/hr

  11. Data Flow Diagram - not a flow chart Data Movement Temporary Storage Sink Data Conversion data after Source data before DFD Standard Shapes Arrows, of course, should be labeled Every arrow should have an entry in a "data dictionary"

  12. Data Flow Diagram Example - address book Menus "Contacts" Phone Module Screen Contact Query Name Phone Commands Build the Screen Dial the Phone Contact List Db Name Call Cmd Screen Display Name & Number Number

  13. SW Planning 10. Software Requirement Specification-solution- space description This is your Phase 3 11. Acceptance Test Plan- when to celebrate 12. Requirements Review 13. Budgetary Estimate- why is this always done first? 14. Assemble a team $65/hr.

  14. A real project example

  15. FPGA Algorithm & Programming FPGA Demo Board July ‘04 DSP Board Aug. ‘04 RF Module Mock-up RF Main 2nd Board Modifications & Builds I I Aug. ‘04 II RF Component Prototypes Mid. Jan. ‘05 RF Housing April ‘05 I II Final Board Modifications Sept. ‘04 Mid. Apr. ‘05 III USB SBC UI Review II Mid Jul. ‘05 User Interface Proto I April ‘05 Proto II Proto Final End Aug. ‘04 Dec. ‘04 Display Mid. Feb. ‘05 Mid. June ‘05 Sep. ‘05 VNA Board II I 2nd Art. Sept. ‘04 Apr. ‘05 I/O ‘Hub’ 3rd Art. SLA Mid. Oct. ‘04 Mid. Jul. ‘05 Packaging & DFM Tooling 1st Art. Mid. Sept. ‘05 Case Final Fixes P1 !! Mid. Nov. ‘04 Concept/Industrial Design Aug. ‘04 Mid. May ‘05 Mid-Jan. ‘05 Keypad Oct. ‘04 Battery End Oct. ‘05 Pilot Build Sept. ‘04

  16. Architecture 15. Develop a supervisory scheme if Structured Design: "calling”chart if OO Design: main supervisory objects those classes and object that run the program not those that do the work $125/hr This is your Phase 3 block diagram, top level

  17. Structure Chart - for non-OO languages - not a flow chart Boss Data/Status can go in both directions status data Worker Worker Tenets: One supervisor should have (only) 7 +/- 2 workers Information is never passed laterally (Chain of Command maintained) Workers never tell the Boss what to do

  18. Air Traffic Control aircraft positions Radar Database Display Sweep Data Conversion Add Remove Edit Display Refresh UI Data Interpretation Disk Access Record Playback

  19. Architecture 16. Top Level Design Structured: all modules OO: all objects, abstract into classes This is your Phase 3 block diagram, detailed level 17. Data Structures 18. Preliminary Design Review - results in permission to Detail 19. Schedule - only at this point can you develop a reasonable schedule $85/hr.

  20. RFID tag example - follows a person wearing a badge, places person on a map a module based in hardware data RFID-Asset/People Tracker manager all the menus

  21. Top-most Level • Defining major modules that are characteristically different from each other • Hardware clearly identified in the system • 4-6 major modules

  22. Second Level • Purpose is to identify and display the extent of the software task • 12-15 modules • Note the difference between management modules and utilities (think levels of supervision). • User interface components clearly identified • Storage components clearly identified • Show safety and error-handling subsystems

  23. an incremental approach? • pick a representative flow of control through your system • a sampling of inputs, processing, and outputs • a sampling of stored data • at least one working item on each user interface screen • will serve as the foundation of the rest of the system • can be added-to in incremental builds • each day, something is working • errors are isolated to the latest add-on

  24. 1. RFID processing (most time-critical input) 2 .A portion of RFID input 3. Omit verification (verification not a risk) 4. Just enough UI to process RFID (proves UIMgr-to-LiveStreaming-to-InputProcessing-to-GUI) 5. Omit authentication, send data to Db module (authentication is not a risk) 6. Minimal Db control (proves Mgr to Db interface) 7. Just enough Db to verify RFID (proves disk I/O) 4 1 3 6 5 2 7

  25. First Add-on: the authentication subsystem

  26. Second Add-on: tracking daytime activities

  27. Schedule Concerns • Which modules can be done in parallel? • Which modules must be done in a particular order? • A graphical representation of this is called a Critical Path (more of this idea when we get to Scheduling & Estimating) • How do you estimate number of people and length of time?

  28. Pert Chart • tasks a and b can start simultaneously • task c can start after a is complete • task d can start after b is complete • c and d must complete before e can begin • a, b, c = 1 week each • d = 4 weeks • e = 3 weeks A c a e E C&D 0 B b d

  29. Architecture 20. Identify Performance/Concurrency/Timing Concerns 21. Interfaces Structured: arguments and parameters OO: contracts

  30. Permission to Code 22. Detailed Design Review – results in permission to code 23. Acceptance Test Procedure & Review the Procedure 24. Configuration Management begun a. Version Control b. Library & Enforced Record Keeping c. Build Control (customizable products, different than versions) $65/hr.

  31. Programming 25. Code 26. Non-execution based testing (e.g. Coding Walkthroughs, Unit Design Reviews) 27. Logical Test of Small Modules $50/hr.

  32. Return of Systems Engineering 28. SW Integration 29. System Integration (HW/SW) 30. Acceptance Test 31. Test Review $85/hr.

  33. Interface to the User 32. User Documentation 33. Delivery/ Installation 34. Training $100/hr.

  34. Post-Project 35. Maintenance 36. Enhancement 37. Archiving 38. Post Project Review

More Related