programming in c#

32
Programming in Programming in C# C# Group 6 Group 6

Upload: delilah-contreras

Post on 01-Jan-2016

20 views

Category:

Documents


1 download

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

TRANSCRIPT

Page 1: Programming in C#

Programming in Programming in C#C#

Group 6Group 6

Page 2: Programming in C#

Project SpecificationProject Specification

Cameron McHugh Cameron McHugh

Page 3: Programming in C#

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

Page 4: Programming in C#

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

Page 5: Programming in C#

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

Page 6: Programming in C#

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

Page 7: Programming in C#

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?

Page 8: Programming in C#

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)

Page 9: Programming in C#

Project DocumentationProject Documentation

Andrew SutherlandAndrew Sutherland

Page 10: Programming in C#

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

Page 11: Programming in C#

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

Page 12: Programming in C#

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.

Page 13: Programming in C#

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.

Page 14: Programming in C#

Project ManagementProject Management

Dong JuDong Ju

Page 15: Programming in C#

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

Page 16: Programming in C#

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

Page 17: Programming in C#

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

Page 18: Programming in C#

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

Page 19: Programming in C#

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

Page 20: Programming in C#

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

Page 21: Programming in C#

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

Page 22: Programming in C#

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

Page 23: Programming in C#

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

Page 24: Programming in C#

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

Page 25: Programming in C#

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.

Page 26: Programming in C#

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)

Page 27: Programming in C#

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

Page 28: Programming in C#

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

Page 29: Programming in C#

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

Page 30: Programming in C#

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

Page 31: Programming in C#

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

Page 32: Programming in C#

G r o u p 6G r o u p 6

C#C#

Questions ??Questions ??

??????