AT 70.19 Software Development and Quality Improvement

Software engineering, Software development, Software testing, CASE Tools, Software project management, Software quality and improvement, Open source software.CSIM Logo WelcomeCourses
Faculty, Student, Staff
Projects and reports
Conferences, workshop and seminars
Laboratories and reasearch facilities
Information related to CSIM
Information non-related to CSIM
Address, map, phone, etc.
Search

Semester:
Summer

Rationale:

Designing, developing, and improving complex software systems requires a mastery of analytical and technical skills, as well as a knowledge of appropriate processes, architectures and design patterns. This course teaches the fundamental skills of software engineering, drawn from research and best-practices on large open source and commercial software projects. Students will learn techniques and tools for modeling, analyzing, developing and evaluating complex software systems. The emphasis will be on rapid implementation of complex systems through agile development processes, visual development tools, software frameworks, and integration of open source and commercial components.

The course will also improve students' practical software engineering skills by having them plan and execute a significant open-source software development project. Students may make a specific contribution to an existing large open source project or start a new project of their own choice. Projects with the potential to play a role in development of the Asian region will be strongly encouraged.

This is the second course in a two-course sequence, focusing on prototyping and software construction, project management, and testing. Students taking this course will execute the open-source software development project they planned in Software Architecture and Design.

Catalog Description:
XML Foundations, RDF and OWL, XML Models, XML and Databases, Web Services, XML Applications.

Credits:
3(2-3)

Prerequisite:
AT 70.19 (Software Development and Quality Improvement)

Course Outline:
Iterative Development: Design, Construction, Testing and Evaluation
  1. Rational Unified Process
  2. Prototyping
  3. Refinement, refactoring, and reuse
  4. Testing and Quality in development
  5. Review and evaluation
Tools and Methods
  1. Programming methodologies
  2. CASE Tools
  3. Test execution frameworks and management
  4. Visual analysis tools
Software Configuration Management
  1. Monitoring and auditing
  2. Build control, version control, integration
  3. Issue tracking
  4. Release management
Testing and Quality
  1. Testing fundamentals and techniques
  2. Software engineering process quality (ISO9001, CMMi)
  3. Software quality improvement
  4. Software quality assurance
  5. Verification and validation
  6. Reviews and audits

Laboratory sessions:
CASE Tools and the Rational Unified Process; Rapid prototyping; Unit testing; Refactoring; Configuration and change management; Dynamic analysis; Verification and validation.

Textbook:
Lecture notes provided by instructor

Reference Books:
Brooks, F. P.:
The Mythical Man-Month: Essays on Software Engineering. Addison-Wesley. ISBN 0-201-83595-9, 1995.
Brown, Malveau, McCormick and Mowbray:
AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, 1998.
Bruegge, B. and Dutoit, A. H.:
Object-Oriented Software Engineering: Using UML, Patterns, and Java. Prentice-Hall, 2nd edition. ISBN 0-13-1911791, 2004.
Gamma, E., Helm, R., Johnson, R., and Vlissides, J.:
Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. ISBN 0201633612, 1995.
Fowler:
UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition. Addison-Wesley,2003.
Larman, C.:
Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development. Prentice-Hall, 2003.
Martin, R. C.:
Agile Software Development: Principles, Patterns, and Practices. Prentice-Hall, 2003.
McConnell, S.:
Code Complete: A Practical Handbook of Software Construction. Microsoft Press, 2nd edition, 2004.
Pressman, R.S.:
Software Engineering: A Practitioner's Approach. McGraw-Hill, 6th edition, 2005.
Sommerville, I.:
Software Engineering. Addison-Wesley, 8th edition. ISBN 0-321-31379-8, 2007.
Stevens, P.:
Using UML: Software Engineering with Objects and Components. Addison-Wesley, 2nd edition. ISBN 0-321-26967-5, 2006.

Journals and Articles:
Articles provided by instructor

Grading System:
Homework (30%), Project (30%), Final Exam (40%).

Instructor:
Dr. Paul Janecek

CSIM home pageWMailAccount managementCSIM LibraryNetwork test toolsSearch CSIM directories
Contact us: Olivier Nicole CSIM    SET    AIT Last update: Nov 2007