© McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System...

31
© McClureTech Inc 2003 © McClureTech Inc 2003 1 System Engineering System Engineering Applying Applying Architectural Architectural Principles to Complex Principles to Complex System Development System Development

Transcript of © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System...

Page 1: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003© McClureTech Inc 2003 11

System EngineeringSystem Engineering

Applying Applying ArchitecturalArchitectural Principles to Complex System Principles to Complex System

DevelopmentDevelopment

Page 2: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 2

Architect Role/ResponsibilityArchitect Role/ResponsibilityHomebuildingHomebuilding

The architect speaks two languages to support the The architect speaks two languages to support the dialog between the homebuyer and the builderdialog between the homebuyer and the builder

““Lifestyle” language Lifestyle” language with the homebuyerswith the homebuyers

““Plans/Designs/Specifications” Plans/Designs/Specifications” language with the builderlanguage with the builder

Page 3: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 3

Architect Role/ResponsibilityArchitect Role/ResponsibilityAttorneyAttorney

““Objectives/Desires” Objectives/Desires” language with clientlanguage with client

““Obligations, Terms and Obligations, Terms and Conditions” language Conditions” language with legal communitywith legal community

Page 4: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 4

Architect Role/ResponsibilityArchitect Role/ResponsibilitySystem EngineerSystem Engineer

► ““Needs/expectations” Needs/expectations” language with user/consumerlanguage with user/consumer

► ““Specifications” language Specifications” language with engineeringwith engineering

Page 5: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 5

Topics and ThreadsTopics and Threads

►Engineering? System? System Engineering? System? System Engineering?Engineering?

►System Engineering ToolsSystem Engineering Tools►““Structure” in engineering endeavorsStructure” in engineering endeavors►Program Management & System Program Management & System

EngineeringEngineering►Why System EngineeringWhy System Engineering►Example modelsExample models► Implementing System EngineeringImplementing System Engineering

Page 6: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 6

Simple Invention – Simple Invention – Engineering?Engineering?

Solution of single consequence – not engineering

Page 7: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 7

““Engineering”Engineering”

►AA: the application of science and : the application of science and mathematics by which the properties mathematics by which the properties of matter and the sources of energy in of matter and the sources of energy in nature are made nature are made usefuluseful to people to people

►BB: the design and manufacture of : the design and manufacture of complex productscomplex products

Merriam-Webster

[emphasis added][emphasis added]

Page 8: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 8

““System”System”

An organized integrated whole made up An organized integrated whole made up of diverse but interrelated and of diverse but interrelated and interdependent partsinterdependent parts

Merriam-Webster

Page 9: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 9

EngineersEngineers

► Desire to create useful things Desire to create useful things – – shared with the shared with the aforementioned inventoraforementioned inventor

► Complex products – by Complex products – by definitiondefinition

Page 10: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 10

Engineers and ComplexityEngineers and Complexity

► Complexity represents a Complexity represents a burden and a fascinationburden and a fascination

► Fascination with Fascination with complexity is an afflictioncomplexity is an affliction

Page 11: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 11

Complexity and RiskComplexity and Risk

► Complexity increases riskComplexity increases risk

► Risk potentially impacts Risk potentially impacts usefulnessusefulness

Page 12: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 12

System Engineers – MissionSystem Engineers – Mission

►Mitigate complexity (cannot eliminate)Mitigate complexity (cannot eliminate)►Maximize usefulnessMaximize usefulness►Minimize riskMinimize risk

Page 13: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 13

System Engineers - ToolsSystem Engineers - Tools

► Structure, Structure, Structure!Structure, Structure, Structure!► Clear problem statements – Clear problem statements – useruser language language► Architecture - Requirements decompositionArchitecture - Requirements decomposition

Functional allocation – Subsystem identificationFunctional allocation – Subsystem identification Interface specs – Detailed engineering Interface specs – Detailed engineering

requirementsrequirements Error budgets and tolerancesError budgets and tolerances

► Analyses and modelingAnalyses and modeling► Process designProcess design

Page 14: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 14

““Structure” – System Structure” – System EngineeringEngineering

►RequirementsRequirements►Architectural definitions – subsystemsArchitectural definitions – subsystems►Engineering specificationsEngineering specifications

Mechanical, electrical, thermal, opticalMechanical, electrical, thermal, optical Only at the subsystem boundaries!!Only at the subsystem boundaries!!

i.e. Interface specificationsi.e. Interface specifications

►ProcessProcess Phases and milestonesPhases and milestones

Page 15: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 15

Structure – an asideStructure – an aside

Mechanical systems – Mechanical systems – “exact constraint”“exact constraint” Dr. Jack McLeod and Dr. Jack McLeod and

Dr. Jack Morse Dr. Jack Morse Eastman Kodak Co. Eastman Kodak Co.

1960’s1960’s 6 degrees of 6 degrees of

freedom – controlled freedom – controlled appropriatelyappropriately

Page 16: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 16

System Engineering – Sweet System Engineering – Sweet SpotSpot

I have the latitude to do it;but, I don’t know what it is.

I have enough latitude to do it;and, I know what it is.

I know precisely what it is;but, I don’t .have any latitude to do it

Degree of Structure (Project)

Deg

ree

of C

onst

rain

t (D

evel

oper

)

Page 17: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 17

System Engineering – System Engineering – Relationship to Program Relationship to Program

ManagementManagement

► System Engineering - System Engineering - StructureStructure SpecificationsSpecifications ProcessProcess AnalysesAnalyses

