About U of O
Prospective Students
Students
Services
Academics
Research
News & Events
Alumni & Friends
onmouseout="MM_swapImgRestore()" onblur="MM_swapImgRestore()" onblur="MM_swapImgRestore()" onmouseover="MM_swapImage('Image8','','http://www.uottawa.ca/images/newweb/util_nav_fsb.GIF',1)" onfocus="MM_swapImage('Image8','','http://www.uottawa.ca/images/newweb/util_nav_fsb.GIF',1)" onfocus="MM_swapImage('Image8','','http://www.uottawa.ca/images/newweb/util_nav_fsb.GIF',1)">Fran?sLibrariesMapsKeyword Search and DirectoriesCoursesuOttawa Home
Calendars > Courses > SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
SOFTWARE ENGINEERING
2105 2106 2505 2506 2901 2911 3101 3102 3103 3125
3155 3501 3502 3503 3525 3555 3901 3902 4105 4110
4111 4145 4156 4189 4505 4510 4511 4545 4556 4589
4901 4902 4910 4911            
 
SEG2105 Introduction to Software Engineering (3,1.5,1.5) 3 cr.
Principles of software engineering: Requirements, design and testing. Review of principles of object orientation. Object oriented analysis using UML. Frameworks and APIs. Introduction to the client-server architecture. Analysis, design and programming of simple servers and clients. Introduction to user interface technology.
Prerequisite: ITI1121
  Top
 
SEG2106 Software Construction (3,1.5,1.5) 3 cr.
General principles and techniques for disciplined low-level software design. BNF and basic theory of grammars and parsing. Use of parser generators. Basics of language and protocol design. Formal languages. State-transition and table-based software design. Formal methods for software construction. Techniques for handling concurrency and inter-process communication. Tools for model-driven construction. Introduction to Middleware. Hot-spot analysis and performance tuning.
Prerequisites: CSI2110, SEG2105
  Top
 
SEG2505 Introduction au g�nie logiciel (3,1.5,1.5) 3 cr.
Les principes du g�nie logiciel : Requis, conception et tests. Revue des principes de l'orientation objet. Analyse orient� objet avec UML, des cadres de conception et des interfaces. Introduction � l'architecture client-serveur. Analyse, conception et programmation de clients et serveurs simples. Introduction � la technologie des interfaces utilisateurs.
Pr�alable: ITI1521.
  Top
 
SEG2506 Construction de logiciels (3,1.5,1.5) 3 cr.
Principes g�n�raux et techniques pour la conception logicielle de bas niveau. BNF et th�orie de base des grammaires et de l analyse syntaxique. Utilisation de g�n�rateurs d analyseurs syntaxiques. Fondements de la conception de langages et de protocoles. Langages formels. Conception � base de tableaux et de transitions d �tats. M�thodes formelles pour la construction de logiciels. Techniques de gestion du parall�lisme et de la communication interprocessus. Outils pour la construction guid�e par mod�le. Introduction aux couches intergicielles. Analyse de points chauds et mise au point de la performance.
Pr�alables: CSI2510, SEG2505
  Top
 
SEG2901 Rapport de stage coop I / Co-op Work Term Report I 3 cr.
 
  Top
 
SEG2911 Pratique de la profession d'ing�nieur logiciel / Professional Software Engineering Practice (3,0,0) 3 cr.
Principles of professional software engineering practice and ethics, societal and environmental obligations of the software engineer.
  Top
 
SEG3101 Software Requirements Analysis (3,1.5,1.5) 3 cr.
Techniques for eliciting requirements. Languages and models for representing requirements. Analysis and validation techniques, including need, goal and use-case analysis. Requirements in the context of system engineering. Specifying and measuring external qualities: performance, reliability, availability, safety, security, etc. Specifying and analyzing requirements for various types of systems: embedded systems, consumer systems, web-based systems, business systems, systems for scientists and other engineers. Resolving feature interactions. Requirements documentation standards. Traceability. Human factors. Requirements in the context agile processes. Requirements management: Handling requirements changes.
Prerequisite: SEG2105
  Top
 
SEG3102 Software Design and Architecture (3,1.5,1.5) 3 cr.
An in-depth look at software design. Continuation of the study of design patterns, frameworks and architectures. Survey of current middleware architectures. Design of distributed systems using middleware. Designing for qualities such as performance, safety, security, reusability, reliability, etc. Measuring internal qualities and complexity of software. Evaluation and evolution of designs. Basics of reengineering and reverse engineering.
Prerequisites: SEG2106 or (SEG2105 and CSI2120)
  Top
 
