comp
holder  


 
Programme  Information

 
.


DT249
BSc in Information Systems
and Information Technology

 

Now accepting applications for January 2009

SDEV3001 (Stage 3)
Software Engineering 2 (10 ECTS)

 

 

Prerequisite Modules


Description

This module focuses on an engineering approach to systems development. The module studies systems analysis and design in the context of object oriented development. On successful completion of the course students are expected to be able to apply object oriented analysis and design techniques. Students are also expected to appreciate and understand the different approaches to object oriented design.


Aims

To provide the students with an understanding and appreciation of the role of systems analysis and design, building and testing within an object oriented system development life cycle approach. To teach the different techniques used in object oriented analysis and design. To teach testing strategies and techniques and the application of testing techniques to object oriented systems. To provide the student with a theoretical knowledge of the principles, and processes and techniques involved in building high quality software systems.


Learning Outcomes

On successful completion of this module, the student will be able to:

  1. Identify and critically evaluate the different approaches to object oriented software development.

  2. Use appropriate methods and techniques to perform an object oriented analysis and design for a given case study.

  3. Evaluate and develop appropriate testing strategies.
    Implement a test process and develop test cases.

  4. Evaluate and use the various tools available to the software engineer.

  5. Use advanced software architectures, patterns, components and frameworks.

  6. Use the appropriate theory to address practical software problems.


Learning and Teaching Methods

Lectures, self-study, labs, tutorials, and any combination of discussion, case study, problem-solving exercises, readings, seminars, and computer-based learning.


Content

Review of the software development process: Life cycle models; development approaches; object oriented development, the strengths and weaknesses of different approaches.

Object oriented principles and concepts: objects, classes, instances, encapsulation, abstraction, generalisation, specialisation, aggregation, inheritance, polymorphism, messaging.

Object oriented life cycle: Inception, elaboration, construction, transition, UML, object oriented methodologies.
Analysis and design techniques: Requirements gathering, feasibility studies, functional and non-functional requirements, fact-finding techniques. Techniques for modelling classes and transactions. Notation used. File and database organisations and structure, using a database with an object oriented developed system.

Review of object orientation: Basic object concepts including: encapsulation, inheritance, abstraction, objects instances, classes, polymorphism messages and communicating agents, OO language features.

Examples of object oriented techniques required: further study of the UML including: class diagrams, business and interface classes, use case diagrams, object sequence diagrams, object collaboration diagrams, state transition diagrams, component deployment diagrams, Object Constraint Language (OCL), action semantics.

Advanced object oriented concepts: re-factoring, responsibility driven design, use case driven design, design by contract, coordination contracts, patterns, architectures, frameworks, subsystems, components.

Testing: validation and verification, the review process, the testing process, test strategies, system testing, model testing, testing tools, the management of testing.


Assessment

The methods of assessment to be used to measure the learning objectives stated above are written examination and continuous assessment including one or more of assignment, essay, problem-solving exercise, oral presentation, and class or lab tests.

  • Continuous Assessment: 30%
  • Examination: 70%

Recommended Reading

  • Practical Object-Oriented Design with UML, Mark Priestly(2003), McGraw Hill, ISBN 0077103939. Software Design using Java 2: Lano, Fiadeiro, Andrade, Palgrave ISBN 1-4039-0230-5
  • UML Distilled 3rd Ed. Fowler (2004), Addison Wesley, ISBN 0-321-19368-7
  • Model Driven Architecture with Executable UML, Raistrick et al (2004)., Cambridge, ISBN 0521537711
  • Object-Oriented Methods: Principles and Practice (3rd Edition) by Ian Graham (2000), Addison-Wesley, ISBN 0-201-61913-X.
  • The Object Constraint Language: Getting Your Models Ready for MDA, 2/E, by, Warmer and Kleppe, Addison Wesley, ISBN 0-321-17936-6
  • Object Management Group http://www.omg.org/
  For more information contact
Ciarán O'Leary

 

Hit Counter