Page 1 of 1

Module Code - Title:

CE4706 - SOFTWARE ENGINEERING 1

Year Last Offered:

2026/7

Hours Per Week:

Lecture

2

Lab

2

Tutorial

0

Other

0

Private

6

Credits

6

Grading Type:

N

Prerequisite Modules:

Rationale and Purpose of the Module:

- To introduce the domain of software engineering from a programmers perspective focusing on object oriented analysis, design and programming. - To revisit and develop existing computer software skills and competence. - To emphasise good Software Engineering Practices - To enhance individual and team working skills

Syllabus:

Introduction to Software Engineering. Software Development Paradigms.Software Evolution and Reliability. Human Factors in Software Engineering.Software Specification, System Modelling. Requirements Definition/Specification.Software Design: Modularity, Cohesion, Coupling.Function Oriented Design. Diagramming Techniques. Structured Design.Software Reviewing and Testing. Software Quality Assurance and metrics.More ADTs and algorithms. Introduction to Object Oriented Analysis/Design and Programming Programming Languages Programming Practice: Coding, Style, DocumentationThe C++ Programming Language (continued):C++ versus C, Objects and Classes, Function and Operator Overloading, Inheritance and Polymorphism, Input and Output, Memory Management, Templates. Development Environments: Debuggers, Profilers, Browsers.Individual and Team Project/Case Study.

Learning Outcomes:

Cognitive (Knowledge, Understanding, Application, Analysis, Evaluation, Synthesis)

On successful completion of this module, students will: Apply basic software engineering concepts and techniques to the software development process. Design Abstract Data Types (ADTs). Create computer programs to implement and test them using a language such as C++. Use UML diagrams for the specification, visualization, construction and documentation of software artefacts. Describe the stages of the software development cycle in terms of inputs, outputs, resources and design documents. Employ a structured approach to the design and construction of a small but complete software system and its associated documentation. Prepare software engineering technical reports to professional standards.

Affective (Attitudes and Values)

.

Psychomotor (Physical Skills)

.

How the Module will be Taught and what will be the Learning Experiences of the Students:

Lectures, Labs, Tutorials and Project Work.

Prime Texts:

Pressman R.S. (2015) Software Engineering - A practitioners approach, 8th Ed , McGraw-Hill
3. Deitel H.M. & P.J. Deitel (2007) C++ How to Program , Prentice Hall
Sommerville I. (2016) Software Engineering, 10th Ed , Addison Wesley

Other Relevant Texts:

Rumbaugh, Blaha, Premerlani, Eddy, Lorensen (1991) Object-Oriented Modeling and Design , Prentice Hall
Kruchten, P (2004) The Rational Unified Process: An Introduction , Addison-Wesley
Fowler, M. (2003) UML Distilled , Addison-Wesley
Booch, Rumbaugh, Jacobson (2005) UML User Guide , Addison-Wesley

Programme(s) in which this Module is Offered:

BACHELOR OF ENGINEERING IN ELECTRONIC AND COMPUTER ENGINEERING
BACHELOR OF LAWS IN LAW AND CYBER SECURITY
BACHELOR OF SCIENCE IN CYBER SECURITY AND IT FORENSICS

Semester(s) Module is Offered:

Autumn

Module Leader:

kevin.murphy@ul.ie