Skip to main content

Table of Contents

  1. Regulations for the provision of individual courses in the fields of Economics, Management, Finance and the Social Sciences (EMFSS)
  2. Important information regarding the Programme Summary and Regulations
  3. Summary of provision for individual courses
  4. Detailed Regulations for the provision of individual courses
  5. Annex A - Individual courses
  6. Annex B - Syllabuses for Economics, Management, Finance and the Social Sciences
    1. AC1025 Principles of accounting
    2. AC3059 Financial management
    3. AC3091 Financial reporting
    4. AC3093 Auditing and assurance
    5. AC3097 Management accounting
    6. AC3143 Valuation and securities analysis
    7. DV1171 Introduction to international development
    8. DV2169 Economic policy analysis in international development
    9. DV3044 Economics of development
    10. DV3162 Complex emergencies and humanitarian responses
    11. DV3165 Development management
    12. DV3166 Global environmental problems and politics
    13. EC1002 Introduction to economics
    14. EC2020 Elements of econometrics
    15. EC2065 Macroeconomics
    16. EC2066 Microeconomics
    17. EC2096 Economic history in the 20th century
    18. EC3015 Economics of labour
    19. EC3016 International economics
    20. EC3022 Public economics
    21. EC3099 Industrial economics
    22. EC3115 Monetary economics
    23. EC3120 Mathematical economics
    24. FN1024 Principles of banking and finance
    25. FN2029 Financial intermediation
    26. FN3023 Investment management
    27. FN3092 Corporate finance
    28. FN3142 Quantitative finance
    29. GY1009 Human geography
    30. GY1147 Physical geography: fundamentals of the physical environment
    31. GY1148 Methods of geographical analysis (half course)
    32. GY2109 Geographies of development
    33. GY2149 Biogeography
    34. GY2150 Geomorphological processes
    35. GY2151 Environmental change
    36. GY2152 Hydrology
    37. GY2164 Economic geography
    38. GY3068 Society and the environment
    39. GY3153 Space and culture
    40. GY3154 Geomorphological applications
    41. GY3155 Biodiversity
    42. GY3156 Tropical land management
    43. GY3157 Independent geographical study
    44. IR1011 Introduction to international relations
    45. IR1034 World history since 1917
    46. IR2084 Nationalism and international relations
    47. IR2085 International institutions
    48. IR2137 Foreign policy analysis
    49. IR3026 International political economy
    50. IR3083 International political theory
    51. IR3140 Security and international relations
    52. IS1060 Introduction to information systems
    53. IS1168 Introduction to computer systems architecture and programming
    54. IS2062 Information systems development and management
    55. IS2136 Information systems and organisations
    56. IS2138 Information and communication technologies: principles and perspectives
    57. IS3139 Software engineering: theory and application
    58. IS3159 Research project in information systems
    59. IS3167 Management and Innovation of e-business
    60. MN1107 Introduction to business and management
    61. MN2079 Elements of social and applied psychology
    62. MN3027 The law of business organisations
    63. MN3028 Managerial economics
    64. MN3032 Management science methods
    65. MN3075 Human resource management
    66. MN3077 Management: international and comparative perspectives
    67. MN3119 Strategy
    68. MN3127 Organisation theory: an interdisciplinary approach
    69. MN3141 Principles of marketing
    70. MT105A Mathematics 1 (half course)
    71. MT105B Mathematics 2 (half course)
    72. MT1173 Algebra
    73. MT1174 Calculus
    74. MT2076 Management mathematics
    75. MT2116 Abstract mathematics
    76. MT2176 Further calculus (half course)
    77. MT2175 Further linear algebra (half course)
    78. MT3040 Game theory (half course)
    79. MT3041 Advanced mathematical analysis (half course)
    80. MT3042 Optimisation theory (half course)
    81. MT3043 Mathematics of finance and valuation (half course)
    82. MT3095 Further mathematics for economists
    83. MT3170 Discrete mathematics and algebra
    84. PS1114 Democratic politics and the State
    85. PS1130 Introduction to modern political thought
    86. PS2082 Comparative politics
    87. PS3086 Democracy and democratisation
    88. PS3088 Politics and policies of the European Union
    89. PS3108 Political analysis and public choice
    90. SC1021 Principles of sociology
    91. SC1158 Reading social science (half course)
    92. SC2145 Social research methods
    93. SC2163 Sociological theory and analysis
    94. SC3057 Social policy
    95. SC3144 Historical sociology
    96. SC3160 Population and society
    97. ST104A Statistics 1 (half course)
    98. ST104B Statistics 2 (half course)
    99. ST3133 Advanced statistics: distribution theory (half course)
    100. ST3134 Advanced statistics: statistical inference (half course)
  7. Annex C - Assessment Criteria
  8. Glossary of terms
  9. Related documents and other sources of information

IS3139 Software engineering: theory and application

Notes

Students taking this unit are required to submit coursework.

Prerequisites (applies to degree students only)

IS2062 Information systems development and management and IS3103 Elements of information and communication technologies or IS2138 Information and communication technologies: principles and perspectives.

Syllabus

This syllabus covers the methods, attitudes and values which underlie professional contemporary software systems development. The emphasis is on how to undertake formal software development through requirements specification, design and implementation, but within a broader understanding of software engineering practices.

Section 1: Software Engineering Process

The changing pressures on software engineering practices: History of the field, definition of software, the software crisis.

The Process for Developing Software and its importance

The Capability Maturity Model

The traditional software engineering process: The lifecycle model, evolutionary software development, incremental software development, spiral model. Prototyping

Rapid software development

Internet speed web based application development

End-user development.

Agile methods

Extreme programming

Refactoring

Section 2: The Practices of software engineering:

Introduction to structured vs. object oriented paradigms

Acquiring requirements

Specifying requirements and design (both structured and object oriented)

  1. Structured approaches: ER design, data flow, diagrams, data dictionary
  2. OO approach (using UML): use-case diagrams, Class diagrams, Object sequence diagrams, State-chart diagrams

Features of good design

Coding and configuration management

Implementation and testing (both structured and object oriented)

  1. Choice of programming languages and techniques
  2. Test planning
  3. White-box and black-box testing
  4. Testing automation
  5. Implementation

Maintenance and software evolution

  1. Systems re-engineering for Legacy systems
  2. Reuse
  3. Reasons for reuse
  4. Concept reuse - patterns, configurable systems products and program generators
  5. Component-based software engineering

Computer Aided Software Engineering (CASE) Tools

Documentation and Help Systems

Project Management in software engineering

Documentation and help systems.

Managing Software Engineering Projects

Coursework and examination

The examination will be three hours and consist of seven questions of which students must answer four. This will contribute 60% to the overall mark.

Students will undertake a project for the remaining 40% of marks. This will require them to review a software engineering approach or technique, apply this to a real problem and finally reflect on the experience. The project will require them to write a short essay describing the approach they are intending to apply and its relevance to the problem chosen. They will then present an account of how the approach was applied in practice. This should include the relevant documentary material required for the chosen approach (e.g. if the Rational Unified Process is chosen UML diagrams and various documents should be included). Finally they will need to complete a two page pro forma in which they will reflect on the practice of developing the system from the approach chosen. This should include lessons learnt and critical reflections on the process. A bibliography must also be provided demonstrating reading beyond the core textbooks.

Students are not required to produce programming code, but rather are assessed on their attempt to apply software engineering techniques and principles in practice. The focus is not on the produced system but on the quality of the process undertaken, the coherence of the documents presented and how successful the documents would be in developing a software system. Clearly however, for some students programming will be an integral part of this exercise.