► Program Management - Program Management - DisciplineDiscipline ResponsibilityResponsibility MonitoringMonitoring ControlControl

Page 18: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 18

► System Engineering - System Engineering - NavigationNavigationCharting the courseCharting the course

► Program Management - Program Management - CommandCommandSailing the shipSailing the ship

System Engineering – System Engineering – Relationship to Program Relationship to Program

ManagementManagement

Page 19: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 19

Heard in Troubled-Program Heard in Troubled-Program HallwaysHallways

““We need more conference rooms!”We need more conference rooms!”

Page 20: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 20

Heard in Troubled-Program Heard in Troubled-Program HallwaysHallways

““We need more We need more conference rooms.”conference rooms.”

It is the responsibility of System Engineers to It is the responsibility of System Engineers to establish the establish the vehiclevehicle for communications for communications among the program participants.among the program participants.

System Engineers accomplish this by System Engineers accomplish this by providing providing structurestructure in both product in both product and process definition.and process definition.

Page 21: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 21

Heard in Troubled-Program Heard in Troubled-Program HallwaysHallways

““Are you working through Are you working through the holiday?”the holiday?”

Good System Engineering manages risk, Good System Engineering manages risk, thereby relieving stress on schedule, thereby relieving stress on schedule, cost, and performance.cost, and performance.

Page 22: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 22

Heard in Troubled-Program Heard in Troubled-Program HallwaysHallways

““What Tiger-team are you on?”What Tiger-team are you on?”

Good System Engineering obviates the Good System Engineering obviates the need for the best people to salvage need for the best people to salvage programs in later phases.programs in later phases.

Page 23: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 23

System Engineering ModelsSystem Engineering Models

►Waterfall (problematic) Waterfall (problematic) ►V-DiagramV-Diagram

Waterfall with feedbackWaterfall with feedback Easily understoodEasily understood

►Architecture Based DevelopmentArchitecture Based Development Manage to the interfacesManage to the interfaces Easy technology insertionEasy technology insertion

►Model Based DevelopmentModel Based Development Applying math is cheaper than bending Applying math is cheaper than bending

metalmetal

Page 24: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

24

V-Diagram SE ModelV-Diagram SE Model

*Configuration controlled Knowledge of the system

•Requirements Documentation•Requirements Traceability•Design Documentation•Test Definition

Requirements Capture& Analysis

System Analysis& Design

HW/SW Design

HW/SW Implementation& Unit Testing

Module Integration & Test

System Integration& Test

System Acceptance& Deployment

Kn

ow

led

ge

Bas

e*

User Model

Conceptual/ArchitecturalSystem Model

Implementation Model

Test Scenarios Test Scenarios

System Modification

[Various sources]

Page 25: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 25

Common Elements – all Common Elements – all modelsmodels

►PhasesPhases RequirementsRequirements Definition (Design)Definition (Design) ImplementationImplementation Test Test DeploymentDeployment RetirementRetirement

►Phase productsPhase products DocumentsDocuments Increasing detailIncreasing detail Process Process

definitiondefinition ComponentsComponents The ProductThe Product

Page 26: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 26

Companion ActivitiesCompanion Activities

► Configuration managementConfiguration management Document control, versioning, release, etc.Document control, versioning, release, etc. Vault/librarian activityVault/librarian activity Component compatibility/interchangeabilityComponent compatibility/interchangeability

► AnalysesAnalyses Risk analysis/managementRisk analysis/management -ilities (see next slide)-ilities (see next slide) Performance analyses/improvementPerformance analyses/improvement Error budgetingError budgeting

► Contingency planningContingency planning

Page 27: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 27

Companion Activities, cont.Companion Activities, cont.

► Important Analyses – the “-ilities”Important Analyses – the “-ilities” UsabilityUsability ReliabilityReliability ManufacturabilityManufacturability ServiceabilityServiceability MaintainabilityMaintainability SupportabilitySupportability ……

Page 28: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 28

System Engineering – EffectsSystem Engineering – Effects

►Strong ArchitectureStrong ArchitectureMitigates complexityMitigates complexity

►Solid Requirements StatementsSolid Requirements StatementsMaximizes usefulnessMaximizes usefulness

►Robust ProcessRobust ProcessMinimizes riskMinimizes risk

Page 29: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 29

McClure PreceptsMcClure Precepts

► Requirements statementsRequirements statements - User Language - User Language► Best minds application – Best minds application – still an artstill an art

Conceptual modelsConceptual models Technology selectionTechnology selection ArchitectureArchitecture

► DisciplineDiscipline Stick to the Stick to the ProcessProcess!!!! Steps may be postponed to a more Steps may be postponed to a more expensiveexpensive

phase – but they cannot be eliminated!phase – but they cannot be eliminated! Assess and improve the processAssess and improve the process

Page 30: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 30

SE ImplementationSE Implementation

►Establish executive sponsorshipEstablish executive sponsorship►Pick an SE modelPick an SE model►Adapt to your needAdapt to your need►Acquire, develop, assign staffAcquire, develop, assign staff►Select a pilot programSelect a pilot program►Monitor progressMonitor progress►Roll-out to new/existing programsRoll-out to new/existing programs

Page 31: © McClureTech Inc 2003 1 System Engineering Applying Architectural Principles to Complex System Development.

© McClureTech Inc 2003 31

ContactContact

McClureTech IncMcClureTech Inc

303 350-1152 Voice303 350-1152 Voice

303 350-1154 FAX303 350-1154 FAX

http://www.mccluretech.comhttp://www.mccluretech.com

[email protected]@mccluretech.comCall the Navigator