Syllabus
Software Engineering Applications Syllabus
Course Time & Location:
Lecture Time: Monday, Wednesday, Friday at 10:00 am
Lecture Location: Gianforte Hall Room 200
Weekly Schedule
Course Description
ESOF 423 Software Engineering Applications: 3 Credits (1 Lec, 2 Lab)
PREREQUISITES: ESOF 322Application of software engineering techniques and methodologies acquired in previous courses to solve an open-ended software engineering problem provided by stakeholders. Students will use a team based approach to requirements gathering, designing, implementation, testing, integration and delivery of the software solution. CSCI 440 is recommended.
Course Outcomes
After successfully completing this course:
- Design and implement a solution to an open-ended problem in software engineering defined by a stakeholder.
- Evaluate alternative solutions to a problem in software engineering.
- Use software quality assurance techniques to evaluate the quality of developed software engineering solution.
- Use written/oral/visual means to document and present the solution to the stakeholder
- Understand how to work in a software development team in an agile environment.
Projects
- The projects are specified by outside clients, and each team can take on a project
of their choice.
- Teams are expected to develop the product specified by the client through the completion of user stories.
- The teams are required to closely follow agile development methods followed in the industry (http://agilemanifesto.org/).The teams are self organizing and will decide what portions of the project requirements they will implement during each sprint.
- During each planning meeting the team decides the portion of the requirements they
are going to implement during that sprint and discuss how the work is distributed
among team members.
- Teams are required to produce a working piece software at the end of each sprint and will be iteratively and incrementally developed toward the final product.
- The teams are required to maintain project with Git, a proper distributed version control workflow which includes maintaining proper branch structures and frequent meaningful commits by all the developers in the group. We will use GitHub in class for hosting public repos.
- The teams must apply quality assurance techniques through unit/integration/system testing and using proper tools to evaluate the test quality (e.g. coverage tool).
Grading
Final letter grades will be based on the relative distribution of total scores and not on any preset numerical grade.
INDIVIDUALLY GRADED
- 30%: Individual Assignments: based on lecture material
- 15%: Live participation for scrum meetings is critical. Be there.
- Meet in person. Start on time. Stand up (unless unable) for the scheduled Scrum Labs.
- Exceptions: If a member of a group must miss a scrum meeting for any reason, advance
notice must be given to the professor (email) as well as the other member of the group
for an excused absense.
- It is not required for the second group member to attend lab when their partner as an excused absense.
- Each group has a maximum of 2 excused absenses for the semseter.
- 5%: Attend final presentations. (graded by observation)
- Support, learn from, ask questions of the other group's presentations
GROUP GRADES
- 30% : Development releases: (group demo, graded in class observation)
- A series of 5 software releases leading up to the final product
- Revision Control: source code, CI, technical documentation, issues, links and references are in good order on project repository
- Proper maintenance of the scrum artifacts; from retrospective document
- Completed requirements, code maintainability/extensibility, quality assurance methods, continuous integration, testing, and delivery.
- 20%: Final Release (presentation, portfolio, release, repo, recording): (group submission;
group grades)
- Presentation - Target audience is the client. Each developer should speak for 3-5 minutes with slides highlighting their contribution and how the client can use the feature. Be prepared for questions.
- Portfolio content: Target audience is a technical developer. Incldue high level UML diagrams displaying the design, discussion on the design patterns used, discussion of code maintainability/extensibility and methods used to accomplish them, quality assurance methods and their evaluation.
- Final Release: Project is COMPLETE: fully featured, tested, debugged, functional, user documented, and usable by clients.
- Demo - Clear 10 - 15 minute recorded video recording demonstrating usage of the application for an end user
Grades are determined based on your score in the class as follows:
| Letter Grade | % Score |
|---|---|
| F | 0 |
| D- | 60 |
| D | 63 |
| D+ | 67 |
| C- | 70 |
| C | 73 |
| C+ | 77 |
| B- | 80 |
| B | 83 |
| B+ | 87 |
| A- | 90 |
| A | 93 |
Course Policies
See the policies page for expectations and consequences on subjects like collaborating with others, what constitutes cheating, copyright responsibilities, using tools like ChatGPT, lateness, and what to do in case of emergencies.
Additional MSU Resources
