Fundamentals of Software Engineering
Instructor: Dr. Kal Bugrara Office: Snell Engineering, Rm 267 Office Hours: Sat: 12:00-2:00 pm Phone URL: But first...
Objectives Develop the skill sets needed to empower you to take a business problem from “concept” to “code” Learn the tools and techniques that will enable you to transform a business problem to a managed solution.
You will learn The Unified Modeling Language How to leverage modeling tools such as Rational Rose and others to document business requirements Business process analysis and design techniques
The Steps How to analyze and formalize user requirements Activity modeling Object modeling Use cases Sequence diagrams Map the business definition to a high level software architecture Map the high level software architecture to a detailed design Develop a quality assurance/testing strategy
The Project Analyze and design a software solution to a real- world business problem. Work part of a team of three people and divide the work accordingly. You are required to submit progress reports every 2 weeks.
The Deliverables A formal presentation describing your solution A detailed report outlining your solution. You will be graded on the correctness and completeness of your solution. Completeness here means a team of software engineers should be able to program your design quickly without your help.
The Grading A midterm exam will account for %25 of your grade A final exam will account for the remaining %25 of your grade. Homework problems %20 The project work will account for 30% of your grade
Reference books “UML Distilled” 3rd edition by Martin Fowler “Writing Effective Use-Cases” by Alistair Cockburn