1 / 15

MCS 270 Spring 2014

MCS 270 Spring 2014. Object-Oriented Software Development. MCS 270 Object-Oriented Software Development. Today ’ s schedule. System Conception: Development Stages Development Approaches Requirements/Design/Implementation. MCS 270 Object-Oriented Software Development.

chiaramonte
Download Presentation

MCS 270 Spring 2014

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. MCS 270 Spring 2014 Object-Oriented Software Development

  2. MCS 270 Object-Oriented Software Development Today’s schedule System Conception: Development Stages Development Approaches Requirements/Design/Implementation

  3. MCS 270 Object-Oriented Software Development Software Development Process “You’ve got to be very careful if you don’t know where you’re going, because you might not get there.” Yogi Berra

  4. MCS 270 Object-Oriented Software Development Development Stages System Conception What is application? General description (Chap 10-11) Analysis - Domain Analysis: Class, State Models (Chap 12) - Application Analysis: Use Case, Interaction, Activity Models (Chap 13) System Design - Overall architecture (sub-systems) - Design Patterns (e.g. MVC) Class Design - Refinement of Design: Completely specify class details - Choose Algorithms/data structures to implement each class Implementation - Translation of object classes and relationships to an object-oriented language - Unit Tests Testing – Unit tests during Implementation, System tests Training – Documentation Deployment – User tests Maintenance – Fixing bugs, enhancements/modifications time

  5. MCS 270 Object-Oriented Software Development Why do we need a Development Strategy? Many Projects Fail due to: Ad hoc requirements management Ambiguous and imprecise communication Overwhelming complexity Insufficient testing Subjective assessment of project status Uncontrolled change propagation Late Discovery of Structural Flaws

  6. MCS 270 Object-Oriented Software Development Software Development: Best Practices • Develop software iteratively • Manage requirements (Domain, Application Models) • Use component-based architectures (GWT, GAE) • Visually model software (UML) • Continuously verify software quality (Unit Testing) • Control changes to software (GIT)

  7. MCS 270 Object-Oriented Software Development Planning The “classic” waterfall lifecycle Analysis Logical Design Physical Design Implementation

  8. MCS 270 Object-Oriented Software Development Planning Analysis Risk pushed forward in time Logical Design Risk Physical Design Implementation Time

  9. MCS 270 Object-Oriented Software Development Iterative Approach Initial Planning Requirements Planning Analysis and Design Evaluation • continuous discovery and implementation • -each iteration results in an executable Implementation Test

  10. MCS 270 Object-Oriented Software Development Advantages of the iterative approach • Misconceptions are evident early • Encourages user feedback • Continuous testing allows objective project assessment • Inconsistencies between analysis, design, and • implementation detected early • Workload spread evenly (especially testing)

  11. MCS 270 Object-Oriented Software Development System Conception • Start with “germ” of an idea • Explore needs of users and possible solutions/applications • “Big Picture Work” • Keep Separate: Requirements/Design/Implementation • Question: What is to be done? • NotHow is it to be done?

  12. MCS 270 Object-Oriented Software Development Problem/Requirements Statement Includes: Application Scope/Description Application Context (Whereused, who uses) Assumptions Performance Needs

  13. Example: Currency Conversion System • Problem (Requirements) Statement: • Develop a web-based system to convert $US to: • Brazilian currency • Canadian currency • United Kingdom currency • Japanese currency • Chinese currency • Euro • use the exchange rate within the last 12 hours. • Also allow the “reverse currency” computation

  14. MCS 270 Object-Oriented Software Development Use Case Exercise • Groups of 3-4: Create a Use Case analysis of “GusList” – an on-line classified ad service for the Gustavus community. • Ideal: Design use cases in conversation with users (Students, Faculty, Staff) • Next Best – You will practice this in conversation with each other. • Task: Identify • Actors • Use Case Names (General) • By next Tuesday, prepare (individually) a Requirements statement and a use case document. • Document contains: Requirements statement. Use Case diagram(s). At least two fully developed Textual Descriptions.

  15. MCS 270 Object-Oriented Software Development Assignments Monday – Briefly Review Chapters 12,13 Continue GusList Use Case Project Homework: GusList Use Case Report Due: Tuesday, Feb. 25

More Related