Asee peer logo

Teaching Software Engineering to Undergraduate System Engineering Sudents

Download Paper |

Conference

2011 ASEE Annual Conference & Exposition

Location

Vancouver, BC

Publication Date

June 26, 2011

Start Date

June 26, 2011

End Date

June 29, 2011

ISSN

2153-5965

Conference Session

Developing Systems Engineering Curriculum, Part I

Tagged Division

Systems Engineering

Page Count

13

Page Numbers

22.1401.1 - 22.1401.13

Permanent URL

https://peer.asee.org/18941

Download Count

29

Request a correction

Paper Authors

biography

Richard Fairley Software and Systems Engineering Associates

visit author page

Richard E. (Dick) Fairley is founder and principal associate of Software and System Engineering Associates (S2EA; a consulting and training company) and an Adjunct Professor at Colorado Technical University in Colorado Springs, Colorado. Dr. Fairley has bachelors and masters degree in electrical engineering. His Ph.D. in computer science is from UCLA. He can be contacted at d.fairley@computer.org.

Mary Jane Willshire is a principal associate of S2EA. Dr. Willshire has bachelor's and masters degrees in mathematics. Her Ph.D. in computer science is from Georgia Tech. She can be contacted as mjwillshire@ieee.org.

visit author page

Download Paper |

Abstract

Teaching  Software  Engineering  Concepts  to  Undergraduate  System  Engineering  Students  By  Richard  E.  (Dick)  Fairley  and  Mary  Jane  Willshire  Corresponding  author:    d.fairley@computer.org    Note  to  reviewers:    This  abstract  is  less  than  500  words.    Addition  of  author  information  has  resulted  in  a  document  of  more  than  500  words.    ABSTRACT     This   paper   will   describe   the   software   engineering   concepts   that   system  engineering  students  need  to  understand  in  order  to  effectively  communicate  with,  and  work  with  software  engineers  who  may  be  members  of  their  system  engineering   teams,   both   as   students   and   as   practitioners.     In   this   paper,  systems   are   taken   to   mean   complex   arrangements   of   diverse   hardware,  software,  and  people  elements  that  include  computing  hardware  and  software.    System  engineering  as  conceived  by  computer  engineers  is  thus  subsumed.   It   is   widely   recognized   that   software   is   the   element   that   binds   together   the  diverse  components  in  modern  systems  and  provides  much  of  the  functionality  in   those   systems.       However,   many   system   engineering   students   are   never  exposed  to  the  ways  in  which  software  engineering  students  are  taught  (or  not  taught)   to   think   about   systems   as   complex   entities   that   include   hardware,  software,  people,  the  interconnections  among  major  system  components,  and  the  social/technical  environments  in  which  total  systems  exist.   It   is   somewhat   ironic   that   there   should   be   a   disconnect   between   system  engineering   education   and   software   engineering   education   because   many   of  the   concepts   of   software   engineering   have   been   adapted   from   system  engineering,   including   stakeholder   analysis,   requirements   engineering,  functional   decomposition,   design   constraints,   architectural   design,   design  criteria  and  design  tradeoffs,  interface  specification,  traceability,  configuration  management,  and  systematic  verification  and  validation.  However,  the  lack  of  physical   properties   and   the   resulting   malleability   of   software   has   resulted   in  differences  in  the  ways  the  methods  and  techniques  are  applied  at  the  system  level  and  at  the  software  level.   It   is   also   the   case   that   some   methods   developed   by   software   engineers,  such   as   model-­‐driven   development,   UML-­‐SYSML,   use   cases,   object-­‐oriented  design,   agile   methods,   continuous   integration,   incremental   V&V,   and   process  modeling   and   improvement   can   be,   and   are   being   used   by   system   engineers.    However,   system   engineering   and   software   engineering   students   need   to  understand   the   similarities   and   differences   in   the   ways   in   which   these  concepts  are  applied  in  each  discipline.   In   addition,   the   nature   of   software   and   the   methods   used   to   develop  software   have   resulted   in   different   uses   of   terminology   and   emphasis   on  different   aspects   of   the   artifacts   produced   by   system   engineers   and   by  software  engineers.    Some  examples:  the  term  “performance”  is  often  used  by  software   engineers   in   the   narrow   sense   of   throughput   and   response   time,  whereas   system   engineers   often   take   performance   to   mean   satisfaction   of   all  the   non-­‐functional   requirements   for   a   system.     Safety   and   dependability   are  sometimes  addressed  in  software  engineering  curricula;  however,  both  system  and   software   engineering   students   need   to   understand   how   these   issues   can  and  cannot  be  addressed  at  the  software  level.    In  addition,  system-­‐engineering  students   need   to   understand   how   software   engineers   quantify   (and   do   not  quantify)   non-­‐functional   considerations   such   as   cost/benefit   tradeoffs,   risk  management,  reliability,  and  MTTF  at  the  system  level.   This  paper  will  address  these  and  other  issues  and  indicate  how  software  engineering   concepts   can   be   injected   into   undergraduate   system   engineering  curricula.    About  The  Authors:  Richard  E.  (Dick)  Fairley  is  founder  and  principal  associate  of  Software  and  System   Engineering   Associates   (S2EA;   a   consulting   and   training   company)   and  an   adjunct   professor   at   Colorado   Technical   University   in   Colorado   Springs,  Colorado.     Dr.   Fairley   has   bachelors   and   masters   degree   in   electrical  engineering.    His  PhD  in  computer  science  is  from  UCLA.    He  can  be  contacted  as  d.fairley@computer.org.  Mary   Jane   Willshire   is   a   principal   associate   of   S2EA.     Dr.   Willshire   has  bachelors  and  masters  degrees  in  mathematics.    Her  PhD  in  computer  science  is  from  Georgia  Tech.    She  can  be  contacted  as  mjwillshire@ieee.org.  

Fairley, R. (2011, June), Teaching Software Engineering to Undergraduate System Engineering Sudents Paper presented at 2011 ASEE Annual Conference & Exposition, Vancouver, BC. https://peer.asee.org/18941

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2011 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015