SEG3103 Software Quality Assurance (3,1.5,1.5) 3 cr.
Quality: how to assure it and verify it, and the need for a culture of quality. Avoidance of errors and other quality problems. Inspections and reviews. Testing, verification and validation techniques. Process assurance vs. Product assurance. Quality process standards. Product and process assurance. Problem analysis and reporting.
Prerequisite: SEG2105
  Top
 
SEG3125 Analysis and Design of User Interfaces (3,1.5,1.5) 3 cr.
Psychological principles of human-computer interaction. Evaluation of user interfaces. Usability engineering. Task analysis, user-centered d esign and prototyping. Conceptual models and metaphors. Software desig n rationale. Design of windows, menus and commands. Voice and natural language I/O. Response time and feedback. Colour, icons and sound. Int ernationalization and localization. User interface architectures and A PIs. Case studies and project.
Prerequisite : SEG2105
  Top
 
SEG3155 Communication and Networking (3,1.5,1.5) 3 cr.
Basics of information theory. Communications concepts: Fourier transforms, signal analysis. Protocols. The OSI reference model. Data transmission: analog-digital conversion, channel capacity, bandwidth, signal encoding, transmission media. Error detection and correction. Flow control; error control. Data link layer protocols and multiplexing. Medium Access Control; LAN architectures. Circuit vs. packet switching. Network layer. Congestion control and traffic management. TCP/IP.
Prerequisite: MAT2377 or (MAT2371 and MAT2375)
  Top
 
SEG3501 Ing�nierie des exigences (3,1.5,1.5) 3 cr.
Techniques pour l'�licitation d'exigences. Langages et mod�les pour repr�senter les exigences. Techniques d'analyse et de validation, incluant l'analyse de besoins, de buts et de cas d utilisations. Exigences dans le contexte de l'ing�nierie des syst�mes. Sp�cification et mesure de qualit�s externes: performance, fiabilit�, disponibilit�, s�ret�, s�curit�, etc. Sp�cification et analyse d' exigences pour divers types de syst�mes: embarqu�s, grand public, d' applications Web, d'affaires, pour scientifiques et autres in g�nieurs. R�solution d'interactions entre services. Normes de documentation d'exigences. Tra�abilit�. Facteurs humains. Exigences da ns le contexte de processus agiles. Gestion des exigences et des changements.
Pr�alable : SEG2505
  Top
 
SEG3502 Architecture et conception de logiciels (3,1.5,1.5) 3 cr.
Regard approfondi sur la conception des logiciels. Suite de l �tude de patrons de conception, de cadres de d�veloppement et d architectures. Survol d architectures intergicielles contemporaines. Conception de syst�mes r�partis � l aide d intergiciels. Conception pour des qualit�s externes: performance, s�ret�, s�curit�, r�utilisabilit�, fiabilit�, etc. Mesure de qualit�s internes et complexit� logicielle. �valuation et �volution de conceptions. Notions de r�ing�nierie et d ing�nierie inverse.
Pr�alables: SEG2506 ou (SEG2505 et CSI2520)
  Top
 
SEG3503 Assurance de la qualit� logicielle (3,1.5,1.5) 3 cr.
Qualit�: comment s en assurer et la v�rifier, et le besoin d une culture de la qualit�. �vitement d erreurs et d autres probl�mes de qualit�. Inspections et revues. Techniques de test, de v�rification et de validation. Assurance de processus vs assurance de produit. Normes de qualit� des processus. Rapport et analyse de probl�mes.
Pr�alable: SEG2505
  Top
 
SEG3525 Conception et analyse des interfaces usagers (3,1.5,1.5) 3 cr.
Principes psychologiques de l'interaction humains-machines. �valuation des interfaces. Ing�nierie de l'utilisabilit�. Analyse des t�ches. Conception centr�e sur l utilisateur et prototypage. Mod�les conceptuels et m�taphores. Justification de la conception d'un logiciel. Conception de fen�tres, menus et commandes. Entr�es/sorties vocales en langage naturel. Temps de r�ponse et r�troaction. Couleurs, ic�nes, et sons. Localisation et internationalisation. Architectures des interfaces usagers et interfaces de programmation. �tudes de cas et projet.
Pr�alable : SEG2505
  Top
 
