Creator: ACSession No: 1 Slide No: 1Reviewer: SS CSE300Advanced Software EngineeringSeptember 2006 Introduction to the Module CSE300 Advanced Software Engineering University of Sunderland © 2006 Anne Comer
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 2Reviewer: SS Resources Rooms: lecture: PR009 tutorials: RV113 Module website
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 3Reviewer: SS Module Team Module Leader: Anne Comer Tutor: Malcolm Pearson
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 4Reviewer: SS Objectives for this Lecture 1.Introduced to the aims of the module. 2.Aware of definitions software engineering 3.Understand the need for software engineering as a discipline. 4.Aware of the module team’s attitude to cheating, collusion and plagiarism.
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 5Reviewer: SS Module Learning Outcomes Upon successful completion of this module, students will have demonstrated : a. Critical awareness of the practice in quality and process improvement, including the current ISO standards and SEI programmes (CMMI), and their impact on software engineering. b. Critical awareness of the state of the art in project management, risk assessment models and management, and of the software development process. c. A critical appreciation of the duties and responsibilities of a professional software engineer.
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 6Reviewer: SS Module Learning Outcomes d. A critical awareness of the role of experimentation and empirical assessment to underpin software engineering. e. Determine appropriate criteria against which to select development strategies for specific circumstances. f. Apply a selective approach to the choice and exploitation of appropriate software development tools and techniques in order to increase the productivity and quality of the software development process.
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 7Reviewer: SS Key Text The Key text for this programme is: Software Engineering, A Practitioner's Approach, Pressman R. S., 5th European Ed., McGraw-Hill (or 6 th Edition). It is essential that you buy or have access to this book throughout this module
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 8Reviewer: SS Defining Software Engineering A definition: The establishment and use of sound engineering principles in order to obtain, economically, software that is reliable and works efficiently on real machines Fritz Bauer, 1969, Software Engineering: A Report on a Conference sponsored by the NATO Science Committee.
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 9Reviewer: SS Sound Engineering Principles Adopt project management (planning, scheduling, costing and tracking) Apply measurements – engineering artefacts are measureable Apply well defined and repeatable methods (tools, techniques, methodologies) Utilise standard components which have been tried and tested “in the field”
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 10Reviewer: SS Economical Software Apply a “Get it right first time” philosophy Reduce development risks Ensure a quality approach is adopted Introduce reuse Understand the software development process
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 11Reviewer: SS Reliable and Efficient Software Introduce methods to measure software performance (metrics) and attributes Adopt monitoring of software performance Tailor software to the underlying hardware Apply appropriate software to appropriate systems
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 12Reviewer: SS Real Machines Concentrate development process on solving the problems associated with the actual system required Allow for future expansion of the final system Do not neglect the need for inter-operability or portability between different computer systems Match performance to requirements
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 13Reviewer: SS Software Industry Concerns Why does it take so long to get our software finished? Why are the costs so high? Why can’t we find all errors before delivering to our customers? Why do we have difficulty in measuring progress?
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 14Reviewer: SS Reasons for Software Engineering Some reasons (by no means all!): Software is often (usually?) delivered late and over-budget. Software can be very complex – often the construct of many people Software is very difficult to measure Software is very difficult to test There is always pressure to change software
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 15Reviewer: SS Reasons for Software Engineering Software is difficult to visualise. Hardware potential out-paced ability to build software that will exploit this potential The ability to build new software cannot keep pace with demand for new software The ability to maintain existing software is threatened by poor initial development
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 16Reviewer: SS Module Assessment The Module will be assessed in two parts: 1.By a research based individual assignment where you will be expected to carry out research into a software engineering topic and write an academic paper upon it. (Outcomes:a,b, c and e) 2.A formal examination (Outcomes: a,b c, d and f)
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 17Reviewer: SS Module Assessment Assessment Integrity The Module Team will STRICTLY adhere to the University’s Code of practice regarding Cheating, Collusion and Plagiarism – it is the student’s responsibility to ensure that they are familiar with this Code of Practice and at all times maintain the highest standards of integrity regarding their assessments. The module team will provide additional advice to students early in the module.
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 18Reviewer: SS Assessment – useful information sweb/View/Collection-63https://docushare.sunderland.ac.uk/docushare/d sweb/View/Collection-63 Academic/acfunction/leaflets/assregshttp:// Academic/acfunction/leaflets/assregs
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 19Reviewer: SS Important Contacts Your most important contact should be your module instance leader – who will be able to answer the majority of your questions. Where they can’t, forward the question to the module leader, Anne Comer Questions on your assessments should ALWAYS be addressed to your instance leader.
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 20Reviewer: SS Prior Reading Some units of this module require that you will have read certain extracts from the KEY TEXT (Pressman) prior to a Session. It is vital that when this is the case you must do so – failure to do so will mean that you are not able to participate fully in the session.
CSE300Advanced Software EngineeringSeptember 2006 Creator/Editor: ACSession No:1 Slide No: 21Reviewer: SS Any questions?