Software Supportability: A Software Engineering Perspective

3y ago
33 Views
2 Downloads
575.60 KB
32 Pages
Last View : 7d ago
Last Download : 6m ago
Upload by : Samir Mcswain
Transcription

Software Supportability: A SoftwareEngineering PerspectiveStephany BellomoSAIC, Project Manager

My BackgroundMS, Software EngineeringLockheed Martin, Satellite System Programmer (C Developer, DBA)Intuit, Software Project Manager, (C , Java, CORBA,Architecture)Verisign, IT Project ManagerSAIC, Software Project Manager for CDC Select AgentProgram2

Overview5 Supportability PrinciplesLesson’s LearnedKey Phase RecapConclusionContact Information3

Supportability Principles IntroductionMethodical approach to protecting system ityHere?1. Design forSupportability5. Organize forSupportabilityVulnerabilityHere?44. ControlQuality2. Check the“ilities”VulnerabilityHere?3. ManageChangeLook for Vulnerabilities

Supportability Principle Overview5 Supportability Principles1. Design for Supportability2. Check the “ilities”3. Manage Change4. Control Quality5. Organize for Supportability5Look for Vulnerabilities

Design Suggestions for Managers1.Design for SupportabilityDesigning for supportability requires diligence on the part ofboth managers and engineersWhat can managers do to identify vulnerabilities?“What if” scenariosAsk your technical team what the Achilles heel is – They will tellyou!6Look for Vulnerabilities

Design Suggestions for EngineersWhat can engineers to improve supportability throughdesign?Use a fully replicated production environment for pre-releasetestingDon’t skimpParameterize using configuration filesUse frameworks to control designCarefully evaluate COTS products before incorporating into thedesignIncorporate distributed component design up front7

Staging ExampleProjects often double-use Integration Test and Staging“It’s not exactly the same environment as production, but theoretically it t/StagingStage ProductionProduction

Staging Example Cont.Fully Replicate the Pre-Release Staging Environment9Build 1Build 2 Build 1Build 2 agingStage on

Staging Lesson LearnedExample: Recently technical lead skipped the staging for asmall, non-production build8 hrs later still working deployment StagingSkippedProductionIssue identified ½ hour after pushing to Stage10Stage Production

Configuration File ExampleDesign Tips for EngineersUse Configuration FilesAvoid hard-coding variables (I.e, IPs, hostnames, DB names, etc.)Benefit – Supports dynamic changes to hardware setupConfig FileSetenv IP 122.11.333Setenv DBNAME DB1 11Use Config Files

Configuration File Lesson LearnedRecently migrated a legacy system to another HWconfiguration for high-availability (clustering)Spent 2 weeks removing hard coded valuesHost names and IPs were embedded throughout the code andreportsDocReport.rptSQLConnect(‘DB1’); 12Use Config Files

Frameworks and Design PatternsEncourage developers to consider frameworks and designpatterns during design phaseFrameworksData Entry Frameworks, Business Rules Frameworks, etc.Design Patterns: Elements of Reuseable Object-Oriented SoftwareBy Erich Gamma, Richard Helm, Ralph Johnson, and John VlissidesCOTS Best PracticeI.e, Documentum, Crystal Enterprise, Oracle Security, SQL Server,etc.13Focus on Frameworks

Framework DefinitionA Framework is a set of cooperating classes that make upa reusable design for a specific class of softwareL. Peter Deutsch. Design reuse and frameworks in the Smalltalk-80systemQuoted in Design Patterns: Elements of Reuseable Object-OrientedSoftware by Erich Gamma, Richard Helm, Ralph Johnson, and JohnVlissides (gang of four)14Focus on Frameworks

Frameworks Lesson LearnedIndicators that you need a frameworkFrequently making the same types of code changesFrequently adding fields to the schemaExample: Document Tracking TableDocumentTracking15DocIDDocNameReviewed DTApproved 3-20051010-1717-2005Focus on Frameworks addingtrackingtables and datefields to DB foreach new Event

