This course for systems engineers covers software engineering principles, artifacts, and approaches for the development of software systems. Topics include software engineering processes and metrics; real-time, distributed, configurable, and object-oriented software; alignment of software systems with overall system design; software-unique aspects of planning, requirements, architecture analysis, design, implementation, testing, and maintenance; understanding important software engineering constraints (performance, security, networking, etc.); and technology trends in software engineering today.
The Course week is structured from Tuesday through Monday, and assignments/tests are due just before midnight Eastern Time on Monday evenings.
Each week has a separate module of instructional materials, including readings, videos, and discussions.
To identify and describe the roles and responsibilities of Software Systems Engineers, and then apply that knowledge to analyze and solve software systems engineering problems, including a semester-long use of discussion forums. Discussion forums will highlight certain topics relevant to software systems engineering not covered in the text.
Sommerville, Ian, Engineering Software Products, Pearson, 2020. ISBN: 978-0135210642
Textbook information for this course is available online through the appropriate bookstore website: For online courses, search the MBS website at http://bookstore.mbsdirect.net/jhu-ep.htm.
Canvas
For Canvas system requirements, please go here:
Web Browser PluginsYou will need the Adobe Flash Player plugin to view videos in this course. Go to http://get.adobe.com/flashplayer/.
PDF ViewerYou will need the free Adobe PDF viewer software to view PDF files in this course. Go to http://www.adobe.com/products/acrobat/readstep.html.
Other SoftwareYou will need access to word processing and spreadsheet applications. Microsoft Office will, of course, work—however, an open source alternative is OpenOffice.org. http://download.openoffice.org/other.html#en-US.
ZoomYou will be using Zoom, a web-based conferencing system, to participate in classes you cannot attend in person, and also to replay class recordings.
To use Zoom, please perform a connection test on your computer to make sure your software is current by going to https://zoom.us/test and selecting Connection Test. If you have any trouble connecting to a Zoom meeting, please contact the JHU EP Online Help Desk (see below).
Python Development EnvironmentThe Python 3 programming language is used for several examples, exercises, and homework assignments. Module 1 has a movie on installing Python 3 and the python.org website describes the software requirements in order to participate in these activities.
The Cameo model-based systems engineering tool is used for several examples, exercises, and homework assignments. Module 1 has a movie on installing it and the links to the JHU website for accessing the provided license for the software.
It is expected that the class will take approximately 7–9 hours per week: reading the assigned sections of the texts (approximately 2–3 hours per week) as well as some outside reading, listening to the audio recordings of lecture presentations (approximately 3 hours per week), and writing homework assignments (approximately 1–2 hours per week).
This course will consist of four basic student requirements:
Individual Project (30% of Final Grade Calculation)Students will complete an individual project in incremental steps throughout the course.
Interim deliverables: 5 incremental pieces of the project combine for 10% of total grade.
Final Report: Final product is 20% of total grade
All homework assignments are due according to the dates in the Schedule and Assignments tools.
Late submissions will be reduced by one letter grade for each week late (no exceptions without prior coordination with the section instructor).
Written work is expected to be clear and understandable, although points are not usually deducted for minor grammar or spelling mistakes.
Writing more does not necessarily result in a better grade.
All work submitted must be your own individual work. All sources must be cited.
Homework is graded in accordance with the Systems Engineering program’s standard grading schema.
Technical Assignments (40% of Final Grade Calculation)There will be five assignments that students will complete individually. The grade on the first assignment will not contribute to the final grade, each of the remaining four assignments will be worth 10% of the final grade. Each assignment is graded on separate criteria, as described in the assignment rubric.
Discussions (20% of Final Grade Calculation)Six discussion activities - students will be asked to participate in asynchronous discussions on topics related to the module learning objectives.
The discussions are evaluated by the following grading elements:
Each student is responsible for carefully reading all assigned material and being prepared for the weekly self-check quizzes. These multiple-choice quizzes are available on Canvas with the release of each module. The content of the quiz is exclusively on the topic of the associated module. The self-check quizzes are evaluated by the following grading elements:
| Score Range | Letter Grade |
|---|---|
| 100-97.0 | = A+ |
| 97.0-93.0 | = A |
| 93.0-90.0 | = A− |
| 90.0-87.0 | = B+ |
| 87.0-83.0 | = B |
| 83.0-80.0 | = B− |
| 80-70 | = C |
| 70-63 | = D |
| <63 | = F |