| Long Title: | Software Engineering |
| Language of Instruction: | English |
| Field of Study: |
Software and applications development and analysis
|
| Module Coordinator: |
ANTHONY PAUL STYNES |
| Module editor: |
ANTHONY PAUL STYNES |
| Teaching and Learning Strategy: |
The teaching strategy involves the use of lectures, tutorials, independent learning, class discussions and formative assessment as appropriate. Additionally, learners will also have access to web based support. This module is suitable for blended delivery. Techniques such as online videos showing step by step instructions, links to extra material available on the Internet, and Moodle may be used. Learners may also use collaborative tools for the development of the project. The continuous assessment can be done though online Moodle quiz and the practical work submitted on Moodle. Educational strategies such as Problem Based Learning may be used in the project. |
| Learning Environment: |
Learning will take place in a classroom/lab/workplace environment with access to IT resources. Educational strategies such as problem based learning may be applied to this module. Learners will have access to library resources, both physical & electronic and to faculty outside of the classroom where required. Module materials will be placed on the College’s virtual learning environment, Moodle. |
| Module Description: |
To provide students with an overview of Object Oriented Software Engineering using the Unified Modelling Language |
| Learning Outcomes |
| On successful completion of this module the learner will be able to: |
| LO1 |
Describe the theory, concepts and methods pertaining to Agile Software Development |
| LO2 |
Describe the theory, concepts and methods pertaining to the Unified Modelling Language (UML). |
| LO3 |
Create requirements using Use Case modelling concepts. |
| LO4 |
Employ tools and techniques for Object Oriented Software Engineering, |
| LO5 |
Demonstrate an ability to adapt and solve problems in software development activities from specification to testing. |
| Pre-requisite learning |
Module Recommendations
This is prior learning (or a practical skill) that is required before enrolment on this module. While the prior learning is expressed as named NCI module(s) it also allows for learning (in another module or modules) which is equivalent to the learning specified in the named module(s).
|
| No recommendations listed |
Requirements
This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed. You may not enrol on this module if you have not acquired the learning specified in this section.
|
| No requirements listed |
Module Content & Assessment
| Indicative Content |
|
Software Engineering
• Principles of Software Engineering.
• Software Process.
|
|
Agile Development
• Agility Agile Process.
• Extreme Programming.
• Agile Process Models such as SCRUM, Crystal and so on.
|
|
Use case modelling
• Actors Use.
• Cases Anatomy of use cases.
• Advanced Use Case Concepts.
|
|
Class Diagrams
• Conceptual class diagram.
• Problem domain concepts.
• Associations Multiplicity Roles.
• Generalization Constraints.
• Navigability Recursive associations.
• Qualified associations.
• Association classes.
• Aggregation Dependency Package.
|
|
Analysis Phase
• Case Study such as Point of Sale.
• Glossary System.
• Sequence Diagrams.
• Contracts Interaction diagrams.
|
|
Communication Diagrams
• Guidelines.
• Classes and instances Links.
• Messages Return types.
• Iterations.
• Creation of instance.
• Message number sequencing.
• Conditional messages.
• Collections Class messages
|
|
Design Phase
• Responsibilities.
• Expert Pattern.
• Creator Pattern.
• Controller Pattern.
• Design class diagrams.
• Three tier Architectures.
• Multi-tiered Architectures
• Model view separation pattern.
• Mapping to code.
|
|
Testing
• Software testing strategies such as System test, Integration test and unit test.
• Software Testing Techniques.
• Black box and White box testing.
• Basis path testing.
• Cyclomatic complexity.
|
| Assessment Breakdown | % |
| Coursework | 100.00% |
Full Time
| Coursework |
| Assessment Type |
Assessment Description |
Outcome addressed |
% of total |
Assessment Date |
| Project |
Sample Project: Using problem based learning strategies design the next generation social network using the Unified Modelling Language. The trigger for the problem is “The Social Network Official Trigger” http://www.youtube.com/watch?v=lB95KLmpLR4.
A brainstorming session will help generate ideas on what the next generation social network could be. |
2,3,4,5 |
60.00 |
n/a |
| Assignment |
Sample Assignment: Create a library application based on following the SCRUM approach to software engineering. |
1 |
40.00 |
n/a |
| No End of Module Assessment |
| Reassessment Requirement |
Repeat examination
Reassessment of this module will consist of a repeat examination. It is possible that there will also be a requirement to be reassessed in a coursework element.
|
Reassessment Description Learners who fail this module will be required to sit a repeat module assessment where all learning outcomes will be examined.
|
NCIRL reserves the right to alter the nature and timings of assessment
Module Workload
| Workload: Full Time |
| Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
| Lecture |
No Description |
2 |
Every Week |
2.00 |
| Tutorial |
No Description |
1 |
Every Week |
1.00 |
| Independent Learning |
No Description |
7.5 |
Every Week |
7.50 |
| Total Hours |
10.50 |
| Total Weekly Learner Workload |
10.50 |
| Total Weekly Contact Hours |
3.00 |
| Workload: Part Time |
| Workload Type |
Workload Description |
Hours |
Frequency |
Average Weekly Learner Workload |
| Lecture |
No Description |
2 |
Every Week |
2.00 |
| Tutorial |
No Description |
1 |
Every Week |
1.00 |
| Independent Learning |
No Description |
7.5 |
Every Week |
7.50 |
| Total Hours |
10.50 |
| Total Weekly Learner Workload |
10.50 |
| Total Weekly Contact Hours |
3.00 |
Module Resources
| Recommended Book Resources |
|---|
- Alan Dennis, Barbara Haley Wixom, David Tegarden 2015, Systems Analysis and Design with UML, International Student Version, 5th Ed., Wiley [ISBN: 1502820900]
- Shore, J., and Warden, S. 2014, The Art of Agile Development, 1st Ed., O'Reilly Media [ISBN: 978059652767]
| | Supplementary Book Resources |
|---|
- Eric Baude, Michael Bernstein 2011, Software Engineering Modern Approaches, 2nd Ed., Wiley
- Roger S. Pressman 2010, Software Engineering: A practioners Approach, 7th Ed., McGraw and Hill.
- Axel van Lamsweerde 2009, Requirements Engineering: From System Goals to UML Models to Software Specifications, Wiley
- Dragan Milicev 2009, Model-Driven Development with Executable UML, Wiley
| | This module does not have any article/paper resources |
|---|
| Other Resources |
|---|
- Web Site: IBM Resource Centre for UMLn/a
- Web Site: OMG specifications for UMLn/a
|
Module Delivered in
|