Download presentation
Presentation is loading. Please wait.
Published bySpencer Wilson Modified over 9 years ago
1
University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn November 25, 2009 11/25/20091
2
University of Southern California Center for Systems and Software Engineering Outline Example project –Volunteer Tracking System Artifacts and Information Diagram Design model –Deployment model –Design classes –Sequence diagrams 11/25/20092
3
University of Southern California Center for Systems and Software Engineering Volunteer Tracking System A system to manage volunteers –Online volunteer application submission –Time tracking system –Job management –Authentication –Volunteer management –Award notifications Interfaces with two other systems –EventRSVP (authentication interface) –Newsletter Systems (email interface) –Provide Person Management mechanisms Simplified for this session 11/25/20093
4
University of Southern California Center for Systems and Software Engineering Technologies Utilized Symfony –PHP framework –Implements Model-View-Controller (MVC) –Provides abstractions between the 3 layers PHP MySQL Apache FreeBSD Supports Internet Explorer and Firefox 11/25/20094
5
University of Southern California Center for Systems and Software Engineering Information to store Volunteer information Employee information Awards Time sheet Jobs 11/25/20095
6
University of Southern California Center for Systems and Software Engineering Artifacts and Information Diagram 11/25/20096
7
University of Southern California Center for Systems and Software Engineering Moving to Design System analysis focus on: –System context –System users and actors –Persistent data (Artifacts and Information) Often reflects database schema Data that are “permanently” stored Design focus on: –System execution architecture –In-memory data Data that are retrieved from database during execution Data obtained from system during execution 11/25/20097
8
University of Southern California Center for Systems and Software Engineering Deployment Model Hardware Components –Include the technologies/platform that run on the hardware Software Components –Contain the executing classes Deployment –What software component resides on which hardware –“Instances” of components 11/25/20098
9
University of Southern California Center for Systems and Software Engineering Hardware Components 11/25/20099
10
University of Southern California Center for Systems and Software Engineering Software Components 11/25/200910
11
University of Southern California Center for Systems and Software Engineering Deployment 11/25/200911
12
University of Southern California Center for Systems and Software Engineering Design Classes Boundary classes –The “end” of the system –What the user sees or interacts with Control classes –Contains the logic of the system Entity classes –The entity or data used during execution time –“In-memory” data 11/25/200912
13
University of Southern California Center for Systems and Software Engineering Association Relationships Association –Ability for one component to communicate with another component 11/25/200913 class A { private: B* itsB; };
14
University of Southern California Center for Systems and Software Engineering Composition Relationship Composition –Components live and die with the parent 11/25/200914 class Car { public: virtual ~Car() {delete itsCarb;} private: Carburetor* itsCarb };
15
University of Southern California Center for Systems and Software Engineering Aggregation Relationship Aggregation –Whole/part relationship 11/25/200915 class Node { private: vector itsNodes; };
16
University of Southern California Center for Systems and Software Engineering Design Classes Diagrams See model 11/25/200916
17
University of Southern California Center for Systems and Software Engineering Sequence Diagram Logical sequence representation of the design classes Only model for major use-cases Include all involved classes –Controller –Entities –Boundaries –Actors –Etc. 11/25/200917
18
University of Southern California Center for Systems and Software Engineering Clock In Sequence 11/25/200918
19
University of Southern California Center for Systems and Software Engineering Notes Always treat NDI/NCS components as external component or actors Only design for what you can implement 11/25/200919
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.