SWENG 480: Software Engineering Design I

Textbook Information

Suggested, not required:
  • Software Engineering. Ian Sommerville, 10th Edition, Addison-Wesley, 2015. ISBN-10: 0-13-394303-8

  • The Elements of UML 2.0 Style. Scott W. Ambler, Cambridge University Press. ISBN: 0-521-61678-6

Published Remarks

Hardware Requirements

Software Requirements

Proctored Exams

Course Description

This course prepares senior software engineering students for industrial engineering design and project management. It covers the engineering design process, project planning and evaluation, engineering ethics, and engineering economy. In addition, students select, specify, and start their capstone design project, which is completed, in the follow-up course, SWENG 481 Students are expected to carry out a group design project that is on par with industrial expectations. Upon completion of this course a student should have a solid understanding of the engineering design process, a clear capstone project description, should have completed some preliminary design work, and be adequately prepared to complete the project in SWENG 481

Prerequisite:  SWENG431

Course Overview

This course prepares senior software engineering students for industrial engineering design and project management. It covers the engineering design process, project planning and evaluation, engineering ethics, and engineering economy. In addition, students select, specify, and start their capstone design project, which is completed, in the follow-up course, SWENG 481 (Links to an external site.). Students are expected to carry out a group design project that is on par with industrial expectations. Upon completion of this course a student should have a solid understanding of the engineering design process, a clear capstone project description, should have completed some preliminary design work, and be adequately prepared to complete the project in SWENG 481 (Links to an external site.).

Prerequisite:  SWENG431

All students registered in this course should be graduating by May or December 2022

Course Outline:

Module 1: Introduction to Senior Design Experience

Module 2: Ethics

Module 3: Agile Development

Module 4: Requirements Engineering

Module 5: Use cases

Module 6: Architectural Design

Module 7: Report 1.0

Module 8: Presentation 1

Module 9: Structural Design

Module 10: Behavioral Design-1

Module 11: Behavioral Design-2

Module 12: Test Driven development

Module 13: Report 2.0

Module 14: Presentation 2

Module 15: Wrap up

Objectives

By the end of this course students are expected to be able to:

  • Recognize the ACM code of ethics and be able to conform to it in system development.
  • Conduct a project needs assessment, conduct supporting research, and develop a problem statement.
  • Apply the Agile software development process.
  • Extract user requirements and engineer system requirements.
  • Design a system architecture appropriate for the system at hand.
  • Apply development tools like UML to document system requirements and designs.
  • From a statement of user needs, be able to work out a clear and complete system design that can meet the specified needs.
  • Apply the principles of effective teamwork and know how to develop team process guidelines.
  • Recognize the elements of an effective oral technical presentation and be able to demonstrate them.

Outcomes

This course supports the following ABET outcomes:

Outcome (1): an ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.

Outcome (2): an ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.

Outcome (3): an ability to communicate effectively with a range of audiences

Outcome (4): an ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.

Outcome (5): an ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.

Outcome (6): an ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.

Outcome (7): an ability to acquire and apply new knowledge as needed, using appropriate learning strategies

Course Requirements and Grading

Grading Policy

The following weights are assigned to the different assessed components of the course:

Category Variable Percentage
Quizzes G0 10%
Discussions G1 10%
Report Version 1.0 G2 10%
Report Version 1.5 G3 10%
Report Version 2.0 G4 10%
Report Version 2.5 G5 10%
Presentation 1 G6 12.5%
Presentation 2 G7 12.5%
System G8 15%

Teamwork Performance Factor:

Each team member will have a performance factor. The performance factor is based on peer evaluation and faculty advisor evaluation. The advisor evaluation is based on your weekly progress and effort.

Variable Range
P: Peer Evaluation [0,0.7]
A: Advisor Evaluation [0,0.3]
T: Perfomance Factor = P + A [0,1]

Final Grade Calculation:

Your final grade is calculated using the following formula:

Final Grade = (G0 * 10% ) + (G1 * 10%) + (G2 * T * 10%) + (G3 * T * 10%) + (G4 * T * 10%) + (G5 * T * 10%) + (G6 * 12.5% ) + (G7 * 12.5%) + (G8 * T * 15%)

Reports:

Each team will submit 4 reports. The reports are built on each other. The first report is 1.0, it will be mainly concerned with your system requirements. The second report is 1.5, which is an updated version of 1.0 that includes the feedback you received from your advisors. The third report is version 2.0, the main new element in this report is your system design. The fourth report is 2.5, which is an updated version of 2.0 that includes the feedback your received from your advisors.

Presentations:

Each team will give two presentations to their faculty advisors. The presentations will be given live through zoom. Basically, the purpose of each presentation is to illustrate to your advisors your current progress. The first presentation will be focused on your system requirements, while the second will be focused on your system design. More information about the presentations structure will be given in the modules content.

Quizzes:

Quizzes are short and designed to make sure your knowledge on the current topic is sufficient. They are assigned on a Monday and are due by Sunday (11:59pm, US Eastern time) of the same week. No late Quizzes will be accepted.

Discussions:

Discussion topics will be assigned throughout the semester. Students are required to participate in these discussion. Usually each student is required to include an original post and comment on at least two existing posts. You will find more detailed information attached to the discussion topics.

System:

Each team will have to demonstrate their system progress at the end of the semester to their faculty advisor. More information about the expected progress will be discussed in the modules content.

Assessments are based on 100 points with final letter grades being assigned as follows:

A A- B+ B B- C+ C D F
100-93 92.9-89 88.9-85 84.9-80 79.9-75 74.9-70 69.9-65 64.9-60 59.9-0

Communication Expectations

As part of this online course, you will be using e-mail and discussion forums to interact with a diverse group of faculty and students. All online communications should follow the rules of “Netiquette” that govern the Internet. Here are a few ground rules to get you started.

  • Subject Lines. Whenever you post a message in a forum or send course mail, use a short yet descriptive subject line.
  • Stay on topic. When in a discussion forum, stay on topic. Start a new discussion when appropriate.
  • Proofread. Email and discussion posts are written communication (not spoken) and should contain correct grammar, punctuation, and spelling.
  • Never use all CAPS. Using all CAPS is equivalent to shouting.
  • Language. Use professional language. Avoid slang and text acronyms and never use vulgar or inappropriate language.
  • Basic Courtesy. Be courteous and respectful in all of your course communications.
  • Consider your tone. A poorly worded note can easily be misunderstood or misconstrued. Remember, recipients can’t see your body language or the expression on your face, nor can they hear the intonation in your voice. If you have a suspicion that something you wrote might be taken the wrong way, it probably will.
  • Remember your audience. Your classmates come from all over the country and the world. Remember that language, humor, and idioms are not universal. Be especially careful with sarcasm.
  • When reacting to someone else’s message, address the ideas, not the person.