390 likes | 555 Views
Module Information. Lecturer: Dr Zumao WengRoom: MG050Tel: 71375358 E-mail: zm.weng@ulster.ac.ukPre-requisite: Object-oriented Systems Development Object Oriented ProgrammingAims: To develop students' knowledge and capability in the theories, methods and tools required to build manage and e
E N D
1. Software Engineering Dr Zumao Weng
School of Computing and Intelligent Systems, UUM
27-9-2011
2. Module Information Lecturer: Dr Zumao Weng
Room: MG050
Tel: 71375358
E-mail: zm.weng@ulster.ac.uk
Pre-requisite:
Object-oriented Systems Development
Object Oriented Programming
Aims:
To develop students' knowledge and capability in the theories, methods and tools required to build manage and evolve efficient, economic and effective software systems. To build upon the second year prerequisites and provide students with a critical awareness of the relationship between software engineering and systems design, quality management, process improvement, project and risk management, reliability and the ethical and legal dimensions of the subject. To provide the student with knowledge, understanding and experience in designing and implementing software solutions. To foster an understanding of the software engineering process, and the tools and technologies required to support this process. To engender an ability to operate in a proper professional and ethical framework.
Lecture: 09.15-12.05, Tuesday, MF025
Lab: 12.15-14.05, Tuesday, MG122
3. Learning Outcomes A successful student will be able to show that he/she can:
Knowledge and Understanding
Critically evaluate software engineering techniques and approaches.
Show a critical appreciation for the importance of systems architecture design within the software engineering process.
Develop a detailed understanding of key issues concerned with building dependable software systems.
Develop a detailed understanding of the software management process.
Intellectual Qualities
Exercise professional judgement in the selection of appropriate software engineering approaches and techniques in order to increase the productivity and quality of the software development process.
Choose appropriate tools and techniques to estimate and plan a small to medium project.
Analyse the software requirements of a simple system.
Plan the testing for a software module.
Professional/Practical Skills
Demonstrate the ability to apply project management techniques.
Demonstrate competence in the design, specification and implementation of components-based solutions.
Demonstrate competence in the use of industry standard software engineering tools and technologies.
Demonstrate an ability to apply verification and validation techniques.
Transferrable Skills
Demonstrate the ability to work as part of a group.
Independently explore advanced features of a complex software tool.
Take the opportunity to install a CASE Tool on your own machine to gain significant insight into the system architecture of such professional tools and the difficulties of maintaining them.
4. Teaching and Learning Methods Lectures will be used to represent the theory and concepts. All lecture and supplementary material will be accessible by students thought the faculty’s website. Tutorial tasks will be employed during lecture time to ensure understanding and to work through examples and implications of the theory and concepts
Practical exercises will support the lecture contents using CASE tools and relevant industry standard technologies. Students will apply a software engineering approach to defined scenarios and implement a solution using object oriented language and industry standard technologies. The students will work in small groups during practical time and will present material in a group assignment to which each will contribute. They will best facilitate a blending of individuals understanding through discussion and peer tutoring. The students are also requested to review a list of literatures and give their point of views independently.
The module is web-supplemented
5. Assessment Typically the coursework will comprise of two assignments, a group project and an independent one.
Each assignment is normally 50% of the coursework mark.
Coursework 1:
This is a group assignment, 4 students per group, in which the requirements
specifications and design documentations for a given software development project
are expected. The assessment of individual’s contribution is based on the student
statement in the documentations regarding their individual’s contribution in the
group.
Coursework 2:
This is an independent assignment in which a set of questions covering a couple of
specific software engineering topics are provided. Students are requested to answer
all the questions in their point of views according to the lectures and literatures.
Examination:
There will be a three-hour written examination where typically, a student is required
to answer any four from six questions and each question is normally 25 marks.
Problems: You are welcome to call in person at the times indicated. At other times, please check by email first.
6. Required Readings R. Pressman, Software Engineering - A Practitioner’s Approach, 7th Ed., McGraw Hill, 2010
I. Sommerville, Software Engineering, (9th ed.), Addison Wesley, 2010.
Bernd Bruegge, Allen H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns and Java, 3rd Edition, Prentice Hall, 2009; ISBN 0-13-606125-7
7. Chapter 1 Introduction
8. Objectives Understand what software engineering is and why it is important;
Appreciate the problems associated with developing software;
Understand the need for a managed approach to Software Development;
Understand the nature of web-based software engineering.
9. History of Software Engineering The term ‘software engineering’ was first proposed in 1968 at a conference held to discuss what was then called the ‘software crisis’. It became clear that individual approaches to program development did not scale up to large and complex software systems. These were unreliable, cost more than expected, and were delivered late.
Throughout 1970s and 1980s, a variety of new software engineering techniques and methods were developed, such as structured programming, information hiding and object-oriented development. Tools and standard notations were developed and are now extensively used.
10. The statistics – Chaos Report Standish Group – 1995 365 IT executives in US companies in diverse industry segments. 8,380 projects