Trainings Offered - Ganesh Samarthyam - CodeOps Technologies
-
Upload
codeops-technologies -
Category
Documents
-
view
86 -
download
0
Transcript of Trainings Offered - Ganesh Samarthyam - CodeOps Technologies
![Page 1: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/1.jpg)
Training OfferingsGanesh Samarthyam
(CodOps Technologies LLP)
About the Trainer
Ganesh Samarthyam is co-founder of CodeOps Technologies. Earlier, he worked for Siemens (Corporate Research and Technologies, Bangalore) in “Software Architecture and Development" team for the last 6+ years. Before Siemens, he worked in Hewlett-Packard’s C++ compiler team, Bangalore for 4.5 years. He also served as member of ANSI/ISO C++ standardization committee (JTC1/SC22/WG21) from 2005 to 2007 representing HP. He has Software Engineering Certified Instructor(SECI) and Professional Software Engineering Master (PSEM) certifications from IEEE. His recent book is “Refactoring for Software Design Smells: Managing Technical Debt” (Morgan Kaufmann/Elsevier; November 2014). For more information, visit his websites: http://www.designsmells.com, http://www.codeops.tech or his LinkedIn page: http://bit.ly/sgganesh.
Trainings Offered
Clean Code Training 2 Advanced Core Java Training 4 Effective Object Oriented Programming and Design 6 SOLID Principles and Design Patterns 8 Refactoring in Practice 10 Refactoring to Java 8 12 Software Architecture and Design 15
CodeOps Technologies LLP �1
![Page 2: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/2.jpg)
Clean Code Training Mostsoftwareprojectssufferfromscheduleslippagesandcostoverruns(sometimestheyevengetcancelled)becauseofpoorsoftwarequality.Researchshowsthatdefectintroductionratescanbereducedupto75%byfollowingdisciplinedpersonalpractices!Thiscoursepreciselycoversthesepractices–itdiscussesprovenprogrammingpracticesforcreatingclean(i.e.,robust,stable&maintainable,andsecure)code.
PrerequisiteEntryCriteriaDeveloperswithworkingknowledgeinoneofthefollowinglanguages:C,C++,Java,orC#.Pleaseletusknowthepreferredlanguagesothattheexampleswillbegiveninthatspecificlanguage(oneofC,C++,Java,orC#).
ComprehensiveTraining:• Discusses60specificprogrammingbestpracticesforwritingreliable,stable&
maintainable,andsecurecode;usefulfordevelopersworkinginbothdevelopmentandmaintenanceprojects
• Essentialtrainingforprogrammersworkingindevelopmentprojects
• Example-drivenapproachmakesthetechniqueseasytounderstandandapply
TrainingFeatures:• Introducesimportantprovenbestpracticesforwritingdependablecodetodevelopers
• Introducessystematiccodereviewsandapplystaticanalysistoolstounderstandhowtoeffectivelyfindproblemsinsourcecodeearlyinthedevelopmentlifecycle
• Hands-onexercisestohelpdevelopersinternalizethekeypracticesaswellaskeepthemengagedinthetraining(participantsareexpectedtobringtheirownlaptopsorusethemachinesavailableinthetrainingroom).
CourseContents:• Day1:
• Introductiontowritingdependable(bullet-proof)codewithreal-worldcase-studiesandexamples(1hour)
• 20specifictechniquesforwritingstable,maintainable,andtestablecodewithcodingexamples(6hours)
• Day2:
• 20specifictechniquesforwritingsecurecodewithcodingexamples(3.5hours)
• 20specifictechniquesforwritingreliablecodewithcodingexamples(3.25hours)
• Wrap-upandkeytakeaways(0.25hours)
CodeOps Technologies LLP �2
![Page 3: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/3.jpg)
KeyBenefits:• Createsawarenessonthecostofdefectsandthevalueofhighqualitysoftware
• Empowersthedeveloperswithknowledgeonspecifictechniquesthatcanbeimmediatelyappliedintheirregularwork
• Followingthesetechniqueswillresultinlesserdefectsinthesoftware–benefitcanbeperceivedthroughreducedcostandmorecustomersatisfaction
• Hands-oncodingexercisesenhancetheunderstandingandhelpsparticipantsapplythelearningintheirday-to-daywork.
CodeOps Technologies LLP �3
![Page 4: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/4.jpg)
Advanced Core Java Training Javaisusedinmorethan3billiondevicestoday;itsuserangefromwebapplicationstolunarlanders.ExcellentskillsincoreJavaisamustforwritinghigh-qualitycodewithintightdeadlines.ThistrainingcoversadvancedfeaturesofJava(suchaslambdaexpressionsandgenerics)indetailaswellasbestpracticesforwritinghigh-qualitycodeusingthesefeatures.
PrerequisiteEntryCriteriaDeveloperswithatleast3yearsofworkingexperienceprogramminginJava.
ComprehensiveTraining:• DiscussesallmajorcoreJavatopics;usefulfordevelopersworkinginbothdevelopment
andmaintenanceprojects
• Example-drivenapproachmakesthetechniqueseasytounderstandandapply
• 3daystrainingthatcoversCoreJavatopicsinconsiderabledepthandbreadth;includesbestpracticesforeffectivelyusingtheadvancedJavafeaturesinpractice
TrainingFeatures:• Introducesimportantprovenbestpracticesforwritingdependablecodetodevelopers
• Hands-onexercisestohelpdevelopersinternalizethekeypracticesaswellaskeepthemengagedinthetraining(participantsareexpectedtobringtheirownlaptopsorusethemachinesavailableinthetrainingroom).
CurriculumforAdvancedCoreJavaTrainingThiscoursecoversthefollowingadvancedCoreJavatopicsinconsiderabledepth.
• GenericsandCollections
• LambdaBuilt-inFunctionalInterfaces
• JavaStreamAPI
• UseJavaSE8Date/TimeAPI
• JavaFileI/O(NIO.2)
• JavaConcurrency
• Persistence/Serialization
• Internationalization
• DesignPatternsinJava(examplesfromJDK)
• AdvancedJavaBestPractices
CodeOps Technologies LLP �4
![Page 5: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/5.jpg)
KeyBenefits:• TrainsdevelopersonadvancedcoreJavafeatures;developerscanimmediatelystart
applyingthelearningfromthetrainingintheirprojects.
• CoverslanguageandlibraryfeaturesaddedinJavaversions7and8.
CodeOps Technologies LLP �5
![Page 6: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/6.jpg)
Effective Object Oriented Programming and Design Expertiseinsoftwaredesigniskeyfordesigningandimplementinghigh-qualityenterprisesoftwaresystems.Objectorientedprogrammingisthemainstreamprogrammingparadigmfollowedtodayandisusedextensivelyforcreatingindustrial-strengthsoftware.Thiscoursecovershowtoapplydesignprinciplesandpracticesofeffectivesoftwaredesigncreatinghigh-qualityenterprisesystems.
PrerequisiteEntryCriteriaDeveloperswithworkingknowledgeofJava;knowledgeofUMLdesired(butnotmandatory)
ComprehensiveTraining:• Covers20specificdesignprinciples;covers30specifictechniquesandbestpracticesfor
effectivesoftwaredesign.
• Essentialtrainingfordesignersworkingindevelopmentprojects
• Example-drivenapproachmakesthetechniqueseasytounderstandandapply
• Case-studyapproachinwhichtheparticipantswillbeaskedtocreatedesignforsupportingasmallfeaturerequirement;thedesignwillbeanalyzedforcodesmellsandviolationofdesignprinciples.
TrainingFeatures:• 3daysofclassroomtrainingledbyexperiencedinstructor
• Hard-copyofcoursematerial;coursematerialisbasedonthebooksOracleCertifiedProfessionalJavaProgrammerExam(Apress,2013),and“60TipsonObjectOrientedProgramming”(Tata-McGrawHill,2007)both(co-)authoredbythetrainer.
• Interactive,example-drivenlearningthatgivesapracticalexposureonhowtocreateorimprovehigh-qualitydesigns
CourseContents:• Day1:
• IntroductiontoObjectOrientedProgrammingandDesign(2hours)
• FundamentalOOprinciples(4hours)
• Exercises(1hour)
• Day2:
• Introductiontocodesmellsandrefactoring(1hour)
• RefactoringforFowler’scodesmells(3hours)
CodeOps Technologies LLP �6
![Page 7: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/7.jpg)
• BestpracticesandheuristicsforeffectiveOOdesign(2hours)
• Exercises(1hour)
• Day3(casestudy):
• Creatingdesignforasmallfeaturerequirementfromtheparticipant’sproject(1.5hours)
• Analysisofthedesignscreatedbyeachoftheparticipantsforpotentialcodesmellsandviolationsofdesignprinciples;includessuggestionsforimprovement(5.5hours).
KeyBenefits:• Developerswillknowfundamentalsoftwareengineeringprinciplesandhowtoapply
them
• DeveloperswillknowOObestpracticesandhowtoapplytheminpractice
• Developerswillknowaboutcommoncodesmellsandstrategiesforrefactoringthesmells
• Developerswillbebetterequippedforcreatingeffectivedesignsolutions(thatprovidesthebasisforhigh-qualitysoftware)
CodeOps Technologies LLP �7
![Page 8: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/8.jpg)
SOLID Principles and Design Patterns WhenyoulearnhowtoapplySOLIDprinciplesanddesignpatternsby“discovering”themthroughreal-worldexamplesandcasestudies,you’llrememberthemforever!Bysolvingprogrammingproblems,you’llapplyprinciplesandpatternsinpracticebyidentifyingbadsmellsandrefactorthem.
Creatinghigh-qualitydesignsbyapplyingrelevantprinciplesandpatternsisakeyskillofleadsandarchitects.Ifyouhave3+yearsofdevelopmentexperienceandwanttolearnkeypatterns,thisworkshopiscertainlyforyou.
Prerequisites• DeveloperswithworkingknowledgeofC#/Java;knowledgeofUMLdesired(butnot
mandatory).ProgrammingexamplesandexerciseswillbeprovidedinC#/Java.
• Thisisahands-onsession,sopleasebringyourlaptopstothesession.(Ifyoudon'thavealaptop,youcandopairprogrammingwithotherparticipants).
• EnsurethatVisualStudio(anyversionthatsupportsC#)orEclipse(preferablyJava8)isinstalledinyourmachineforsolvingtheproblems.
Objectives:
• HelpparticipantsunderstandhowtoapplySOLIDdesignprinciplesinpractice
• Helpparticipantsunderstandhowtoapplykeydesignpatternsinpractice
• Helpparticipantsunderstandhowprinciples,patterns,smells,refactoringandtechnicaldebtarerelated
• Helpunderstandhowtoidentifysmellsandrefactorthem;alsouserelevanttoolsforrefactoringasneededproactively.
TrainingFeatures:• 1dayclassroomsessionledbyexperiencedinstructor
• Interactive,example-drivenlearningthatgivesapracticalexposureonhowtocreateorimprovehigh-qualitydesigns;extensivehands-onsessions.
CourseContents:
• Warm-upexerciseonSOLIDprinciplesanddesignpatterns(10:00amto10.30am)
• IntroductiontoSOLIDdesignprinciples,patterns,technicaldebt,smells,andrefactoring(10:00am-10.30am)
• ApplyingSOLIDprinciples(10:30amto01:00pmwith15minutesteabreak)
Lunchbreak(1hour)
CodeOps Technologies LLP �8
![Page 9: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/9.jpg)
• Discoveringcreationalpatterns(FactoryMethod,AbstractFactory,Builder,…)throughexercisesandrefactoring(2.00pmto3:15pm)
• Discoveringstructuralpatterns(Bridge,Composite,Decorator,Flyweight,…)throughexercisesandrefactoring(3:15pmto4:15pmfollowedbyateabreak)
• Discoveringbehaviouralpatterns(Command,Iterator,State,Strategy,TemplateMethod,Visitor,…)throughexercisesandrefactoring(4:30pmto5.45pm)
KeyBenefits:• Developerswillknowfundamentalsoftwareengineeringprinciplesandhowtoapply
them
• Developerswillknowkeydesignpatternsandhowtoapplytheminpractice
• Developerswillknowaboutcommoncodesmellsandstrategiesforrefactoringthesmells
• Developerswillbebetterequippedforcreatingeffectivedesignsolutions(thatprovidesthebasisforhigh-qualitysoftware)
CodeOps Technologies LLP �9
![Page 10: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/10.jpg)
Refactoring in Practice
IntroductionRefactoringisanimportantpracticeforteamstofollowforcreatinghigh-qualitysoftware.RefactoringprocessisintegraltoAgilepracticesandhasreceivedconsiderablefocusinthelastfewyears.Thistrainingonrefactoringfocusesonapplicationofrefactoringconceptsinpracticeinrealworldprojects.Thisisanintermediate-leveltrainingmeantonlyforteamleadsandseniordeveloperswith>4yearsofexperience.
DetailsoftheTrainingProgram• ThetrainingwillbeconductedbyGaneshSamarthyam,anexperiencedtrainer
andauthor.
• Thetrainingwillbefortwo(2)daysandwillcoverthetopicsmentionedbelow.
• Thetrainingwillbefor8hoursperday(excludingtimeforbreaks,actualtraininghourswouldbe6.5hours)forthesetwodaysonthedatesandtimeconvenienttotheclient.
• Amaximumof25participantscantakepartinthistraining.(Limitednumberofparticipantsbecausethistraininginvolveshands-onprogrammingexercisesforrefactoringsmells,numerousexerciseswithextensivediscussionswithparticipants).
• Trainingmaterials/handoutswillbeprovidedtoalltheparticipants.
• Trainingwillbeconductedatclientpremisesoratafacilityarrangedbytheclient.
• Theclientshouldprovidetheinfrastructuretoconductthetraining.Theinfrastructurewouldincludethetrainingroomwithprojectorandwhiteboard.PCs/laptopsareNOTrequiredforconductingthistraining.
PrerequisiteEntryCriteria• Onlyforseniordevelopersorteamleadswithminimum4yearsofexperience.
• ParticipantsareassumedtohaveworkingknowledgeinoneofC++/Java/C#;knowledgeofUMLdesired(butnotmandatory).CodingexamplesaremostlyinJavawithsomeexamplesinC++.
TrainingFeatures• 2daysofclassroomtrainingledbytwoexperiencedinstructors
• Hard-copyofthecoursematerial
CodeOps Technologies LLP �10
![Page 11: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/11.jpg)
• Interactive,hands-on,practicalandexample-driventraining
KeyBenefits• Participantswillbearmedwithin-depthknowledgeoncode/designsmellsand
howtorefactortheminpractice.
• Theparticipantswillknowspecifictoolsandtechniquesfordetectingdesignsmellsandforrefactoringthem.
DetailedCourseContents• Day1–FirstHalf(3hours):
• Introductiontosmellsandrefactoring(0.5hours) • Anexerciseonfindingsmellsfromexamples(1.0hour) • Code-levelrefactoring(0.3hours) • Introductiontodesign-levelrefactoring(0.2hours)• Applyingtheabstractionprinciple(1hour)
• Assigninguniqueresponsibilities• Creatingcoherentabstractions
• Day1–SecondHalf(3.5hours):• Toolsfordesignsmellsdetectionandrefactoring(0.5hours) • Grouphands-onexerciseonrunningtoolsonsamplecodebase(1hour) • Presentationofresultsfromgroups(1hour) • Applyingencapsulationprinciple(1hour)
• Hidingimplementationdetails• Hidingvariations
• Day2–FirstHalf(3hours): • Applyingmodularizationprinciple(1hour)
• Movingfeaturesbetweenobjects• Organizingdata• Makingmethodcallssimpler
• Groupexercise(4groups)onrefactoringsmells(1hour) • Applyinghierarchyprinciple(1hour)
• Exerciseonrefactoringhierarchysmells(15minutes)• Dealingwithgeneralization• Ensuringsubstitutability• Creatingharmonioushierarchies
• Day2–SecondHalf(3.5hours):• Presentationfromgroupsonresultsonrefactoringexercise(1.5hours) • Opendiscussiononexerciseresults(0.5hours) • Big(i.e.,largescale)refactoring(0.5hours) • Communicationandhighlevelrefactoring(0.5hours) • Summary,keytakeawaysandwrap-up(0.5hours)
CodeOps Technologies LLP �11
![Page 12: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/12.jpg)
Refactoring to Java 8 Whythistraining?
TheJava8releasehassomeofthemostimportantfeatureaddimonstotheJavalanguageandthelibrary.KeyfeaturesaddedinJava8includelambdafuncmons,streamAPIanddateandmmeAPI.ThemainbenefitofJava8featuresisproduc[veprogramming:genngworkdonemoreefficientlyandeffecmvely.TheunderlyingapproachisaparadigmshiqfromobjectorientedprogrammingviewsupportedfromtheearlyversionsofJava:Java8encouragesfunc[onalthinking(i.e.,programminginfuncmonalprogrammingstyle).This2-daytrainingintroducesalltheimportantconceptsandfeaturesimportantforleveragingJava8featuresforregularworkandimproveproducmvity.Whatismore,thistrainingalsocoversbestpracmcesinusingJava8features.
Inthiscompletelyhands-onsession(extensivesetofsampleprogramswillbesharedtoallparmcipants),thistrainingintroducesalltheimportantconceptsandfeaturesimportantforrefactoringJavawrireninearlierversionstoexploitJava8features.Specialfeature:Livedemoofrefactoringopensourcelegacycodebasetoshowhowlambdasandstreamscanresultinshorterandeffecmvecode.
Pre-requisitesDevelopers/leadswithworkingknowledgeinJavaprogramming.NopriorexposuretoJava8featuresrequired.
TrainingroomsetupAccesstolabmachinesinstalledwithJDK8.0versionorlater.
Trainingroomequippedwithprojectorandwhiteboardwithmarkerpens.
CourseOutline–2days(ThiscoursecontentsalsohaveamappingtoOCPJavaSE8cermficamonobjecmves).
• Introduc[ontoJava8andFunc[onalThinking
• LambdaExpressionsandBuilt-inFunc[onalInterfaces
o Usethebuilt-ininterfacesincludedinthejava.uml.funcmonpackagesuchasPredicate,Consumer,Funcmon,andSupplier
o Developcodethatusesprimimveversionsoffuncmonalinterfaces
o Developcodethatusesbinaryversionsoffuncmonalinterfaces
o DevelopcodethatusestheUnaryOperatorinterface
• Collec[onswithJava8
o CollecmonsStreamsandFilters
o IterateusingforEachmethodsofStreamsandList
CodeOps Technologies LLP �12
![Page 13: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/13.jpg)
o UseStreamAPIwithNIO.2
o Filteracollecmonbyusinglambdaexpressions
o DevelopcodethatusestheOpmonalclass
• DescribeStreamInterfaceandStreamPipeline
o UsemethodreferenceswithStreams
o Developcodetoextractdatafromanobjectusingpeek()andmap()methodsincludingprimimveversionsofthemap()method
o SearchfordatabyusingsearchmethodsoftheStreamclassesincludingfindFirst,findAny,anyMatch,allMatch,noneMatch
o DevelopcodethatusesStreamdatamethodsandcalculamonmethods
o SortacollecmonusingStreamAPI
o Saveresultstoacollecmonusingthecollectmethodandgroup/parmmondatausingtheCollectorsclass
o Useofmerge()andflatMap()methodsoftheStreamAPI
• UseJavaSE8Date/TimeAPI
o Createandmanagedate-basedandmme-basedeventsincludingacombinamonofdateandmmeintoasingleobjectusingLocalDate,LocalTime,LocalDateTime,Instant,Period,andDuramon
o WorkwithdatesandmmesacrossmmezonesandmanagechangesresulmngfromdaylightsavingsincludingFormatdateandmmesvalues
o Defineandcreateandmanagedate-basedandmme-basedeventsusingInstant,Period,Duramon,andTemporalUnit
• JavaConcurrency
o UseparallelFork/JoinFramework
o UseparallelStreamsincludingreducmon,decomposimon,mergingprocesses,pipelinesandperformance.
• Java8BestPrac[ces
o LeveragingJava8featuresthroughfuncmonalthinking
o Wrimngconcurrentcodewithparallelstreams
o UsingJava8date/mmeAPIbymigramngfromlegacyDateandCalendarclasses
o Designparernsforfuncmonalprogramming
CodeOps Technologies LLP �13
![Page 14: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/14.jpg)
• RefactoringtoJava8
o RefactoringtoJava8lambdas
o Refactoringtostreams
o Refactoringinthecontextoffuncmonalinterfaces
o Dealingwithbackwardcompambilityissues
o Refactoringtoexploitparallelstreamsforperformance
o Concurrencyaspectstokeepinmindwhenrefactoring
o ToolsforautomamcrefactoringtoJava8
• Effec[veRefactoringtoJava8
o Debuggingfuncmonalprogramsduringrefactoring
o Wrimngunittestsforlambdafuncmons&streamsinthecontextofrefactoring
CodeOps Technologies LLP �14
![Page 15: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/15.jpg)
Software Architecture and Design Through Case Studies, Real-world Examples and Exercises
TrainingOverview
Softwarearchitectureknowledgeandexpertiseisakeyenablerforbusinesssuccess.Thistrainingwillcoverallthekeyandfoundationaltopicsthateveryarchitectshouldknowincludingarchitecturalprinciples,architecturalstyles,designpatterns,Non-FunctionalRequirements(NFRs)andconstraints,architectureprocess,andtoolsforsoftwarearchitecture.
Thispracticaltrainingcoverssoftwarearchitecturethroughreal-worldexamplesandexercises.Casestudiescoveredarefrombothindustrialandopensourceprojects.
DetailsoftheTrainingProgram• ThetrainingwillbeconductedbyGaneshSamarthyam,anexperiencedtrainer
andauthor.
• Thetrainingwillbefortwo(2)daysandwillcoverthetopicsmentionedbelow.
• Thetrainingwillbefor8hoursperday(excludingtimeforbreaks,actualtraininghourswouldbe6.5hours)forthese2daysonthedatesandtimeconvenienttotheclient.
• Amaximumof25participantscantakepartinthistraining.(Limitednumberofparticipantsbecausethistraininginvolvesnumerousexerciseswithextensivediscussionswithparticipants).
• Trainingmaterials/handoutswillbeprovidedtoalltheparticipants.
• Trainingwillbeconductedatclientpremisesoratafacilityarrangedbytheclient.
• Theclientshouldprovidetheinfrastructuretoconductthetraining.Theinfrastructurewouldincludethetrainingroomwithprojectorandwhiteboard.NoPCs/laptopsarerequiredforconductingthistraining(exercisesarepaper-and-penbased).
PrerequisiteEntryCriteria
CodeOps Technologies LLP �15
![Page 16: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/16.jpg)
• Onlyforseniordevelopersorteamleadswithminimum4yearsofexperience.(Thistrainingisnotmeantforthosewhoarealreadyworkingasanarchitect–rather,thistrainingisforthosewhoareaspiringtobecomearchitects).
• Participantsareassumedtohaveexperienceinsoftwaredevelopmentormaintenance.HavingexperienceonlyinQA/testing,configurationmanagement,DBAetc.isinsufficientforparticipatinginthistrainingonsoftwarearchitecture.
KeyBenefits• Participantswillgetagroundedintroducedtosoftwarearchitectureanddesign,
whichwillenabletoperformwellasanarchitect.
• Participantswillknowspecifictools,techniques,andbestpracticesforcreatingeffectivedesigns.
OutlineofCourseContentsDay1• Introductiontosoftwarearchitectureanddesign(0.5hours)
• Whatissoftwarearchitecture?• Typesofarchitectures• Theroleofarchitectureinprojectandbusinesssuccess • Introductiontodesignprinciples,designpatterns,andarchitecturestyles
• Designprinciplesanddesignpatternsthroughexercises(4hours) • IntroductiontoSOLIDprinciplesanddesignpatterns(1hour)• Creationalpatternsthroughexercises(1hour)• Structuralpatternsthroughexercises(1hour)• Behaviouralpatternsthroughexercises(1hour)
• Architecturestylesthroughcasestudies(2hours) • Guidingprinciplesofsoftwarearchitectureanddesign • Understandingimportantarchitecturalstyles(suchaslayered,pipe-and-
filter,client-server,N-tier,MVC,andState-Compute-Control)• Exerciseonunderstandingarchitecturalstyles• Casestudyonreferencearchitecture(OpenSAR)forapplying
architecturalstylesDay2
• Creatinganarchitecture(2.5hours) • Understandingwhatinfluencesarchitectures • Theprocessofarchitectinginthereal-world
• Exerciseoncreatinganarchitecture• RealisingNFRs(NonFunctionalRequirements)usingAttributeDriven
Designapproach• ExerciseontacticsforNFRs
• QuantifyingNFRs• ExerciseonquantifyingNFRs
CodeOps Technologies LLP �16
![Page 17: Trainings Offered - Ganesh Samarthyam - CodeOps Technologies](https://reader036.fdocuments.us/reader036/viewer/2022081808/5875078e1a28ab29208b66d3/html5/thumbnails/17.jpg)
• Roleofconstraints• Referencearchitectures• Documentingarchitectures(viewpointsandperspectives)• Validatingyourarchitecturaldesigns
• Casestudy&exerciseonrealizingsecurityrequirements(1hour)• Evolvingarchitectures(1.5hours)
• Understandingtechnicaldebt • Refactoringforarchitecturalsmells• Toolsforarchitecturalrefactoring
• Livingasanarchitect(1hour) • Skillsrequiredforanarchitect• Bestpracticesforlivingeffectivelyasanarchitect
• Wrap-up,keytake-aways,andQ&A(0.5hours)
CodeOps Technologies LLP �17