Integrated Software and Systems Engineering Curriculum - PowerPoint PPT Presentation

1 / 38
About This Presentation
Title:

Integrated Software and Systems Engineering Curriculum

Description:

Being able to produce software that can be trusted as reliable, secure, safe, ... Murray Cantor, IBM. Lillian Cassel, Villanova and ACM volunteer. Robert Edson, ANSER ... – PowerPoint PPT presentation

Number of Views:38
Avg rating:3.0/5.0
Slides: 39
Provided by: arthur114
Category:

less

Transcript and Presenter's Notes

Title: Integrated Software and Systems Engineering Curriculum


1
Integrated Software and Systems Engineering
Curriculum
A Graduate Software Engineering Reference
Curriculum (GSwERC) The Current State of SE
Masters Degree Programs
  • Dr. Richard Turner
  • Kahina LasferStevens Institute of Technology
  • April 2008
  • rturner_at_stevens.edu

2
Background
  • Software drives the performance of virtually all
    major systems.
  • Being able to produce software that can be
    trusted as reliable, secure, safe, correct, and
    available while being delivered on-time and
    within budget is a major challenge for both the
    government and industry.
  • Many steps must be taken to meet that challenge -
    including ensuring our workforce is well educated
    in software engineering (SWE) principles and
    practices.
  • Yet, the last effort to create a reference
    curriculum for graduate software engineering
    education was by the SEI in the early 1990s.

Now creating new reference curriculum.
3
Our Approach Where We Are Today
  • Understand the current state of SWE graduate
    education (November 30, 2007)
  • Create GSwERC 0.25 with a small team, suitable
    for limited review (February 2008)
  • Publicize effort through conferences, papers,
    website, etc. (continuous)
  • Obtain endorsement from ACM, IEEE, INCOSE, NDIA,
    and other professional organizations (continuous)
  • Create GSwERC 0.50 suitable for broad community
    review and early adoption (Summer 2008)
  • Create GSwERC 1.0 suitable for broad adoption
    (2009)

?
?
?
?
?
4
The Early Start Team
  • Rick Adcock, Cranfield University and INCOSE
  • Edward Alef, General Motors
  • Bruce Amato, Department of Defense
  • Mark Ardis, Rochester Institute of Technology
  • Larry Bernstein, Stevens Institute of Technology
  • Barry Boehm, University of Southern California
  • Pierre Bourque, Quebec University and SWEBOK
  • volunteer
  • John Bracket, Boston University
  • Murray Cantor, IBM
  • Lillian Cassel, Villanova and ACM volunteer
  • Robert Edson, ANSER
  • Dennis Frailey, Raytheon Southern Methodist
    University
  • Gary Hafen, Lockheed Martin and NDIA
  • Thomas Hilburn, Embry-Riddle Aeronautical
    University
  • Greg Hislop, Drexel University and IEEE volunteer
  • Philippe Kruchten, University of British Columbia
  • James McDonald, Monmouth University
  • Ernest McDuffie, National Coordination Office for
    NITRD
  • Bret Michael, Naval Postgraduate School
  • William Milam, Ford
  • Fernando Naveda, RIT and IEEE volunteer
  • Ken Nidiffer, SEI
  • Art Pyster, Stevens Institute of Technology
  • Paul Robitaille, Lockheed Martin and INCOSE
  • Doug Schmidt, Vanderbilt
  • Mary Shaw, Carnegie Mellon University
  • Ann E Sobel, Miami university and IEEE volunteer
  • Robert Suritis, IBM
  • Richard Thayer, California State University at
    Sacramento
  • Richard Turner, Stevens Institute of Technology
  • Joseph Urban, National Science Foundation
    observer
  • Ricardo Valerdi, MIT INCOSE
  • Osmo Vikman, Nokia, Finland
  • David Weiss, Avaya

5
Methodology to Understand Current State
  • Diverse set of universities with Masters programs
    in SWE
  • Vary in size, geography, maturity, resources,
    target market,
  • Focused on programs with degree in SWE or
    Computer Science with a SWE specialization - not
    degrees in information technology and related
    areas
  • Used Software Engineering Body of Knowledge
    (SWEBOK) as the primary framework for SWE
    competencies
  • Collected data from school websites
  • Degree, faculty size, student population, target
    market,
  • Degree structure, individual course descriptions
  • Map between courses and SWEBOK
  • Validated data with one or more professors from
    each school
  • Analyzed for commonalities and uniqueness

