Wednesday

Sans Titre

Main Links

Sans Titre

Quick Links


you are in: HOME :: CURRICULUM :: SE BEST PRACTICES : :

Software Engineering Best Practices

This course is an introduction to software engineering as practiced in industry, with emphasis on understanding the nature of software engineering, the software engineering process, and the problems and solutions manifest in real software development and modification projects. Different models of the software engineering process are compared and contrasted. Current best practices in software engineering and various approaches to software process improvement are presented.

Intended Audience

This course is intended for software developers and software engineering managers who have not received formal instruction in software engineering principles and best practices.

Prerequisites

The chief prerequisite for the course is hands-on work experience in software development, in particular, software design, programming, and testing.

Course Content
  • You will study several software development models and processes applicable to large and small projects.
  • Starting with the foundation concepts of the waterfall model, you will be introduced to evolutionary, iterative, incremental, evolutionary, prototyping and rapid development models.
  • Agile, adaptive and "extreme" development approaches will also be explored.
  • This course will cover the actual benefits of these models and processes as well as the problems that can arise.
  • You will also study software process improvement and software tailoring and adaptation strategies practiced in industry.

Upon completion of this course, each student should be able to:

  • Describe the nature of software engineering and problems typically encountered by software engineering organizations.
  • Discuss the various types of work activities that occur and the types of work products that are generated in each phase of the software lifecycle.
  • Explain the problems typically encountered in each type of software engineering activity and discuss current best practices for overcoming those problems.
  • Compare, contrast, select and adapt various software engineering process models, and explain the strengths and weaknesses of each one.
  • Understand and apply software development standards and processes including those for requirements, design, construction, testing, project management and quality assurance.
  • Understand software process improvement models and the importance to the profession of applying and improving one’s software engineering competencies.
Textbooks
  • Software Engineering (7th Ed), Ian Sommerville, Addison-Wesley Pub Co; ISBN: 0-321-21026-3
  • The Mythical Man-Month (2nd Ed), Fred Brooks, Addison Wesley, ISBN 0-201-83595-9
The Instructor
    Software Engineering
  • Kal Toth is an Associate Professor in the College of Engineering and Computer Science at Portland State University in Portland Oregon.
  • He is the Associate Director of the Oregon Master of Software Engineering (OMSE) program and is also teaching software engineering courses in this program. Kal is conducting research in the field of information security.
  • He has over 25 years of industry experience with large, medium and small companies including Hughes Aircraft of Canada, CGI Group, Datalink Systems Corp, Intellitech Canada Ltd. and various Canadian federal government agencies (notably Defence, Transport, and Communications).
  • Kal has a Ph.D. in Computer Systems Engineering from Carleton University (Ottawa) and is a P.Eng. (British Columbia) with a software engineering designation

  • read more


Sans Titre

Related Links


Design & Concept by Djordjo Vasic