+ All Categories
Home > Documents > Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Date post: 19-Mar-2016
Category:
Upload: sanne
View: 22 times
Download: 0 times
Share this document with a friend
Description:
Are you a Software Engineer OR Is it just your Designation ?. Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad. What are we lacking?. India graduates nearly half million engineers every year Information Technology - PowerPoint PPT Presentation
17
Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad Are you a Software Engineer OR Is it just your Designation ?
Transcript
Page 1: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Y. Raghu ReddyAssociate Professor

Software Engineering Research CenterIIIT Hyderabad

Are you a Software EngineerOR

Is it just your Designation ?

Page 2: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

What are we lacking?• India graduates nearly half million engineers every year

• Information Technology• Information Science and Engineering• Computer Science and Engineering• Computer Engineering• Other computing variants…

• Substantial numbers enter the IT workforce• Common complaints – Not Employable• Lack Essential skills (technical & soft)

Page 3: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

What do these have in common?

CODE!!!Huge complex systems!

0.5 SLOC/min/resource * 60 min/hr * 40 hrs/wk = 1,200 SLOC/wk/resource

1,200 SLOC/wk/resource * 50 wks/year =60,000 SLOC/year/resource

2 * 10^6 SLOC / 0.6 * 10^5 SLOC/yr/resource = ~34 Resources for the year

(Quality) products ?

Page 4: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

• Focus on Process

• Focus on Product

• Focus on People Need for introducing Software Engineering as a

degree program Need for licensing current industry professionals

Approaches to Software Quality?

Page 5: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Software Engineering as a discipline• Software Engineering IS NOT Computer Science

• Software Engineering is an ENGINEERING discipline that specializes in the design of software

• Considering it a discipline will help in aligning it with traditional engineering disciplines

• There are 5 things a software engineer should be good at: Programming, Design, Process, Communication & Team work

Page 6: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

SE programs at undergrad level?• The distinction between CS, SE, IT was recognized by

ACM and IEEE in late 1990s, Early 2000s• SwECC was formed• Led to creation on specific Software Engineering programs

• Accreditation bodies now accredit software engineering programs• ABET (U.S and outside)• CSAC (Canada)• etc.

Page 7: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Is it possible?• Do we have a core body of Knowledge?

• Software Engineering Body of Knowledge (SWEBOK) 2013

• Mechanisms for assessment• Software Engineering Competency Model (SWECOM) • ABET accreditation (U.S body) – there are equivalent versions in

Australia, Canada, U.K.• Nearly 22 programs in U.S are ABET accredited – student who graduate

consider themselves as “Software Engineers”• Have seen the distinct difference

• Colorado State University (Computer Science program)• Rochester Institute of Technology (Software Engineering program)• IIIT Hyderabad (Computer Science and Engineering program)

Page 8: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

SE programs• Do CSE programs get accredited?

- By who (NBA in India, there are two by ABET but by CSA bodies)- Do we have a body that accredits Software Engineering programs?

Simpler question: How many accredited Software Engineering programs do we have?

“Zero”

Page 9: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

What can we do?• Can we change?

• Will we change? • To start let’s recognize that there is more to software engineering

than just the designation.

• What about all those ENGINEERS who are graduating every year?

• Do we want them to be SOFTWARE ENGINEERS?• Do we want them to be LICENSED SOFTWARE ENGINEERS?

Page 10: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

HELLO

Page 11: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Licensing Software Engineers• Civil Engineers, Doctors, Lawyers are licensed (Provides a

form of assurance)

• We are familiar with Vendor Certification, product certification, process conformance (Audit).• So why not people? • Can we define “engineering” by what they “practice” rather

than their “title”

• A certification program to authenticate practitioners’ competency

Professional Engineers (PE)

Page 12: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Current Status

• CIPS Information Systems Professional (I.S.P.),• IEEE Software Engineering Certification (CSDP or CSDA)• Professional Software Engineer

• The Seoul Accord, Dublin Accord, Washington Accord, Sydney accord are international accreditation agreement for academic degrees.

Page 13: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

What does it take to get licensed?• Holding a bachelor's degree in software engineering from

an ABET-accredited program.

• Passing the Fundamentals of Engineering (FE) exam.

• Having applicable work experience (typically, at least four years) under the supervision of a licensed professional engineer (PE).

• Passing the Principles and Practices of Software Engineering (P&P) exam

Page 14: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Principles of Good Design• Divide and Conquer• Increase cohesion (keep related stuff together)• Decrease coupling (minimize dependencies between modules)• Increase the level of abstraction wherever possible

• When two modules interact, create abstract interfaces so that modules don’t have to know specific low-level details about other modules

• Design for Quality of service (Testability, Flexibility, Modifiability, etc.)• Design by Contract

Page 15: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Going forward• There have been, will be arguments for & against licensing

software engineers…

• Canadian provinces, U.S (about 40 states)• software engineers working on systems that affect the health, safety,

and welfare of the public as well as those offering their services directly to the public

• With the emergence of Cyber Physical systems, there is potential for this to expand

Page 16: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

Thank you !!!

Acknowledgements: Philip Laplante, Joann Atlee, Fernando Naveda

Page 17: Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

• Software Engineering Body of Knowledge (SWEBOK) 2013

• The IEEE Software Engineering Competency Model (SWECOM) 2014

• ABET Criteria for Accrediting Software Engineering Programs

• ISO/IEEE Standard 12207 (software engineering processes),

• ISO/IEEE Standard 15288 (systems engineering processes)

• SEBoK (Systems Engineering Body of Knowledge) • GRCSE (Graduate Reference Curriculum for System

Engineering),• The Software Assurance Competency Model• GswE2009 (graduate software engineering

curriculum guidelines)• SE2004 (undergraduate software engineering

curriculum guidelines)

Reference documents…


Recommended