Frameworks Lesson Learned Cont.Framework-Driven Event ModelEvent additions are data drivenNo schema changes needed to add an EventEventTypeDocEventEventIDEvent 2ApproveD2E11010-1515-2005E3New EventD1E31010-1515-2005Add new event here16Event FrameworkAdds Date hereFocus on Frameworks

COTS Lessons LearnedCOTS are generally a good thing, but can drive baddesign decisionsThis is an ever increasing problem as the governmentencourages use of COTSTwo Real Life Examples of COTS abuse1.2.17Cold Fusion Dot Com experienceBusiness rule scripting in UI or PDFsUse COTS Carefully

Distributed Design IntroEnforce Distributed Component Design through physicallydistributed methods, not coding standardsSoftware distributed component architecture can be enforced byRMI (I.e, Web services, COM, etc.)Node distribution severs ties to object librariesWhat happens if you try to “fake it”?Library dependencies aren’t discovered until production releasetestingResult – Last minute scrambling 18Distribute Early and Often

Distributed Design Don’tsPlan for Unforeseen System Interface Requirements toother systemsBuild Internal System InterfacesDon’t rely on coded frameworks (COTS or homegrown) toencapsulate layersJava or C Persistence LayerObject19Distribute Early and Often

Distributed Design Lesson Learned - 1Example: In 1993 first job out of VA Tech, workedon a DoD satellite simulation systemTasked to resolve this error for 6 months ERROR: File not found!Why?Distributed design enforced by coding standardNo physical separation of software components Months to untie code dependencies after physical distribution20Distribute Early and Often

Distributed Design Lesson Learned - 2Original SOW requirementMile-high view - Build Single Government Agency DatabaseRequirements changeAllow another Government Agency to securely view data in databaseGood newsSystem is framework-based and extendibleHowever, still significant work to put persistence layer behind webservices interfaceUsers(Gov, Public)21GovernmentAgencyDatabaseDistribute Early and Often

Distributed Design Do’sDo use distributed component interfaces to separatesoftware layers (I.e., Web Services API)Provides extendible data access through a secure interfaceInternalAgency SystemSecureWeb ServicesAPIExternalAgency SystemPersistence LayerObjectsAgency BAgency AAgency DB22Distribute Early and Often

Check the “ilities”2.23Check the nabilityScalabilityAvailabilityCheck the “ilities”

Configuration Management3.Manage ChangeDon’t attempt too much change at onceEvaluate system impacts with changing requirementsUse the CCB*Resist the temptation to “just add it in this time”CCB Configuration Control Board24Change a little. Test a lot

Database Configuration ManagementWorst configuration management issues consistently revolvearound Database CMI.e., Stored procedures, Schema versioning, Scripts, Hand-data entryReasons for poor database CMIn my experience, DBAs often don’t have formal Software trainingSW Developers trained to use CM tools at entry level, but DBAs oftennot included in CM trainingDBAs often don’t have to integrate with othersWork independently Don’t need to update baselines to test code25Enforce Database CM

Database CM Lesson LearnedDatabase Management FundamentalsCreating and enforcing Database change procedures must be partof DBA ResponsibilityStored procedures must be and scripts stored under configurationcontrolExample – “Lost stored procedure story”All databases should be made through scripts ANDTESTED!!!26Enforce Database CM

Quality Control4.Quality ControlMonitor to maintain quality and identify new risksKeep CMMI inspections technicalDevelop processes and follow themEnforce Independent Verification and ValidationAt a minimum, developers should not test their own codeQA person should report to Program ManagerAnytime is good time for a Technical Question27

Organize for Supportability5. Organize for Project for SupportabilitySupportability failures often occur between teams or areas ofexpertiseI.e., software team, network team, SA, Security, etc.Mitigation strategyAssign someone the specific role of enforcing cross-disciple technicalquality28Architect: The Tie that binds

