INFO2110 Sem2 2009 1 Copyright warning COMMONWEALTH OF AUSTRALIA Copyright Regulations 1969 WARNING This material has been reproduced and communicated to you by or on behalf of the University of Sydney pursuant to Part VB of the Copyright Act 1968 (the Act ). The material in this communication may be subject to copyright under the Act. Any further copying or communication of this material by you may be the subject of copyright protection under the Act. Do not remove this notice. INFO2110 Systems Analysis and Modelling Lecture 01 Semester 2 2009 Based on slides by Alan Fekete, Uwe Roehm, and Simon Poon; also includes material provided for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Overview • What is “Systems Analysis and Modelling” • Goals for INFO2110 • Systems Development Lifecycle • Administrivia “Systems Analysis” • Systems analysis is an activity that occurs with software development lifecycle • Systems analyst is a job title for an IT professional who is skilled in this activity – Especially in large development teams, different activities may be done mostly by different people Systems • Computer-based systems – Collections of programs that support essential activities • Used by various stakeholders – We focus here on information systems – Systems that use and maintain the store of valuable data that describes the situation in an organization • Integrated into the organization’s business practice – Organization might be a business (various sizes), or a government department, or a voluntary group, etc • Not always driven by money! Other sorts of systems • Real-time systems – Developed with notations etc we teach, plus extras for scheduling and deadlines • Embedded systems – Developed with notations etc we teach, plus extras for physical components INFO2110 Sem2 2009 2 Analysis • In general usage “an investigation of the component parts of a whole and their relations in making up the whole” – www.cogcsi.princeton.edu/cgi-bin/webwn • Investigate system requirements, and their structure, and capture understanding in models – Especially identify the processes that should happen – And identify the data that the software needs to store • Present these in analysis documents – Using particular notations Notations • Analyst often uses notations to express ideas about the system – For communication with others (both clients and developers) – To draw attention to ambiguities – To manage the large amount of information • Diagrams are especially helpful – In Systems Analysis, there are several complementary notations Example • Notation forces one to think about issues like – can we have an employee who works in more than one department? – can we have an employee who doesn’t work in any department? – Can we have a department with no employees working in it? Employee Department WorksIn It’s very bad to design a system that incorrectly builds in particular restrictions; If you realise there is an issue, you can check with stakeholders 1 0..* Tools • Microsoft Visio has predefined shapes for many notations including many diagrams from UML – Installed in the PC labs • Some tools (eg IBM Rational Rose) can do “round trip engineering”: extract diagrams to represent existing software, and/or produce software skeleton from diagrams INFO2110 Objectives • To introduce the students to concepts and techniques in the development of some complex information systems • To provide students with a practical understanding of the critical importance of analysis and modelling of requirements • To provide students with a practical understanding of the importance of IS development within the IT industry • To provide students with conceptual and practical elements so they can develop a view and an opinion on IS development methodologies • To inform students of contemporary challenges in the practice of IS modelling and development INFO2110 Outcomes • Detailed list is in unit handout • Professionalism • Ability to work with analysis documents – Know the notations – Answer questions about a model, identify inconsistencies, convert between representations – Evaluate given models – Produce models • Experience of the whole analysis process • Project management and planning documents and issues INFO2110 Sem2 2009 3 INFO2110 in IT Curriculum • Compulsory unit for BCST, BIT, BAI, BE(Software) degrees • This leads to many 3000-level units, especially the projects • Assumed knowledge: tertiary study of IT (so you know general concepts, including programming process), and in particular awareness of some model for data (relational tables, classes with fields, etc) – But programming mastery is not required Systems Development Lifecycle • SDLC – The way to produce (or modify) an information system for an organization – There are always several sorts of activities done in the lifecycle • Planning • Analysis • Design • Implementation – Different methodologies arrange these differently in time Planning • Deciding why a system needs to be built • Managing the process of building it – Resources – Scheduling – Control Analysis • Understanding what the system should be doing – Detailed requirements – Descriptions of the functions, the behavior, the data Design • How the system will be constituted – Structure of the software – Detailed description of the main components – Relationship to hardware Implementation • Produce the system – Write code – Test it – Deploy it INFO2110 Sem2 2009 4 Different SD Methodologies • A system development methodology describes the pattern (in time) of doing the different activities – How/when to move from one activity to another – How much is included in each stage – What deliverables are created in each stage • It also chooses particular notations for the deliverables, and ways of working in each activity Structured Design Waterfall Development PowerPoint Presenta3on for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edi9on Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Rapid Application Development Phased Development PowerPoint Presenta3on for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edi9on Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. Agile Development Extreme Programming PowerPoint Presenta3on for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edi9on Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. The Unified Process PowerPoint Presenta3on for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edi9on Copyright © 2009 John Wiley & Sons, Inc. All rights reserved. OO Approach • Traditional systems analysis used “structured” approach – Particular notations for behavior (process) and data model in the analysis and design activities – Not related easily to implementation • In last decade or so, the state-of-practice has shifted to “object oriented analysis and design” – Very smooth transition to implementation INFO2110 Sem2 2009 5 Object-oriented programming • A new approach to programming was started in 1967 – First provided in language Simula, by Ole-JohanDahl and Kristen Nygaard (Turing award 2001) – Power shown by language/system Smalltalk, by Alan Kay (Turing award 2003) • This approach became very popular in the 1980s, through use of C++ – Allowed easy transition for C programmers – But many of them never learned good OO thinking! • Spread even further in 1990s, with rise of Java especially for internet-based systems This is not in the textbook! Key ideas • Program text is made up of separate modules, each describing some data and the associated operations which modify that data • Modules are related by “inheritance” to allow code reuse This is not in the textbook! OO Analysis • From mid 1980s, researchers and practitioners proposed to introduce analysis and design methods specially suited to eventual development in OO languages – Key insight: the ideas in the software structure can also be used to represent the domain which the software was dealing with – Thus, one can work more uniformly through the lifecycle, with a common notation and worldview • This may improve productivity of OO SDLC • In mid 1990s, several competing OOA methodologies were converged in the UML • In the 2000s, this became the common practice in IT industry for analysis UML • Unified Modeling Language – A set of diagram notations for several different models • Many complicated rules governing the diagrams • Reference manual is 100s of pages long! – Notations embody the key best ideas of OOA – Notations have become a standard for CASE tools • Some revisions to give UML 2; main aspects final from 2004 UML in INFO2110 • We use UML 2 notations in class, and you must use them in your work • Knowing the notations is vital for communication – Between members of the IT team – These notations are graphical, and seem to work reasonably well with stakeholders too Administrivia • See handout: unit of study outline – Also at www.ug.it.usyd.edu.au/~info2110 • All School of IT policies apply www.it.usyd.edu.au/current_students/undergrad/index.shtml – Especially the links under “policies” tab • Eg Special Consideration • Eg Academic Honesty INFO2110 Sem2 2009 6 People • Unit coordinator (contact for all issues of marks, deadlines, questions about organisation or content) – Dr Berhard Scholz (scholz@it.usyd.edu.au) – Office hr: 2pm, Tuesdays, in SIT rm 411 • Lecturers: – Dr Fekete, Dr Scholz, guests • SIT Ugrad Director (appeals etc) – Dr Josiah Poon (josiah@it.usyd.edu.au) • Faculty of Eng & IT office, for special consideration applications – Link building Resources • Textbook – Systems Analysis & Design with UML 2 (3rd ed) – By Dennis, Wixom and Tegarden – Available in SciTech library, special reserve – Read designated pages each week • Handouts – www.ug.it.usyd.edu.au/~info2110 – instructions for each weeks tute and lab – Read them before the class! Weekly Activities • One lecture, lasts two hours • One hour of Tutorial (starts in week 2!) • One hours of Laboratory (starts in week 2!) • Plus about 8 hrs of private work – Textbook reading – Practice on exercises – Preparation for labs and tutes – More work on analysis assignments • Total: 12 hrs/wk of work Lectures • Fridays 9am to 11am • Presentation of content – To help you focus your textbook reading on the key issues – Another viewpoint – Presentation overheads usually posted on UoS web site • Class will also include active-learning activities and “role-model” demonstrations by staff – These will not be on web site, so come to class! Tutorial • One hour per week, as timetabled – On Thursdays or Fridays – Start in week 2 • Discuss exercises – Sometimes from the textbook – Good practice for the exam! • Guidance and feedback from a tutor Laboratory • One hour each week, as timetabled • Held in a PC lab – On Tuesdays – Start in week 2 • Mostly devoted to the main group assignments • Tutor will sometimes be present – Eg provide formative assessment following progress report for analysis assignments (wk 4, 10) • In weeks 6 and 7, groups give oral presentation (assessed as part of assignment 1) • In week 8, a quiz will take place (assessed) INFO2110 Sem2 2009 7 Assessment • Analysis Assignment 1: 15 marks • Analysis Assignment 2: 15 marks • Quiz: 10 marks • Written Exam: 60 marks Analysis Assignment 1 • Do requirements for a small problem – Based on information from written description, listening to an interview of the “client”, asking questions on a message board – Done in a team (all from the same lab session) • Team is formed in week 2 lab • Progress report for formative feedback (0 marks) in week 4 lab, oral presentation in week 6 or 7 lab, final requirements document due in week 7 • Worth 15 marks (shared equally among group) Analysis Assignment 2 • Do analysis models (functional, structural, behavioral) for the same problem – Same group as in Asst1 • Progress report for formative feedback (0 marks) in week 10 lab, final analysis models document due in week 11 • Worth 15 marks (shared equally among group) Quiz • Exam-style questions under exam conditions • Several short answer or multi-choice questions, on factual knowledge or understanding of notation – Eg “what is the meaning of this” – Eg “create a diagram to say this” – Eg “how would you indicate this on the diagram” – Eg “what inconsistencies are there between these” – Eg “convert this to another notation” – Eg “what assumptions did the modeller make, that are not in the textual description” • Also, one question to create models of some aspects of a system from written description • In scheduled lab, week 8 • Worth 10 marks Applying for Special Consideration • In case of Illness or Misadventure – you can apply for special consideration – the application has to be lodged with the faculty as soon as possible • The first thing you do should be – Let the coordinator know (best by email and while still sick) – Submit your assignment if/when possible – Go to a Professional Practitioner and get them to fill in the particular university certificate (not just a usual medical certificate) – Then lodge the application for special consideration • No special consideration for missing out a few days or being on holiday etc. – time management is your responsibility! • If you attend the exam, you won’t be allowed any marks adjustment or resit because of illness – So, if you are unwell at the time of the exam, apply for special consideration for missing the exam – If you become ill during the exam, speak to the invigilators who can arrange for you to go to the Uni Health Service Exam • 2 hours duration • At least 40% will be: straightforward tasks with notations and documents, similar to short- answer quiz questions • At least 25% will be: produce analysis from system description, similar to assignments and longer question on quiz • To pass the unit, – You must get at least 40% on the exam! – And, you must get at least 40% on the prac – And, you must get at least 50% overall INFO2110 Sem2 2009 8 Communications • Usyd eLearning used to show you progressive marks from practical assessments – You must check these regularly, as any errors must be reported within ten days from being posted • Usyd eLearning used for message board to discuss system project with “client” • www.ug.it.usyd.edu.au/~info2110 used to post handouts (eg tute and lab tasks), announcements – You must check this regularly Enrichment • For students who are high achievers and want to be extended • Extra material on models that allow tools that support reasoning – Based on logic and mathematics – Presented in a session; time to be decided to suit as many interested people as possible • If you are interested, please email Dr Scholz (scholz@it.usyd.edu.au) and indicate available times Studying Systems Analysis • The key is to “have your mind in gear” • Imagine people using the system – imagine their activities in detail • Learn from experience – Think about mistakes (yours and others) – Watch for common patterns • Be flexible, not dogmatic – There are many possible models, some better than others Warning • Most common causes of poor results in info2110 is – Focus on software, and ignore the stakeholders – Think too technically, rather than holistically – Expect black or white, clear-cut answers Summary • What is systems analysis • Where systems analysis fits into SDLC • Administrivia (details in handout) • Read Dennis et al, Chapter 1