Dr. Michael Sobolewski
Office hours: Thursday 11:00 a.m. to 1:00 p.m. or by appointment
Location: CP 204
Time: 9:30 p.m. -
10:50 a.m., TR
Course webpage is
will make extensive use of the class WWW site. You should check the WWW page on
a near daily basis for updates.
This course is designed to introduce the student to theory and
practice of software engineering (SE) and technologies associated with the design,
construction, and testing of software systems, particularly quality software for
large, complex systems. Students learn UML-based systems modeling and several
unified processes. The course explores the tools used for building and testing
software systems, particularly in the context of open source software. Students
will participate through research and group projects. This class is
intensive. The group project requires a lot of out of class work.
Students who successfully completed this course will be able to:
Understand the differences between SW development process models (2,
2. Specify and analyze SW requirements and design with UML notation (2, 4, 7)
3. Understand architecture-driven development (2)
4. Understand differences between SW inspection, testing, validation, and
verification (5, 7)
5. Document Java source code that conforms to class coding standard (2, 5)
6. Be able to use Eclipse for UML modeling and CVS/SVN for source code control (2,
7. Write and execute automated JUnit tests (2, 7)
Methods of Assessment of Learning outcomes
a. Two examination
b. Class practices using small examples, just after finishing the
theory for each class practice
c. Homework assignments
d. A project presentations, acceptance test, and demo
e. Class participation is counted in the grade, which is determined
by attendance, discussion in class, and attitude
Prerequisites: CS-2413 Data Structures, knowledge of
object-oriented concepts in Java or C++.
Software Engineering with Java, George G. Marx and Ronald J. Norman,
Prentice Hall, 2007
 UML 2 and
the Unified Process: Practical Object-Oriented Analysis and Design
(2nd Edition), Jim Arlow and Ila Neustadt, Addison-Wesley
 OMG Unified Modeling Language (OMG UML), Infrastructure, V2.1.2,
 Thinking in Java (4th Edition), Bruce Eckel, Prentice Hall PTR,
Intro to Java in context of SE
- Architecture driven unified development
- The Unified Modeling Language: a primer
- Object-oriented design and development
- Intro to distributed computing concepts
- Interfacing with users
- Implementing Java programs
- SW quality assurance
- Information management
- Reality check: Java programs in the real world
- SW integration and deployment
Participation and attitude
Class practices and homework
Student Workload: This is a
combined teamwork-oriented lecture/lab/discussion/workshop course.
Material will be presented by the project team members and students are expected to participate in
workshops and project review
Failure of any member to attend a review
meeting results in an automatic 10% reduction in their final grade.
Students must receive prior approval if they can't attend a meeting.
A project presentation and demo is required at the end of the semester.
Project's that don't work as per the requirements
can receive as much as 15% reduction in the final grade.
The purpose of these
different instruments is to have a positive learning experience,
critical thinking about SW development process and OO design issues, and some sound
grasp of fundamental architectural and design patterns. If you feel any of these instruments is not
working for any reason, please send me email and I will consider a
change in the format of delivery.
relationships are based on trust. Acts, which violate this trust,
undermine the educational process. Your classmates and the
instructor will not tolerate violations of academic integrity (see
Academic Conduct for Engineering Students, College of Engineering
Texas Tech University).