Organize for Supportability Cont.Program MgrProject MgrTest MgrQAChief Architect (CA)Software LeadNetwork LeadSACMChief Architect leads cross-discipline teamsQualified Tech Leads start as Software, Network or System EngrsChallenge: Finding architects that can manage outside their“Comfort Zone”29Architect: The Tie that binds

Key PhrasesLook for VulnerabilitiesStage ProductionUse Config FilesFocus on FrameworksUse COTS CarefullyDistribute Early and OftenChange a Little. Test a lot Enforce Database CMAnytime is a Good Time for a Technical QuestionArchitect: The Tie that Binds30

ConclusionIn all project activities, ask yourself thesequestions:1.2.3.4.5.31Does this Design Decision promote Supportability?Have we considered all the “ilities”?How well are we Managing Change?Are we adequately Controlling Quality?Are we organized for Supportability?

Contact InformationMy contact information:Stephany.a.bellomo@saic.comFeel free to send me questions and/or comments32

patterns during design phase Frameworks Data Entry Frameworks, Business Rules Frameworks, etc. Design Patterns: Elements of Reuseable Object-Oriented Software By Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides COTS Best Practice I.e, Documentum, Crystal Enterprise, Oracle Security, SQL Server, etc. Focus on Frameworks

Related Documents:

tems engineering and life cycle logistics domains, and provide a powerful and effective means of ensuring life cycle suit-ability for O&S. The Supportability Analysis Life Cycle Frame - work in Figure 3 identifies key supportability analysis activities and their relatio

LSA, Product Support Analysis & Supportability Analysis LCC, LoRA & Support Related Costing ILS and Supportability Engineering Management Reliability Centred Maintenance In Service Support NATO Codification Obsolescence Management Military Packagers Approval Scheme Public Training Courses JANUARY TO DECEMBER 2020 ALSO: IN-HOUSE TRAINING COURSES

Application for Spectrum Supportability Demande d’octroi de Fréquences . Date To: À : From (Office making request): De (Bureau qui présente la demande) : 1. Equipment nomenclature and / or model number - Désignation du matériel et numéro de modèle. 2. Status of supportability request (check one) - Centre de demande d’octroi (cochez .

e. For all S-D systems, DoD Components shall determine if there will be sufficient spectrum to support operation of the system during its life cycle. In order to affect design and procurement decisions, DoD Components shall: (1) Identify spectrum-related risks as early as possible via spectrum supportability risk assessments.

Materials Science and Engineering, Mechanical Engineering, Production Engineering, Chemical Engineering, Textile Engineering, Nuclear Engineering, Electrical Engineering, Civil Engineering, other related Engineering discipline Energy Resources Engineering (ERE) The students’ academic background should be: Mechanical Power Engineering, Energy .

akuntansi musyarakah (sak no 106) Ayat tentang Musyarakah (Q.S. 39; 29) لًََّز ãَ åِاَ óِ îَخظَْ ó Þَْ ë Þٍجُزَِ ß ا äًَّ àَط لًَّجُرَ íَ åَ îظُِ Ûاَش

Collectively make tawbah to Allāh S so that you may acquire falāḥ [of this world and the Hereafter]. (24:31) The one who repents also becomes the beloved of Allāh S, Âَْ Èِﺑاﻮَّﺘﻟاَّﺐُّ ßُِ çﻪَّٰﻠﻟانَّاِ Verily, Allāh S loves those who are most repenting. (2:22

Careers in Engineering Guide the brighter choice. Contents ABOUT LSBU 4–5 BUILDING SERVICES ENGINEERING 6–7 CHEMICAL AND PETROLEUM ENGINEERING 8–9 CIVIL ENGINEERING 10–11 ELECTRICAL AND ELECTRONIC ENGINEERING 12–13 MECHANICAL ENGINEERING 14–15 MECHATRONICS ENGINEERING 16–17 PRODUCT DESIGN ENGINEERING 18–19 An engineering degree is a big challenge to take on. There is no denying .