6
Schools Studied
  • Naval Postgraduate School
  • Penn State University Great Valley
  • Quebec University (Canada)
  • Rochester Institute of Technology
  • Seattle University
  • Southern Methodist University
  • Stevens Institute of Technology
  • Texas Tech University
  • University of Alabama Huntsville
  • University of Maryland University College
  • University of Michigan Dearborn
  • University of Southern California
  • University of York (UK)
  • Villanova University
  • Air Force Institute of Technology
  • Brandeis University
  • California State University Fullerton
  • California State University Sacramento
  • Carnegie Mellon University
  • Carnegie Mellon University West
  • DePaul University
  • Drexel University
  • Dublin City University (Ireland)
  • Embry-Riddle Aeronautical University
  • George Mason University
  • James Madison University
  • Mercer University
  • Monmouth University

Non-US Schools
7
Observations from 28 Schools
  • SWE is largely viewed as a specialization of
    Computer Science - much as systems engineering
    was often viewed as specialization of industrial
    engineering or operations research years ago
  • Faculty size is small - few dedicated SWE
    professors, making programs relatively brittle
  • Student enrollments are generally small compared
    to CS and to other engineering disciplines
  • Many programs specialize to specific markets such
    as defense systems or safety critical systems
  • The target student population varies widely -
    anyone with Bachelors and B average to someone
    with CS degree and 2 years of experience
  • Online course delivery is popular

8
More Observations
  • Objective for graduates vary widely - software
    developer to researcher to software manager
  • Wide variation in depth and breadth of SWEBOK
    coverage in required and semi-required courses
  • Many programs have required or semi-required
    courses that cover material that is either not in
    the SWEBOK at all or is not emphasized in the
    SWEBOK
  • Some significant topics are rarely mentioned -
    agility, software engineering economics, systems
    engineering
  • Some topics are ubiquitous - formal methods and
    architecture
  • Object-oriented is the standard development
    paradigm - creating a clash with many systems
    engineering programs that emphasize structured
    methods

A student has a 50 or greater probability of
taking a semi-required course.
9
Programs Have Diverse Focuses
  • Embedded real-time systems
  • Entrepreneurial technology companies
  • Quantitative software engineering
  • Software economics
  • Safety critical systems
  • Development of defense systems
  • Acquisition of defense systems
  • Secure software engineering
  • Highly dependable software systems

No focus dominated
10
Differing Entrance Requirements
Many programs routinely waive academic
requirements for students with industrial
experience
Most programs offer leveling courses for students
lacking entrance requirements
Programs
11
Number of Full-time and Adjunct Faculty
  • Many software engineering faculty also teach
    computer science
  • Heavy dependence on adjunct faculty
  • Most faculty have industry experience

12
Number of Students Currently Enrolled
13
Percentage of Courses are Required
  • On average, students take 11.6 courses for the
    degree of which 8.3 are required.
  • For 43 of the programs, this includes a required
    thesis, project or practicum, which is normally
    the equivalent of 2 or 3 courses.
  • Required Student must take the course
  • Semi-Required 50 or more probability that
    course will be taken

14
SWEBOK Coverage in Required and Semi-Required
Courses
  • 0 No coverage of topic
  • 1 Some coverage but no dedicated course
  • 2 One dedicated course
  • 3 Two or more dedicated courses

sample
  • Required Student must take the course
  • Semi-Required 50 or more probability that
    course will be taken

15
Individual SWEBOK Coverage in Required and
Semi-Required Courses
16
Composite SWEBOK Coverage in Required and
Semi-Required Courses
  • No consistency in coverage across programs
  • Requirements, design, and management are best
    covered
  • Maintenance, configuration management, quality,
    and tools are least covered

