Presentation is loading. Please wait.

Presentation is loading. Please wait.

University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn CSCI577 Fall 2010 November.

Similar presentations


Presentation on theme: "University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn CSCI577 Fall 2010 November."— Presentation transcript:

1 University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn CSCI577 Fall 2010 November 10, 2010 11/10/2010 USC-CSSE 1

2 University of Southern California Center for Systems and Software Engineering Outline Looking back Moving into Design Exercise 11/10/2010USC-CSSE2

3 University of Southern California Center for Systems and Software Engineering Design in Valuation Less structured Focus on analyzing system to be built “Translate” concepts and requirements into design language May have mismatches and unresolved issues –But high risks items must be addressed Develop at least 1 feasible architecture –TIM or TSM 11/10/2010USC-CSSE3

4 University of Southern California Center for Systems and Software Engineering For 577 System analysis –System context –Information architecture –Use-cases Only focused on the behavior of the system –What can the system do? –No specific details yet –No actual implementation 11/10/2010USC-CSSE4

5 University of Southern California Center for Systems and Software Engineering Forward to Foundations Translate system behavior into detailed designs and implementations Convince stakeholders that you have a stable architecture –Based on risks and values Commit to 1 architecture for development –Something that is feasible No unresolved issues or items –No “potential” elements –No unreferenced items (traceability) 11/10/2010USC-CSSE5

6 University of Southern California Center for Systems and Software Engineering For 577 Polish up the system analysis model Develop a Technology-Specific Design –High risk items –Architecturally significant items –Specify all technologies used Complete traceability of critical use-cases 11/10/2010USC-CSSE6

7 University of Southern California Center for Systems and Software Engineering Outline Looking back Moving into Design Exercise 11/10/2010USC-CSSE7

8 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/10/20108USC-CSSE

9 University of Southern California Center for Systems and Software Engineering Software Deployment An important perspective –Helps determine feasibility of implementation –Hardware and platform support All software must be deployed Most 577 projects have trivial deployment configurations –Few hardware nodes –Rare concerns with mobile 11/10/20109USC-CSSE

10 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 –Placement of executable components on physical hosts –“Instances” of components 11/10/2010USC-CSSE10

11 University of Southern California Center for Systems and Software Engineering Hardware Components 11/10/201011USC-CSSE

12 University of Southern California Center for Systems and Software Engineering Software Components 11/10/201012USC-CSSE

13 University of Southern California Center for Systems and Software Engineering Deployment 11/10/201013USC-CSSE

14 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/10/201014USC-CSSE

15 University of Southern California Center for Systems and Software Engineering Association Relationships Association –Ability for one component to communicate with another component 11/10/201015 class A { private: B* itsB; }; USC-CSSE *http://ootips.org/uml-hasa.html

16 University of Southern California Center for Systems and Software Engineering Composition Relationship Composition –Components live and die with the parent 11/10/201016 class Car { public: virtual ~Car() {delete itsCarb;} private: Carburetor* itsCarb }; USC-CSSE *http://ootips.org/uml-hasa.html

17 University of Southern California Center for Systems and Software Engineering Aggregation Relationship Aggregation –Whole/part relationship –The same as association, but no cyclic relationship –Part cannot contain its whole 11/10/201017 class Node { private: vector itsNodes; }; USC-CSSE *http://ootips.org/uml-hasa.html

18 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/10/201018USC-CSSE

19 University of Southern California Center for Systems and Software Engineering Clock In Sequence 11/10/201019USC-CSSE

20 University of Southern California Center for Systems and Software Engineering Notes Always treat NCS components as external component or actors Treat NDI as a component (you do not know its underlying architecture) Only design what you can implement 11/10/201020USC-CSSE

21 University of Southern California Center for Systems and Software Engineering Outline Looking back Moving into Design Exercise 11/10/2010USC-CSSE21

22 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/200922

23 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/200923

24 University of Southern California Center for Systems and Software Engineering Information to store Volunteer information Employee information Awards Time sheet Jobs 11/25/200924

25 University of Southern California Center for Systems and Software Engineering HW/SW Components Hardware –FreeBSD application server –Windows workstations –Mac OS X workstations Software components –User Interface components –Time management component –User management component –Job management component 11/10/2010USC-CSSE25

26 University of Southern California Center for Systems and Software Engineering Ends at 1:10 pm DEN students: Take 20 mins to evaluate and answer

27 University of Southern California Center for Systems and Software Engineering Artifacts and Information Diagram 11/25/200927

28 University of Southern California Center for Systems and Software Engineering Time Management Class 11/10/2010USC-CSSE28


Download ppt "University of Southern California Center for Systems and Software Engineering Approaching the Design Stages Pongtip Aroonvatanaporn CSCI577 Fall 2010 November."

Similar presentations


Ads by Google