1 / 17

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

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

sanne
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Are you a Software Engineer OR Is it just your Designation ? Y. Raghu Reddy Associate Professor Software Engineering Research Center IIIT Hyderabad

  2. 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)

  3. CODE!!! Huge complex systems! What do these have in common? (Quality) products ? 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

  4. Approaches to Software Quality? • Focus on Process • Focus on Product • Focus on People • Need for introducing Software Engineering as a degree program • Need for licensing current industry professionals

  5. 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

  6. 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.

  7. 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)

  8. 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”

  9. 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?

  10. HELLO Are you Licensed?

  11. 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)

  12. 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.

  13. 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

  14. 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 Principles of Good Design

  15. 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

  16. Thank you !!! Acknowledgements: Philip Laplante, Joann Atlee, Fernando Naveda

  17. Reference documents… • 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)

More Related