of Programs with one or more dedicated courses
17
The Approach Create GSwERC 0.25
  • Understand the current state of SWE graduate
    education (November 30, 2007)
  • Create GSwERC 0.25 with a small team, suitable
    for limited review (February 2008)
  • Publicize effort through conferences, papers,
    website, etc. (continuous)
  • Obtain endorsement from ACM, IEEE, INCOSE, NDIA,
    and other professional organizations (continuous)
  • Create GSwERC 0.50 suitable for broad community
    review and early adoption (Summer 2008)
  • Create GSwERC 1.0 suitable for broad adoption
    (2009)

18
Selected Guidance for GSwERC Project (1)
  • The principle purpose of GSwERC will be to
    provide a framework for development and
    improvement of curricula that provide software
    engineering education at the masters degree
    level.
  • The masters degree described by GSwERC will be a
    professional degree targeting practicing software
    engineers. Nevertheless, with slight
    modification, GSwERC will serve as the foundation
    for those with a research interest who ultimately
    seek a doctoral degree.
  • Software Engineering draws its foundations from a
    wide variety of disciplines.
  • All software engineering students must learn to
    integrate theory and practice.
  • The rapid evolution and the professional nature
    of software engineering require an ongoing review
    of the corresponding curriculum

19
Selected Guidance for GSwERC Project (2)
  • GSwERC will go beyond knowledge elements to offer
    significant guidance in terms of individual
    curriculum components.
  • GSwERC will support the identification of the
    fundamental skills and knowledge that all
    graduates of a masters degree program in software
    engineering must possess.
  • GSwERC will be international in scope.
  • GSwERC will include exposure to aspects of
    professional practice as an integral component of
    the graduate curriculum.
  • GSwERC will identify prerequisite requirements
    for students to enter a masters program in
    software engineering

20
Expectations at Entry
  • The equivalent of an undergraduate degree in
    computing or an undergraduate degree in an
    engineering or scientific field and a minor in
    computing. The GSwERC Body of Knowledge more
    completely defines the expected prerequisite
    knowledge, and
  • The equivalent of an introductory course in
    software engineering, and
  • At least one year of practical experience in some
    aspect of software engineering or software
    development

21
Expectations at Graduation (1)
  • 1. Show mastery of the software engineering
    knowledge and skills, and professional issues
    necessary to practice as a software engineer in a
    variety of application domains with demonstrated
    performance in at least one application domain.
  • 2. Understand the relationship between software
    engineering and systems engineering and be able
    to apply systems engineering principles and
    practices in the engineering of software.
  • 3. Show mastery of software engineering in at
    least one specialty such as embedded devices,
    safety critical systems, highly distributed
    systems, software engineering economics, or one
    of the knowledge areas of the GSwERC Body of
    Knowledge.
  • Work effectively as part of a team, including
    teams that may be international and
    geographically distributed, to develop quality
    software artifacts, and to lead in one area of
    project development, such as project management,
    requirements analysis, architecture,
    construction, or quality assurance.

22
Expectations at Graduation (2)
  • 5. Reconcile conflicting project objectives,
    finding acceptable compromises within limitations
    of cost, time, knowledge, existing systems, and
    organizations.
  • 6. Design appropriate software engineering
    solutions that address ethical, social, legal,
    and economic concerns.
  • 7. Understand and appreciate the importance of
    feasibility analysis, negotiation, effective work
    habits, leadership, and good communication with
    stakeholders in a typical software development
    environment.
  • 8. Learn new models, techniques, and technologies
    as they emerge, and appreciate the necessity of
    such continuing professional development.
  • Analyze a current significant software
    technology, be able to articulate its strengths
    and weaknesses, and be able to specify and
    promote improvements or extensions to that
    technology.

23
Curriculum Architecture
24
Courses Cut Across Boundaries
25
A Program Track
26
Slice of the Body of Knowledge
Bloom of Hours Hours
27
Comparison of Four Real Masters Programs
Scale 1 does not implement at all, 5 fully
implements
28
Reminder Where We Are Today
  • Understand the current state of SWE graduate
    education (November 30, 2007)
  • Create GSwERC 0.25 with a small team, suitable
    for limited review (February 2008)
  • Publicize effort through conferences, papers,
    website, etc. (continuous)
  • Obtain endorsement from ACM, IEEE, INCOSE, NDIA,
    and other professional organizations (continuous)
  • Create GSwERC 0.50 suitable for broad community
    review and early adoption (Summer 2008)
  • Create GSwERC 1.0 suitable for broad adoption
    (2009)

