School of Computing Science

School of Computing Science

CSC8005 : Software Engineering with Group Project

  • Offered for Year: 2016/17
  • Module Leader(s): Dr Marie Devlin
  • Demonstrator: Mr Dan Nesbitt
  • Lecturer: Dr Victor Khomenko
  • Owning School: Computing Science
  • Teaching Location: Newcastle City Campus
Semesters
Semester 1 Credit Value: 10
Semester 2 Credit Value: 10
ECTS Credits: 10.0
Pre Requisites
Pre Requisite Comment

None

Co Requisites
Code Title
CSC8001Programming and Data Structures
Co Requisite Comment

None

Aims

To equip students with the knowledge and experience to function as successful practitioner software engineers.

This module aims to equip students with the knowledge and experience to function as successful practitioner software engineers. The course begins with a discussion of the nature of Software and the Software Engineering Industry. It then introduces Software Development Activities & important Process Models. A model-based approach is then used to introduce various Software Engineering Tools & Techniques. UML (Unified Modeling Language) is introduced to capture system design. Finally, methods of managing the Software Development Process are taught. A Group Project runs as part of this course to give students experience in team working and management of a software project.

Outline Of Syllabus

Software and the Software Engineering Industry
1. The discrete character of software
2. Programs: machine code to high level languages
3. Software Qualities: code qualities (e.g. maintainability, complexity); emergent properties (e.g. reliability)
4. The Software Industry: software as part of a system; products (closed source, open source, training, maintenance, ad-hoc bespoke, COTS); software developers (companies, teams, individuals: software engineer vs. programmer); life as a software engineering professional

Software Development Activities & Process Models
1. Development activities: synthesis and V&V; analysis, design, implementation, test.
2. Development process models as ways of organising activities: waterfall, V, evolutionary, Boehm's spiral model. Choosing a development model.

Software Engineering Tools & Techniques: a model-based approach
1. Models: abstraction and rigour.
2. The idea of modelling: data, functionality, data flow, control, consistency of models
3. Basic Modelling Skills in UML: conceptual and specification level models using use cases, class diagrams and activity charts
4. Model-based techniques for Synthesis
5. Issues in Requirements Modelling
6. The Design Process
7. Implementation
8. Model-based techniques in Validation & Verification
9. The idea of correctness; difference between validation and verification
10. V&V by Inspection
11. V&V by Testing
12. V&V by automated analysis (static analysis, model checking and proof)
13. Deployment and Maintenance

Managing the Development Process
1. Cost Estimation
2. Planning Tools
3. Product Metrics
4. Process Improvement

Trends in Software Engineering
1. New architectural paradigms. An introduction to function orientation, compared with object orientation. Aspect-oriented programming
2. Open source development
3. New project paradigms: agility, extreme programming.
4. The Professional's Role: issues in ethics & conduct

Learning Outcomes

Intended Knowledge Outcomes

To be able to describe & discuss:
- the characteristics of software as an engineering medium,
- the main techniques for modelling and analysing software,
- the major software architectural paradigms,
- the major development process models,
- the role of software quality in influencing the development process,
- the basic techniques for planning and monitoring a software development project.

Intended Skill Outcomes

The ability to evaluate emerging software engineering technology critically.
The ability to choose, and justify the choice of, software engineering tools, techniques and processes within project constraints.
The ability to plan and manage software engineering projects.
The ability to contribute effectively to the work of a software development team.
The ability to reflect constructively on software development experience.

Graduate Skills Framework

Graduate Skills Framework Applicable: Yes
  • Cognitive/Intellectual Skills
    • Critical Thinking : Present
    • Data Synthesis : Assessed
    • Numeracy : Present
    • Literacy : Assessed
    • Information Literacy
      • Source Materials : Assessed
      • Synthesise And Present Materials : Present
      • Use Of Computer Applications : Assessed
  • Self Management
    • Self Awareness And Reflection : Present
    • Planning and Organisation
      • Goal Setting And Action Planning : Assessed
      • Decision Making : Assessed
    • Personal Enterprise
      • Innovation And Creativity : Present
      • Initiative : Assessed
      • Independence : Assessed
      • Problem Solving : Assessed
      • Adaptability : Assessed
  • Interaction
    • Communication
      • Oral : Present
      • Interpersonal : Assessed
      • Written Other : Assessed
    • Team Working
      • Collaboration : Assessed
      • Relationship Building : Present
      • Leadership : Assessed
      • Negotiation : Assessed
      • Peer Assessment Review : Present
  • Application
    • Commercial Acumen
      • Market Awareness : Present
      • Governance Awareness : Assessed
    • Legal Awareness : Present

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion480:3024:00Revision for end of Semester exam and exam duration
Guided Independent StudyAssessment preparation and completion441:0044:00Lecture follow-up
Scheduled Learning And Teaching ActivitiesLecture441:0044:00Lectures
Scheduled Learning And Teaching ActivitiesSmall group teaching221:0022:00Tutorials
Guided Independent StudyProject work441:0044:00Coursework
Guided Independent StudyStudent-led group activity151:0015:00Informal/formal group meetings
Guided Independent StudyIndependent study71:007:00Background reading
Total200:00
Teaching Rationale And Relationship

Lectures will be used to introduce the learning material and for demonstrating the key concepts by example. Students are expected to follow-up lectures within a few days by re-reading and annotating lecture notes to aid deep learning.

Project meetings both formal and informal, will provide team members and the team monitor with the opportunity to follow progress and address team issues.

Students aiming for 1st class marks are expected to widen their knowledge beyond the content of lecture notes through background reading.

Students should set aside sufficient time to revise for the end of semester exam.

Reading Lists

Assessment Methods

The format of resits will be determined by the Board of Examiners

Exams
Description Length Semester When Set Percentage Comment
Written Examination901A40N/A
Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report2M20Individual work
Practical/lab report2M40Group work
Formative Assessments
Description Semester When Set Comment
Report1MRequirements Specification: Group Work
Assessment Rationale And Relationship

The Individual Report is used to assess what the individual has learnt about the group project, and whether he/she is able to function independently as a software engineering professional.

The Group Report is used to demonstrate what has been achieved in the Group Project, and the contribution that each group member has made. The formative "Requirements Specification" deliverable is used to provide early feedback to the group.

The examination assesses fundamental knowledge and understanding of theory and application of fundamental software engineering principles.

Study abroad students may request to take their exam before the semester 1 exam period, in which case the length of the exam may differ from that shown in the MOF.

N.B. This module has both “Exam Assessment” and “Other Assessment” (e.g. coursework). If the total mark for either assessment falls below 40%, the maximum mark returned for the module will normally be 40%.

Timetable

Past Exam Papers

General Notes

N/A

Disclaimer: The University will use all reasonable endeavours to deliver modules in accordance with the descriptions set out in this catalogue. Every effort has been made to ensure the accuracy of the information, however, the University reserves the right to introduce changes to the information given including the addition, withdrawal or restructuring of modules if it considers such action to be necessary.