Upload
delilah-contreras
View
20
Download
1
Embed Size (px)
DESCRIPTION
Programming in C#. Group 6. Project Specification. Cameron McHugh. C# Basics. Basic syntax Control structures Types Object-oriented Polymorphism Delegates. C# vs. Java/C++/etc. .NET Framework vs. Java API JVM vs. CLR Similarities ( Intermediate language, Object Oriented, Networking ) - PowerPoint PPT Presentation
Citation preview
Programming in Programming in C#C#
Group 6Group 6
Project SpecificationProject Specification
Cameron McHugh Cameron McHugh
G r o u p 6G r o u p 6
C#C#C# BasicsC# Basics
Basic syntaxBasic syntax Control structuresControl structures TypesTypes Object-orientedObject-oriented PolymorphismPolymorphism DelegatesDelegates
G r o u p 6G r o u p 6
C#C#C# vs. Java/C++/etc.C# vs. Java/C++/etc.
.NET Framework vs. Java API.NET Framework vs. Java API JVM vs. CLRJVM vs. CLR Similarities (Similarities (Intermediate language, Intermediate language,
Object Oriented, NetworkingObject Oriented, Networking)) Differences (Differences (C# not cross platform, Java C# not cross platform, Java
more open sourcemore open source)) Java Sun One Studio -> FreeJava Sun One Studio -> Free Visual Studio .NET -> $$$Visual Studio .NET -> $$$ Faster assembled IL vs. slower runtime Faster assembled IL vs. slower runtime
interpreted byte codeinterpreted byte code
G r o u p 6G r o u p 6
C#C# Threading & Process Threading & Process ControlControl
Threading BasicsThreading Basics Asynchronous Callbacks and Asynchronous Callbacks and
DelegatesDelegates Thread Control & SynchronizationThread Control & Synchronization Deadlocks and Thread StarvationDeadlocks and Thread Starvation
G r o u p 6G r o u p 6
C#C#NetworkingNetworking
TCP/IP Sockets (not as TCP/IP Sockets (not as interesting)interesting)
Remoting and Distributed Remoting and Distributed Applications (more interesting)Applications (more interesting)
SOAP and Object SerializationSOAP and Object Serialization
G r o u p 6G r o u p 6
C#C#What is .NET?What is .NET?
Definition of .NETDefinition of .NET Multiple Languages (C#, Multiple Languages (C#,
VB .NET, C++, J#)VB .NET, C++, J#) XML Web ServicesXML Web Services Framework/Environment Framework/Environment
for Connecting Devicesfor Connecting Devices Suitable Suitable environmentenvironment
for developing mobile for developing mobile and ubiquitous and ubiquitous applicationsapplications
What’s new in Visual What’s new in Visual Studio .NET?Studio .NET?
G r o u p 6G r o u p 6
C#C# Potential Learning Objects Potential Learning Objects & Interactive Components& Interactive Components
Quiz Applet for C# BasicsQuiz Applet for C# Basics Visual demonstration of byte code Visual demonstration of byte code
assemblyassembly Visual display of remoting functionalityVisual display of remoting functionality Visual display of threading (including Visual display of threading (including
synchronization issues)synchronization issues) Mini quizzes at end of major concept Mini quizzes at end of major concept
items (i.e. What is .NET)items (i.e. What is .NET)
Project DocumentationProject Documentation
Andrew SutherlandAndrew Sutherland
G r o u p 6G r o u p 6
C#C# Project Documentation Project Documentation ContentContent
Web Site DocumentationWeb Site Documentation User manual, developer manualUser manual, developer manual Description of the purpose of tutorialDescription of the purpose of tutorial Introduction of the group membersIntroduction of the group members Directory structure diagramDirectory structure diagram Information via a data dictionaryInformation via a data dictionary
G r o u p 6G r o u p 6
C#C# Project Management Project Management DocumentationDocumentation
Project management Project management documentationdocumentation
Project task network and risk tableProject task network and risk table Presentation contentPresentation content Details of person hours per individual Details of person hours per individual
tasktask Summary table of total person hours Summary table of total person hours
during each phaseduring each phase
G r o u p 6G r o u p 6
C#C#DocumentationDocumentation
Documentation considered an integral Documentation considered an integral aspect of web development. Allocate aspect of web development. Allocate resources accordingly.resources accordingly.
Develop documentation concurrently Develop documentation concurrently with website content. with website content.
Reflect any changes in web design with Reflect any changes in web design with appropriate changes in documentation.appropriate changes in documentation.
Record meeting minutes and attendees.Record meeting minutes and attendees.
G r o u p 6G r o u p 6
C#C#Documentation (cont’d)Documentation (cont’d)
Update task network as project Update task network as project proceeds.proceeds.
Update risk table as project proceeds.Update risk table as project proceeds. Record individual time expenditures. Record individual time expenditures. Log all testing procedures and results.Log all testing procedures and results. Integrate required documentation into Integrate required documentation into
their respective index pages.their respective index pages.
Project ManagementProject Management
Dong JuDong Ju
G r o u p 6G r o u p 6
C#C#Project RisksProject Risks
Not precise understanding the requirements Not precise understanding the requirements 25%25% 11
Inefficient allocation of human resourcesInefficient allocation of human resources 80%80% 44
Integration inconsistency of the projectIntegration inconsistency of the project 50%50% 22
Poor organizational structurePoor organizational structure 30%30% 22
Not appropriate scope of the projectNot appropriate scope of the project 35%35% 22
Tasks can not be completed in the required time Tasks can not be completed in the required time frameframe
20%20% 22
Can not meet the deadlineCan not meet the deadline 5%5% 22
Failure in participation of some members due to Failure in participation of some members due to emergency problems emergency problems
10%10% 33
G r o u p 6G r o u p 6
C#C# Technical RisksTechnical Risks
Failure in group communicationFailure in group communication 50%50% 33
Software version control would not be enforced Software version control would not be enforced tightly enoughtightly enough
40% 40% 22
Not enough information for the tutorialNot enough information for the tutorial 25%25% 22
Lack of experience in C# and necessary toolsLack of experience in C# and necessary tools 70%70% 22
Poor applets designPoor applets design 30%30% 22
Failure in applets implementationFailure in applets implementation 25%25% 22
Time consumption of the applets for browsers Time consumption of the applets for browsers 20%20% 33
Business RisksBusiness Risks Requirements changingRequirements changing 10%10% 22
G r o u p 6G r o u p 6
C#C#Risk AnalysisRisk Analysis
Risk:Risk: – Tasks not completed within required timeTasks not completed within required time
Mitigation:Mitigation: – Careful analysis of project scope and tasksCareful analysis of project scope and tasks– Reasonable allocation of resourcesReasonable allocation of resources– Subtask division (milestones)Subtask division (milestones)
Management:Management:– Reallocation of the human resourcesReallocation of the human resources– Bigger whipBigger whip
G r o u p 6G r o u p 6
C#C#Risk AnalysisRisk Analysis
Risk:Risk: – Misunderstanding requirementsMisunderstanding requirements
Mitigation:Mitigation: – Group discussionGroup discussion
Management:Management: – Recheck the requirements every Recheck the requirements every
milestonemilestone
G r o u p 6G r o u p 6
C#C#Risk AnalysisRisk Analysis
Risk:Risk: – Failure in applet implementationFailure in applet implementation
Mitigation:Mitigation: – Careful determination of applet Careful determination of applet
complexity complexity – Reasonable allocation of resourcesReasonable allocation of resources
Management:Management:– Reallocation of resourcesReallocation of resources– Utilize other techniquesUtilize other techniques
G r o u p 6G r o u p 6
C#C#
Project Tasks DefinitionProject Tasks Definition
T1. Determine project topicT1. Determine project topic T2. Division of groupT2. Division of group T3. Perform initial topic researchT3. Perform initial topic research T4. Determine project scopeT4. Determine project scope T5. Determine initial list of appletsT5. Determine initial list of applets T6. Construct the task networkT6. Construct the task network T7. Perform risk analysisT7. Perform risk analysis
Milestone1 Requirement PresentationMilestone1 Requirement Presentation
G r o u p 6G r o u p 6
C#C#
T8. Perform initial website designT8. Perform initial website design T9. Finalize researchT9. Finalize research T10. Design appletsT10. Design applets T11. Finalize website designT11. Finalize website design T12. Initial testingT12. Initial testing
Milestone 2 Design PresentationMilestone 2 Design Presentation
Project Tasks DefinitionProject Tasks Definition
G r o u p 6G r o u p 6
C#C#
T13. Implement appletsT13. Implement applets T14. Integrate website contentT14. Integrate website content T15. Integrate appletsT15. Integrate applets T16. Complete project testingT16. Complete project testing
Milestone 3 Product PresentationMilestone 3 Product Presentation
Project Tasks DefinitionProject Tasks Definition
G r o u p 6G r o u p 6
C#C#
T17. Complete project documentationT17. Complete project documentation T18. Complete project packagingT18. Complete project packaging
Project Tasks DefinitionProject Tasks Definition
Submit Final ProjectSubmit Final Project
G r o u p 6G r o u p 6
C#C#
T1T3
T2
T4
T5
T6 T7
T9
T12
T10T8
T16T15T14T13
T11
M3
M2
M1
T17 T18Final Submission
Task NetworkTask Network
G r o u p 6G r o u p 6
C#C#
Group organizationGroup organization
Group CoordinatorGroup Coordinator Project coordinator ensures standard of the project and Project coordinator ensures standard of the project and
liaises regularly with the professor and group members.liaises regularly with the professor and group members.
Project ManagerProject Manager Project manager ensures that project task and milestone Project manager ensures that project task and milestone
deadlines are met, and oversees resolution of any team deadlines are met, and oversees resolution of any team issues.issues.
Six development Team LeadersSix development Team Leaders Teams divided according to skill and individual interest.Teams divided according to skill and individual interest. Each group leaders responsible for making detailed Each group leaders responsible for making detailed
decisions and managing his/her sub-group. Also decisions and managing his/her sub-group. Also responsible for recording team meeting minutes and time responsible for recording team meeting minutes and time expenditures.expenditures.
G r o u p 6G r o u p 6
C#C# Group Organization Group Organization (cont’d)(cont’d)
Group CoordinatorGroup Coordinator Andrew SutherlandAndrew Sutherland
Project ManagerProject Manager Ayan ChowdhuryAyan Chowdhury
Research GroupResearch Group Cameron McHughCameron McHugh
Web-design GroupWeb-design Group Jesse RegierJesse Regier
Presentation GroupPresentation Group Kenta Sugimoto Kenta Sugimoto
Applet Group Applet Group Ryan OrthRyan Orth
Documentation GroupDocumentation Group Yu GaoYu Gao
Testing and Integration Testing and Integration GroupGroup
Karen (Chiu-Hui Hsu)Karen (Chiu-Hui Hsu)
G r o u p 6G r o u p 6
C#C# Group Organization Group Organization (cont’d)(cont’d)
Research GroupResearch Group Web design GroupWeb design Group
Ryan OrthRyan Orth Ayan ChowdhuryAyan Chowdhury
Andrew SutherlandAndrew Sutherland Dong JuDong Ju
Dong JuDong Ju Yu GaoYu Gao
Cameron McHughCameron McHugh Karen (Chiu-Hui Karen (Chiu-Hui Hsu)Hsu)
Jesse RegierJesse Regier
G r o u p 6G r o u p 6
C#C# Group Organization Group Organization (cont’d)(cont’d)
Presentation GroupPresentation Group Applet GroupApplet Group
Fangsheng ShuaiFangsheng Shuai Cameron McHughCameron McHugh
Kenta SugimotoKenta Sugimoto Kenta SugimotoKenta Sugimoto
Fangsheng ShuaiFangsheng Shuai
Ryan OrthRyan Orth
G r o u p 6G r o u p 6
C#C# Group Organization Group Organization (cont’d)(cont’d)
Documentation Documentation GroupGroup
Testing and Testing and Integration GroupIntegration Group
Ayan ChowdhuryAyan Chowdhury Karen (Chiu-Hui Karen (Chiu-Hui Hsu)Hsu)
Jesse RegierJesse Regier Kenta SugimotoKenta Sugimoto
Andrew SutherlandAndrew Sutherland Ayan ChowdhuryAyan Chowdhury
Yu GaoYu Gao
G r o u p 6G r o u p 6
C#C#Time TableTime Table
NameName Personal Time Personal Time spendingspending
Group MeetingGroup Meeting TotalTotal
Jesse RegierJesse Regier 33 77 1010
Ayan Ayan ChowdhurryChowdhurry
88 66 1414
Yu gaoYu gao 33 77 1010
Chiu-Hui HsuChiu-Hui Hsu 11 55 66
Dong JuDong Ju 66 77 1313
Ryan OrthRyan Orth 22 44 66
Andrew Andrew SutherlandSutherland
22 77 99
Fangsheng Fangsheng ShuaiShuai
66 44 1010
Kenta SugimotoKenta Sugimoto 66 44 1010
Cameron Cameron McHughMcHugh
77 77 1414
Total(hr)Total(hr) 4444 5757 101101
G r o u p 6G r o u p 6
C#C#
Useful LinksUseful Links
http://java.oreilly.com/news/farley_0800.htmlhttp://java.oreilly.com/news/farley_0800.html Comparison between J2EE and .NET Comparison between J2EE and .NET
http://http://msdn.microsoft.com/vcsharpmsdn.microsoft.com/vcsharp//
Microsoft official site for c# and .NetMicrosoft official site for c# and .Net www.c-sharpcorner.comwww.c-sharpcorner.com
Non proprietary c# developers siteNon proprietary c# developers site www.softsteel.co.uk/tutorials/cSharp/cIndex.htwww.softsteel.co.uk/tutorials/cSharp/cIndex.ht
mlml
Comprehensive c# tutorialComprehensive c# tutorial
G r o u p 6G r o u p 6
C#C#
Questions ??Questions ??
??????