38
Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin Software Engineering and Architecture Joint Technical Program

Embed Size (px)

Citation preview

Page 1: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Software Engineering and Architecture Joint Technical Program

Page 2: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Software Engineering and Architecture Joint Technical Program

Bill Malkin MACS MIEAust

ACS IT Architecture SIG

Consunet, DSTO

31 years in IT

9 years Java

BE(Civil) GradDipCompSts MEngSc(SysEng)

Page 3: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Software Engineering and Architecture Joint Technical Program

The Roles and Responsibilities of

Engineers and Architects

in the

Software Construction Industry

Page 4: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

A Word From Our Sponsors

Australian Computer Society

Engineers Australia (previously the Institution of Engineers, Australia) ITEE CollegeInformation, Telecommunications and Electronic Engineering

NCSWE (with ACS representation)National Committee on Software Engineering

SESASystems Engineering Society of Australia

ASWEC (sponsored by both the ACS and EA) Australian Software Engineering Conference (Adelaide 2012?)

Page 5: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinProfessional Bodies -

Software Engineering

AustralianComputerSociety

EngineersAustralia

Joint Boardin SoftwareEngineering

ITEE*College

Nat Comm on Software

Engineering(NCSWE)

Aust Software

EngineeringConference

ASWEC*ITEE Information, Telecommunications and Electronics Engineering

Software Eng and Architecture JTPSoftware Eng and Architecture JTP

Page 6: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

AustralianComputerSociety

AustralianInstitute ofArchitects

Joint Board???

???

???

JointConference

???

Professional Bodies -Software Architecture

Software Eng and Architecture JTP

Page 7: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

EngineersAustralia

ArchitecturalEngineers

Professional Bodies –Software Architecture

NavalArchitects

RequirementsEngineering

SoftwareArchitects

AustralianComputerSociety

?

Page 8: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinInternational Association of

Software Architects

The IASA provides information and education to practicing IT and Enterprise Architects. However, judging by their website, it seems to be aimed more at Enterprise Architects(?)

Page 9: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Australian Institute of Architects

SA Chapter address – 100 Pirie Street. No sub-categories as is the case with Engineers Australia Architectural design practices and principles cannot be applied in a field other than building/landscaping?

Page 10: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Design Institute of Australia

The DIA defines a designer as – a business professional that develops solutions to commercial needs that require the balancing of technical, commercial, human and aesthetic requirements.

Page 11: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Building Architects design in the physical world.

Software Architects design in the virtual world.

Software Architecture

Page 12: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinSoftware Engineers and Architects –

Who needs ‘em?!

Page 13: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Question 1

Does a large building construction project really need a

Building (Civil) Engineer?

Page 14: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Answer No

But, with a Building (Civil) Engineer, the construction of the building is “more likely” to be successful in terms of:

Cost

Time

Reliability

Maintainability

Page 15: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Question 2

Does a large software construction project really need aSoftware Engineer?

Page 16: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Answer No

But, with a Software Engineer, the construction of the application is “more likely” to be successful in terms of:

Cost

Time

Reliability

Maintainability

Page 17: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Question 3

Does a large building construction project really need aBuilding Architect?

Page 18: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

No But, with a Building Architect, the outcome of the construction project is “more likely” to be successful in meeting the client's expectations in terms of the building's: Look and feel on both the macro and micro scale. Ability to perform the function for which it was built.

Answer

Page 19: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Question 4

Does a large software construction project really need aSoftware Architect?

Page 20: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

No

But, with a Software Architect, the outcome of the construction project is “more likely” to be successful in meeting the client's expectations in terms of the application's:

Look and feel on both the macro and micro scale.

Ability to perform the function for which it was built.

Answer

Page 21: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

General Understanding

1. Software Engineers are people who develop software within the Defence industry.

2. Software Engineers are people who develop software that implement complex algorithms.

3. Other.

Page 22: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

wikipedia

Software engineering is a profession and field of study dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build.

Page 23: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinIEEE Computer Society’s Software

Engineering Body of Knowledge

Software Engineering is the application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software, and the study of these approaches; that is, the application of engineering to software.

Page 24: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

General Understanding

1. Software Architects have excellent business analysis skills and general technical skills. (Solutions Architect)

2. Software Architects have excellent technical skills and general business analysis skills. (Technical Architect)

3. Other.

Page 25: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Wikipedia*

The software architecture of a program or computing system is the structure or structures of the system, which comprise software components, the externally visible properties of those components, and the relationships between them.

Documenting software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects.

*Bass, Clements, Kazmann 2003

Page 26: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinDifferences between

Building Construction andSoftware Construction

Buildings:

Visible to all.

Can collapse and kill people.

Require tradespeople and labourers.

Require materials.

Easier to see progress.

Static, not dynamic.

Cannot be backed-up or duplicated.

Page 27: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Buildings:

Must conform to relevant statute laws, local council by-laws, safety regulations, etc.

Key personnel must be appropriately certified.

Position titles mean something, eg Site Engineer, Clerk of Works, Architect, Site Foreman...

Differences betweenBuilding Construction and

Software Construction

Page 28: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinParallels between

Building Construction andSoftware Construction

Software engineering* is a profession and field of study dedicated to designing, implementing, and modifying software so that it is of higher quality, more affordable, maintainable, and faster to build.

Civil engineering* is a professional engineering discipline that deals with the design, construction and maintenance of the physical and naturally built environment.

(*wikipedia)

Page 29: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinParallels between

Building Construction andSoftware Construction

Page 30: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinParallels between

Building Construction andSoftware Construction

?They both have architects and engineers working in partnership.

Does this only happen in building construction and software construction?

Page 31: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Software Architects Include

Solutions Architects Functional Architects

Business Architects

Application Architects

Business Analysts

Application Designers

Systems Architects?

Page 32: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinSoftware Architects

Do Not Include

Enterprise Architects

Infrastructure Architects

Network Architects

Computer Architects

Systems Architects?

Page 33: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Software Engineers Include

Systems Analysts Application & Maint Programmers Commercial – Complex database/ simple algorithms

Technical – Simple database/ complex algorithms

Test, Configuration Management, Version Management, Implementation Engineers

Page 34: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

Software EngineersDo Not Include

*Participants in a software development process who, in order to make the process a success, do not need an in depth understanding of

a. The Software Development Life Cycle.

b. Software Development Principles.

c. Software Development Technologies.

* me

Page 35: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinDifference between

Engineers and Architects Architect

Responsible for Form and Function, ie the Look and Feel, the Functional Requirements and the High Level Design.

Very close relationship with client. Requires excellent communicationskills.

Requires only basic technical skills. More art than science?

Page 36: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinDifference between

Engineers and Architects Engineer:

Responsible for Reliability and Maintainability, therefore the detailed design and the construction.

Very close relationship with construction staff.

Requires excellent technical skills. More science than art.

Page 37: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill MalkinConclusions

The Roles and Responsibilities ofSoftware Engineers andSoftware Architects

a) Software Architects focus on the client, and are responsible for the form and function of the application.

b) Software Engineers focus on the technology, and are responsible for the reliability and maintainability of the application.

(a) What, and (b) How

Page 38: Bill Malkin Software Engineering and Architecture Joint Technical Program

Bill Malkin

ThanksMandy Watson (Branch Manager ACS)

Tim Browne (EA, CEO Innodev)

Bruce Haines (Chair ITEE)

Jeff Walsh (Dep Pres EA)

Caroline Argent (Exec Dir EA)

Paul Godden (Tech Prog Co-ord EA)

Kuba Kabacinski (CEO Consunet)