?
?
?
?
?
Contacts Rich Turner, rturner_at_Stevens.edu Art
Pyster, art.pyster_at_Stevens.edu
29
Backups
30
Programs Prepare Graduates for Diverse Roles
Most programs prepare students to be practicing
software engineers. Two prepare students to
acquire software. Several prepare students to
manage teams of software engineers or to be
researchers.
  • Develop and modify large, complex software
    systems
  • Be an effective member of software development
    team
  • Procure highly dependable, trustworthy
    software-intensive systems
  • Understand and apply advanced SWE principles
    vital to industry
  • Realize software products on time, within budget
    and with known quality
  • Provide industrial leadership as a software
    engineer
  • Prepare students for research
  • Prepare students to be software engineers and
    software process managers in industry and
    government
  • Develop future chief engineers, head designers,
    principal technical officers
  • Provide software development professional with a
    sound educational basis for their work, and an
    opportunity to broaden skills

31
Department or School in which Degree is Offered
  • School of Systems and Enterprises (Stevens)
  • Dept. of Electrical and Computer Engineering
    (AFIT, Drexel, Mercer)
  • Dept. of Engineering and Information Science
    (Penn State Great Valley)
  • Dept. of Information and Technology Systems
    (University of Maryland University College)
  • Division of Professional Studies (Brandeis)

Department or school names may vary slightly,
but are close to software engineering or
computer science
31
32
Degree Offered
  • MSE Master of Software Engineering
  • MS in SWE Master of Science in Software
    Engineering
  • MS in CS (SWE spec.) Master of Science in
    Computer Science with specialization in Software
    Engineering
  • MS in IT (SWE spec.) - Master of Science in
    Information Technology with specialization in
    Software Engineering

33
Year that Program Started
34
Some Novel Required Semi-Required Courses
  • Reverse Engineering (Drexel)
  • Software Evolution and Re-engineering (Rochester)
  • Software Documentation (Penn State Great Valley)
  • Software Risk Assessment in DoD (NPS)
  • Refactoring (Mercer)
  • Structured Document Interchange and Processing
    (DePaul)
  • Avoiding Software Project Failures (Carnegie
    Mellon West)
  • Mathematical Foundations of Software Engineering
    (Monmouth)
  • Global Software Development (Carnegie Mellon)
  • Management of Outsourced Development (Carnegie
    Mellon West)
  • Professional, Ethical and Legal Issues for
    Software Engineers (Cal. State Univ. Fullerton)
  • Managing Software Professionals (Carnegie Mellon
    West)
  • Lean Agile Software Processes (Mercer)
  • Artificial Intelligence (Michigan - Dearborn)
  • Software Engineering Economics (GMU, USC)
  • Computer Game Design Implementation (Michigan -
    Dearborn)
  • Service Oriented Architecture (Dublin City)

35
Special Emphasis Required and Semi-Required
Courses
HCI Human Computer Interfaces, Graphics
Visualization ALG Algorithms DBMS Databases
Information Management SS Safety
Security NET Networks, Internet Distributed
Systems
OS Operating Systems Middleware HW Hardware
Computer Engineering RES Research
Experimental Methods RTES Real-time Embedded
Systems
Programs
Shown are 9 categories with required or
semi-required courses in at least 10 of the
programs
36
SWEBOK Coverage in Introductory Course(s)
  • 0 No coverage of topic
  • 1 Some coverage of topic
  • 2 Significant coverage of topic

sample
  • Only 39 of the programs offer an introductory
    course
  • Most common reason for not offering course
    expect students to have industrial experience
    before entering program

Introductory / Foundation level course in
Software Engineering, as indicated in Course
Title or Description
37
Individual SWEBOK Coverage in Introductory
Course(s)
38
Composite SWEBOK Coverage in Introductory
Course(s)
  • Reasonable consistency in coverage across
    programs that offer an introductory course
  • Requirements and design are best covered
  • Tools and quality are least covered

of Programs with coverage
Write a Comment
User Comments (0)
About PowerShow.com