SEG3555 Communication et R�sautage (3,1.5,1.5) 3 cr.
Fondements de la th�orie de l'information. Concepts de base en communication: transform�es de Fourier, analyse du signal, �chantillonnage. Protocoles. Le mod�le de r�f�rence OSI. Transmission de donn�es: conversion analogue-num�rique, capacit� de canal, bande passante, encodage, m�dia de transmission. D�tection et correction d'erreur. Contr�le de flux, contr�le d'erreurs. Prototoles de la couche liaison et multiplexage. Contr�le d'acc�s au support; architecture de r�seau local. Commutation de circuits et de paquets. Couche r�seau. Congestion et gestion du trafic. TCP/IP.
Pr�alable: MAT2777 ou (MAT2771 et MAT2775)
  Top
 
SEG3901 Rapport de stage coop II / Co-op Work Term Report II 3 cr.
 
  Top
 
SEG3902 Rapport de stage coop III / Co-op Work Term Report III 3 cr.
 
  Top
 
SEG4105 Software Project Management (3,1.5,1.5) 3 cr.
Project planning, cost estimation and scheduling. Project management tools. Factors influencing productivity and success. Productivity metrics. Analysis of options and risks. Planning for change. Management of expectations. Release and configuration management. Software process standards and process implementation. Software contracts and intellectual property. Approaches to maintenance and long-term software development. Case studies of real industrial projects.
Prerequisites : SEG2105 plus two third year SEG or CSI courses.
  Top
 
SEG4110 Advanced Software Design and Reengineering (3,1.5,1.5) 3 cr.
Aspect-oriented design and metaprogramming. Model driven architecture. Reverse engineering, program understanding, re-engineering, automated program transformation and refactoring. Other advanced techniques for design and generation of software systems.
Prerequisite: SEG3102
  Top
 
SEG4111 Software Quality Engineering (3,0,3) 4 cr.
Requirements gathering techniques. Formal approaches to specification of requirements. Use of specification languages and CASE tools to model requirements. Handling uncertain and changing requirements. Certification, verification and validation techniques. Advanced testing techniques. Regression testing. Software metrics. Statistical software reliability engineering.
Prerequisites: (SEG3100 or SEG3300), MAT2343, (MAT2375 or MAT2377).
  Top
 
SEG4145 Real Time and Embedded Software Design (3,1.5,1.5) 3 cr.
The nature of hard and soft real time systems. Avoidance, detection and resolution of deadlocks and races. Strategies for guaranteeing timely response. Architectures for real-time systems, including control and monitoring systems. Real-time monitors, operating systems and run-time environments. Languages and tools for designing, constructing and analysing real-time systems. Device drivers and other embedded software that interacts in real-time with hardware. Case studies of a wide variety of real time systems.
Prerequisites: CEG2136, CSI3310, SEG2106.
  Top
 
SEG4156 Telecommunications Software Design and Analysis (3,1.5,1.5) 3 cr.
Formal models for telecommunications software design and analysis. Protocol specification, design and validation. Protocol verification and testing. Conformance testing. Protocol synthesis. Protocol conversion.
Prerequisites:SEG2106, SEG3155
  Top
 
SEG4189 Introduction to Electronic Commerce (3,1.5,1.5) 3 cr.
Basic e-commerce concepts, business models, and functional architectures. Internet infrastructure and tools (including support for wireless). XML and related technologies. Secure electronic transactions. Public key Infrastructure. Emerging standards and consortiums to support electronic commerce. Introduction to technical, legal and business issues in e-commerce (agents, auctions, privacy, digital rights etc.) Case studies.
Prerequisite: CSI3140
  Top
 
SEG4505 Gestion de projets en g�nie logiciel (3,1.5,1.5) 3 cr.
Notions de planification de projet, estimation des co�ts et �tablissement du calendrier. Outils de gestion de projet. Facteurs influen�ant la productivit� et le succ�s. Mesures de productivit�. Analyse des options et des risques. Planification des changements. Gestion des attentes. Gestion de versions et de configurations. Normes de processus de d�veloppement, et mise en uvre des processus. Contrats de d�veloppement de logiciels et propri�t� intellectuelle. D�marches d entretien et d�veloppement � long terme. �tudes de cas de projets industriels r�els.
Pr�alables: SEG2505 plus deux cours de troisi�me ann�e en SEG ou CSI.
  Top
 
