Tuesday, February 5, 2013

This quarter's Software Engineering Syllabi. Olivet University


SE 532Software Engineering Processes

COURSE DESCRIPTION:

This course covers all the latest developments in software engineering. Detailed explanation of the software engineering activities of specification, design, development, verification and validation and management and how these important topics work together. Different models of the software engineering process are compared and contrasted. This course provides an overview of Software Design Patterns and UML and gives explanation  about how they can facilitate the overall development process.

RELATION TO THE COLLEGE STATEMENT OF MISSION:
This course provides students with knowledge of software engineering principles and best practices. It advances the mission of Olivet University by equipping students with the practical skills to communicate the Gospel through software development – which is particularly important for effectiveness in the ‘network generation.’

COURSE OBJECTIVES:

Upon completing this course, a student should be able to:
(1) Understand the main technical activities associated with software engineering: requirements specification, design, implementation, testing and maintenance.
 (2) Understand the importance of quality assurance, human factors, professional issues and project management in software development.
 (3)  Understand common design patterns
(4) Be able to identify appropriate patterns for design problems
 (5) Analyze and design the object-oriented concepts of a software using Unified Modeling Language (UML)

COURSE REQUIREMENTS:

A. Reading:
Carefully read all the assigned reading from the textbook.

B. Exams:
The course will have one midterm and one final.

COURSE TEXTBOOKS:

Required Textbooks:
-          Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition by Bernd Bruegge (Author), Allen H. Dutoit (Author)

Optional Textbooks:
-          Object-Oriented Software Engineering: Practical Software Development using UML and Java  by Timothy Lethbridge (Author), Robert Laganiere (Author)
-          Software Engineering: (8th Edition) (International Computer Science Series)
by Ian Sommerville (Author)
-          The Mythical Man-Month: Essays on Software Engineering, 20th Anniversary Edition  by Frederick P. Brooks (Author)
-          Design Patterns Explained: A New Perspective on Object-Oriented Design (2nd Edition) (Software Patterns Series) by Alan Shalloway (Author), James Trott (Author)
-          UML Distilled: A Brief Guide to the Standard Object Modeling Language (3rd Edition) (The Addison-Wesley Object Technology Series) by Martin Fowler (Author)
-          UML 2.0 in a Nutshell (In a Nutshell (O'Reilly)) by Dan Pilone (Author), Neil Pitman (Author)

Team Projects
Class will be divided into 4-6 person teams.  Each team will be provided a set of high-level requirements to be implemented, integrated, and tested.  Each team’s requirements will be implemented using a selected set of the software engineering processes covered in the course.  Activities will begin with project planning and culminate in a review of the team results.  Each team will be required to maintain a project notebook and provide three presentations during the development of the project.  The first two presentations will review the objectives and architecture of the selected software system.  The final review will compare actual results to initial plans and then develop a set of lessons learned for future projects (what worked well, what did not work well, and for elements that did not work well, recommendations for improving the process). 
Teams may define their own project (subject to instructor approval) or select a project from a list provided by the instructor.  Teams will also be allowed to select their own development environment and languages, but must be able to demonstrate the application and provide access to the source code to the instructor (e.g., students may not use employer tools/environments that are not accessible to the instructor).



Grading

  1. Individual work:  60%
·         First Midterm (20%)
·         Second Midterm  (20%)
·         Third Midterm  (20%)
2.      Team work:  40%
-          Each of 3 presentation/notebook updates (10%)
-          Final project notebook (10%)


Sample Team Project:
Creation of multi-user, Web-based system(ARENA) for organizing and conducting tournaments. ARENA is game independent in the sense that organizers can adapt a new game to the ARENA game interface, upload it to the ARENA server, and immediately announce and conduct tournaments with players and spectators, located anywhere on the Internet.
Organizers can also define new tournament styles describing how players are mapped to a set of matches and how to compute an overall ranking of players by adding up their victories and losses(hence, figuring out who won the tournament).To recoup their operational  costs, organizers can also invite potential sponsors to display advertisement banners during games.
After each lecture we will discuss issues, design decisions and trade-offs specific to the lecture in the context of ARENA and we’ll emphasize the dependencies with previous lectures.


COURSE SCHEDULE:

Week              Topic                                                                          Reading

Week 1            Introduction to Software Engineering                       Ch 1 - from required book                 definition, concepts, development activities,
managing software development,ARENA  case study,
further readings,exercises

Week 2            Modelling with UML                                                 Ch 2
introduction,diagram types,modeling concepts,                          
 further readings, exercises

Week 3            Project organization and communication                    Ch 3
introduction,organization concepts,
communication concepts,organizational activities,
further readings, exercises

Week 4            Requirements definition                                             Ch 4
introduction, concepts, activities, managing
requirements elicitation, further readings,
exercises

Week 5            Analysis                                                                      Ch 5
introduction, concepts, activities, managing
analysis, ARENA case study , further readings,
exercises

Week 6            System design - decomposing the system                  Ch 6-Ch 7
and addressing design goals
introduction, concepts, activities, managing
system design, ARENA case study ,
further readings, exercises

Week 7            Object design- reusing patterns solutions                         Ch 8
introduction, concepts, activities, managing
resuse, ARENA case study , further readings,
exercises

Week 8            Object design- specifying interfaces                                 Ch 9
introduction, concepts, activities, managing
object design , ARENA case study ,
further readings, exercises

Week 9            Mapping models to code                                            Ch 10 
introduction, concepts, activities, managing
implemenation, ARENA case study , further readings,
 exercises

Week 10          Testing                                                                        Ch 11 
introduction, concepts, activities, managing
testing, further readings, exercises

Week 11          Rationale Management                                               Ch 12
introduction, concepts, activities – from issues
to decisions, managing rationale
further readings,exercises

Week 12          Configuration Management                                        Ch 13
introduction, concepts, activities,
 managing configuration management ,
further readings, exercises

Week 13          Project Management                                                   Ch 14
introduction, concepts, activities,
further readings, exercises

Week 14          Software Life Cycle                                                   Ch 15
introduction, IEE1074 standart,
life cycle models,further readings, exercises

Week 15         Putting It All Together                                                Ch 16
             introduction,project environment ,
                          methodology issues,spectrum of methodologies,
            case studies,futher reading, exercises


No comments:

Post a Comment