Software Engineering
Description:
Software engineering aims at improving software qualities such as reliability, safety, security and usability. It also aims to reduce cost and time-to-market in the context of both new system development and maintenance of existing software systems. Software engineering faculty members at the University of Ottawa concentrate on several types of software systems including telecommunication systems, software engineering tools, and e-commerce systems and other distributed web-based applications. Our interests cover the entire development process, from requirements through to testing and deployment. We investigate new methodologies and evolving best practices for software engineering, and work to bring our research results to application by collaborating with tool developers, participating in the development of international standards, using the methodologies in graduate and undergraduate education, and working directly with companies that develop software.
Applications:
Improved software products, new software engineering tools, and improved software development processes. These can apply in all industries and all types of software used in those industries.
PROFESSORS:
- Amyot Daniel
Requirements engineering, User Requirements Notation (URN), scenario- and goal-oriented modelling, business process management, e-health, patterns, feature interactions - Bochmann
Distributed systems, requirements engineering, workflow modeling, communication protocols, formal specifications, software testing - Felty
Formal methods - Jourdan, Guy-Vincent
Distributed systems, formal specification, software testing - Lethbridge, Timothy
Software Design, Model-Oriented Programming, Umple, Usability, Software Engineering Education, Ethics and Professionalism - Logrippo, Luigi
Formal methods in telecommunications software engineering - Peyton, Liam
Service oriented architecture, business process management, e-health, e-commerce, software testing, security and privacy compliance - Somé, Stéphane S.
Use case based requirements engineering - Ural, Hasan
Software testing and verification
Research groups involving several professors:
- Communications Software Engineering Research Group (CSERG)
- Complexity Reduction in Software Engineering (CRuiSE)
- Distributed Systems Research Group
- The Software Correctness and Safety Research Laboratory
Leadership:
jUCMNav is the first software engineering tool to support the User Requirements Notation, the first standardization effort to combine goal-oriented modelling with scenario-oriented modelling for requirements engineering activities (Daniel Amyot).
Software engineering researchers at the University of Ottawa developed an undergraduate software engineering program that has served as a model for the SE2004 international standard program, and is widely emulated around the world (Timothy Lethbridge).
Some recent projects:
- jUCMNav: Open source, Eclipse-based editor and analysis tool for the User Requirements Notation [Daniel Amyot] - show details
- Evolving E-Health Business Processes Around Accessible Data Warehouses [Daniel Amyot - ORNEC project - Partners: Cognos, Telelogic, Sybase, The Ottawa Hospital] show details
- Scenario-based software performance engineering [Daniel Amyot - NSERC Strategic project - Partners: Nortel, IBM, Artisan Software] show details
- Requirements-driven development of distributed systems [Gregor v. Bochmann - NSERC Strategic project - Partners: Telelogic, Klocwork, Nortel, Industry Canada, Motorola Canada, Mitel Networks, TogetherSoft/Borland] show details
- UCM Scenarios with Requirements Management Systems [Daniel Amyot - NSERC CRD project - Partners: Telelogic, Nortel] show details
- Uniting Model-Centric and Code-Centric Software Engineering [Tim Lethbridge - Partner: IBM]
- Design of architecture, protocols and policy languages for advanced functionalities in VoIP, and the Feature Interaction problem [Luigi Logrippo] Deriving distributed system designs from global service and workflow specifications [Gregor Bochmann - NSERC Discovery grant]