COS 420 - Introduction to Software Engineering
Spring, 2008.
- Course Description:
- A broad view of software engineering which introduces a variety of software
engineering techniques which can be applied to practical software projects.
Topics include process models, human factors, software specification, software
design, programming techniques and tools, and software verification and validation.
- Place and Time:
- Tuesday/Thursday, 2:00-3:15, Room 100 Neville Hall.
- Instructor:
- Larry Latour, Assoc. Prof., Dept. of Computer Science
Office: 222 Neville Hall
Tel: 581-3523
Email: Firstclass (Larry Latour) or larry_latour@umit.maine.edu
- Textbook:
- Fundamentals of Software Engineering, Second Edition. Carlo Ghezzi, Mehdi Jazayeri, and
Dino Mandrioli, Prentice-Hall, 2003.
Course Outline:
The course outline draws liberally from the required text
- 1. Software Engineering: A preview - Text, Chapter 1
- History of SE, role of the software engineer, the software life cycle,
relationship of SE to programming languages, operating systems, data bases,
artificial intelligence, and theory of computer science.
- 2. The Software Production Process - Text, Chapter 7
- Software production process models, waterfall model, evolutionary model, transformation model, spiral model,
model assessment, case studies, organizing the process.
- 3. Software: It's Nature and Qualities - Text, Chapter 2
- Classification of software qualities, quality requirements in different
application areas, measurement of quality.
- 4. Software Engineering Principles - Text, chapter 3
- Rigor and formality, separation of concerns, modularity, abstraction, anticipation
of change, generality, incrementability.
- 5. Software Design - Text, Chapter 4
- Software design activity and objectives, modularization techniques, object-oriented
design, handling anomolies, a design case study, concurrent software.
- 6. Software Specification - Text, Chapter 5
- Specification usage and qualities, specification styles, specification
verification, operation vs. descriptive specifications, specification in practice.
- 7. Software Verification - Text, Chapter 6
- Goals and requirements, approaches, testing, analysis, symbolic execution,
debugging, verifying other software properties.
- 8. Management of Software Engineering - Text, Chapter 8
- Management functions, project planning, project control, organization,
risk management.
- 9. Software Engineering Tools and Environments - Text, Chapter 9
- Historical evolutiom, classification, representative tools,role of programming
languages, sample tools and environments, future scenario.
Grading:
Grades will be based on the following work:
- 6 homework "packages", 6 x 4% = 24%
- preliminary exam 1 (1 hr. 15 min.) = 15%
- preliminary exam 2 (1 hr. 15 min.) = 15%
- final exam (2 hrs.) - 20%
- group semester project -16%
- attendance and class participation - 10%
Program implementation portions of each homework packet may be done in any language
the student prefers, but the student must be
ready to demo any programs in my office or it's vicinity.
Students need to complete the two preliminary exams, the final exam, the 6 homework packages,
and the semester project in order to
be eligible for a passing grade of D or better.
No makeup quizes/exams are given unless the circumstances warrant. Work will only
be accepted if reasonable care and effort on the part of the student is evident.
Important: All homework and project work (1) must be complete,
(2) must be type-written, (3) must have a cover page containing the student's
name, class, homework number, and list of problems, and (4) must be stapled
in the upper left-hand corner. No hand-written work or fancy covers are accepted.
Group Semester Project/Paper:
Your group task is to design and implement the Trivicalc spreadsheet
application in a way that reflects the topics studied during the semester. That
is, enough time must be spent on the requirements, design, specification, and
verification, and validation of the system to "prove" that the system
works the way it should.
Last updated: 1/13/08