CEN4020: Software Engineering I |
up↑
|
Class Meeting #1: Monday, Week 1
Course Administration
- Attendance check and introductions
- Syllabus: please read the on-line
syllabus
- It contains important details not covered in this class.
Topics for Today
What is the purpose of this course?
- Address pragmatic issues in software development
For example:
- Working in a team
- Managing a project
- Predicting cost of a project
- What to do about an over-budget, behind-schedule project?
- Gauging how project is progressing
- Knowing when product is ready to deliver
- Deciding what software to write
- Dealing with clients/customers
- Dealing with co-workers, bosses
- Legal and ethical issues
- Dealing with complexity and scale
- Communicating ideas between participants
- Testing and quality control
- etc.
- These matters are generally not addressed in other CS courses
- Addressing these problems is absolutely critical
- A person who can solve them is more valuable than a skilled coder
What makes this subject different from the rest of CS?
- They generally are not solvable by purely technical means
- One cannot definitively say what is "best", so there are huge debates
- There are conflicting camps/cults, religiously held beliefs
- There are fads
- But there is a lot of accumulated knowledge, that can be useful
Things for You to Do
- Read Chapter 1 of the text, and prepare to take quiz Q1 Friday.
- Review the notes from this class,
Fast Forward to Use Case Diagrams.
- Look at HW1.
- Install Eclipse and the UML tools on your computer, and play with it
- Move on to reading the section on use cases in Chapter 5, then Chapters 2 and 4. (Skip Chapter 3 for now.)
Welcome to the course! Don't hesitate to e-mail or call me if you
are having problems. There is no such thing as a stupid
question.