Module Code - Title:
CE4706
-
SOFTWARE ENGINEERING 1
Year Last Offered:
2025/6
Hours Per Week:
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.
Research Findings Incorporated in to the Syllabus (If Relevant):
Prime Texts:
Pressman R.S. (2015)
Software Engineering - A practitioners approach, 8th Ed
, McGraw-Hill
Sommerville I. (2016)
Software Engineering, 10th Ed
, Addison Wesley
3. Deitel H.M. & P.J. Deitel (2007)
C++ How to Program
, Prentice Hall
Other Relevant Texts:
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
Rumbaugh, Blaha, Premerlani, Eddy, Lorensen (1991)
Object-Oriented Modeling and Design
, Prentice Hall
Programme(s) in which this Module is Offered:
Semester(s) Module is Offered:
Autumn
Module Leader:
kevin.murphy@ul.ie