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
|Semester 1 Credit Value:||10|
|Semester 2 Credit Value:||10|
Pre Requisite Comment
|CSC8001||Programming and Data Structures|
Co Requisite Comment
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
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
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
- Oral : Present
- Interpersonal : Assessed
- Written Other : Assessed
- Team Working
- Collaboration : Assessed
- Relationship Building : Present
- Leadership : Assessed
- Negotiation : Assessed
- Peer Assessment Review : Present
- Commercial Acumen
- Market Awareness : Present
- Governance Awareness : Assessed
- Legal Awareness : Present
- Commercial Acumen
|Guided Independent Study||Assessment preparation and completion||48||0:30||24:00||Revision for end of Semester exam and exam duration|
|Guided Independent Study||Assessment preparation and completion||44||1:00||44:00||Lecture follow-up|
|Scheduled Learning And Teaching Activities||Lecture||44||1:00||44:00||Lectures|
|Scheduled Learning And Teaching Activities||Small group teaching||22||1:00||22:00||Tutorials|
|Guided Independent Study||Project work||44||1:00||44:00||Coursework|
|Guided Independent Study||Student-led group activity||15||1:00||15:00||Informal/formal group meetings|
|Guided Independent Study||Independent study||7||1:00||7:00||Background reading|
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 List Website : rlo.ncl.ac.uk
The format of resits will be determined by the Board of Examiners
|Practical/lab report||2||M||20||Individual work|
|Practical/lab report||2||M||40||Group work|
|Report||1||M||Requirements 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%.
Past Exam Papers
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.