SEG4510 Conception avanc�e de logiciels et r�ing�nierie (3,1.5,1.5) 3 cr.
Conception orient�e aspect et m�taprogrammation. Architecture guid�e par mod�le. Ing�nierie inverse, compr�hension de programmes, r�ing�nierie, transformations de programmes automatis�es et r�usinage. Autres techniques avanc�es pour la conception et la g�n�ration de syst�mes � base de logiciels.
Pr�alable: SEG3502
  Top
 
SEG4511 Contr�le de qualit� des logiciels (3,0,3) 4 cr.
Techniques d'obtention de besoins. Approches formelles pour la sp�cification de besoins. Utilisation de langages de sp�cification et d'outils de conception de logiciels. Le traitement de besoins impr�cis et changeants. Techniques pour la certification, la v�rification et la validation de logiciels. Techniques de test avanc�es. Tests de r�gression. M�triques du logiciel. Ing�nierie statistique de la fiabilit� de logiciels.
Pr�alables : (SEG3500 ou SEG3700), MAT2743, (MAT2775 ou MAT2777).
  Top
 
SEG4545 Conception de syst�mes embarqu�s et en temps r�el (3,1.5,1.5) 3 cr.
Nature des syst�mes en temps r�el dur et en temps r�el mou. �vitement, d�tection et r�solution de situations d interblocage et de concurrence critique. Strat�gies pour garantir des r�ponses ponctuelles. Architectures pour syst�mes en temps r�el, y compris les syst�mes de contr�le et de surveillance. Moniteurs temps r�el, syst�mes d exploitation et environnements d ex�cution. Langages et outils pour concevoir, construire et analyser des syst�mes en temps r�el. Pilotes et autres logiciels embarqu�s qui interagissent en temps r�el avec le mat�riel. �tudes de cas d une grande vari�t� de syst�mes en temps r�el.
Pr�alables: CEG2536, CSI3531, SEG2506
  Top
 
SEG4556 Conception et analyse de logiciels de t�l�communications (3,1.5,1.5) 3 cr.
Mod�les th�oriques pour la conception et l'analyse de logiciels de t�l�communications. Sp�cification, conception et validation de protocoles. V�rification et test de protocoles. Test de conformit�. Synth�se et transformation de protocoles.
Pr�alables: SEG2506, SEG3555
  Top
 
SEG4589 Introduction au commerce �lecronique (3,1.5,1.5) 3 cr.
Mod�les de base en commerce �lectronique. Infrastructures de l Internet et outils. TCP/IP, serveurs Web, moteurs de recherche. Cryptographie. Infrastructure � cl� publique. Gestion des cl�s et autorit�s de certification. Protocoles SSL et SET. Pr�sentation de contenu: XML. Protocole OTP. Agents mobiles intelligents. Ench�res et n�gotiations. �tudes de cas.
Pr�alable: CSI3540
  Top
 
SEG4901 Rapport de stage coop IV / Co-op Work Term Report IV 3 cr.
 
  Top
 
SEG4902 Rapport de stage coop V / Co-op Work Term Report V 3 cr.
 
  Top
 
SEG4910 Projet g�nie logiciel de fin d'�tudes 1re partie~~Software Engineering Capstone Project - Part 1 (1,0,6) 3 cr.
Formation of teams and development of the first iterations of a significant software system. Work includes project management, analysis, quality assurance, design, and implementation. Deliverables include written documentation and presentations in class. Work is guided by a professor, but is performed for an external entity designated the 'customer', who must be satisfied with the group's work. Students are expected to address any risks or societal concerns raised by their project (legal liability, financial costs, community impact) in keeping with the obligations and responsibilities expected of a professional engineer.
Prerequisites: Completion of all 3000 series SEG courses required by the SEG program. Note: The project started in SEG 4910 must be completed in SEG 4911; if a student has to start a new project, SEG4910 must be repeated.
  Top
 
SEG4911 Projet g�nie logiciel de fin d'�tudes 2e partie~~Software Engineering Capstone Project - Part 2 (1,0,6) 3 cr.
Completion of work started in SEG 4910. Work includes project management, analysis, quality assurance, design, implementation and a final report. Deliverables include written documentation and presentations in class.
Prerequisite: SEG4910, taken the previous semester, working on the same project with the same group for the same customer.
  Top