comp
holder  


 
Programme  Information

 
.


DT249
BSc in Information Systems
and Information Technology

 

Now accepting applications for January 2009

SDEV4002 (Stage 4)
Software Engineering 3 (10 ECTS)

 

 

Prerequisite Modules


Description

This module enhances and expands a theoretical and practical understanding of the software development lifecycle as an engineering discipline. Students are expected to appreciate and understand the strengths and weaknesses of differing approaches. Students should be proficient in the use of a range of modern software tools.


Aims

On completion of this module, the learner will: have a comprehensive knowledge of the various software process models and development methodologies; be able to compare and contrast the different approaches to systems development; be able to demonstrate a practical knowledge of the various techniques of the development of a software system through a development lifecycle; have a comprehensive knowledge of support activities such as project management, validation and verification, configuration management, quality assurance.


Learning Outcomes

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

  1. Identify and critically evaluate the various software process models and development methodologies.

  2. Compare and contrast the different approaches to systems development.

  3. Demonstrate a practical knowledge of the various techniques of the development of a software system through a development lifecycle.

  4. Evaluate and develop appropriate verification, validation and testing strategies.

  5. Evaluate the challenges and approaches to accessible systems design.

  6. Evaluate and be proficient in use of the various software tools.

  7. Demonstrate a comprehensive knowledge of support activities such as project management, validation and verification, configuration management, quality assurance. 


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

Process models and their importance: Waterfall model, Evolutionary Development, Incremental Process Models, Component Based Development, Formal methods, The Unified Process, comparison of models and approaches.

Development methods and techniques: Structured Methods and Techniques e.g. SSADM Dataflow diagrams, Entity Relationship diagrams, Entity Life Histories, etc.; Object Oriented Methods and Techniques, e.g. UML techniques; Formal Methods, e.g. Z.

Software development life cycle: A comprehensive review of each traditional life cycle phase including requirements analysis and specification, design, implementation, validation and verification, installation and maintenance; and each object oriented life cycle phase including inception, elaboration, construction and transition, covering concepts, different techniques used and issues involved in each phase; accessible software development, design for all / universal design.

Project management: Risk management, team management, cost estimation, estimation models (e.g. COCOMO), project planning and scheduling, project monitoring and control.

Configuration management: Configuration identification, the configuration management process, version control, change control, defect tracking, configuration management software tools. Verification, validation and testing: the review process, the testing process, test strategies, system testing, model testing, testing tools, the management of testing.

Quality assurance and process improvement: Software quality assurance, quality factors, software reviews, software process metrics, software process assessment techniques, process improvement methods (e.g. Capability Maturity Model), standards used in process improvement e.g. SPICE, the ISO quality standards.

Advanced topics: Legacy systems, re-factoring, computer aided software engineering, component-based development.


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

  • Sommerville I., (2004), Software Engineering, 7th Edition, Addison Wesley.
  • Pressman R., (2005), Software Engineering: A Practitioner's Approach, 6e Ed. McGraw-Hill.
  • IEEE Xplore: http://ieeexplore.ieee.org/ 
  • Trace Center Wisconsin: http://trace.wisc.edu/ 
  For more information contact
Ciarán O'Leary

 

Hit Counter