1 / 41

Advanced Information Systems Development (SD3043) Lecture 1: Introduction

Advanced Information Systems Development (SD3043) Lecture 1: Introduction. Dr. Chrisina Draganova c.draganova@uel.ac.uk. Lecture Outline. Module Information Description of the Module Teaching & Assessment methods Module Content Overview of Software Engineering UML Overview Conclusion.

zach
Download Presentation

Advanced Information Systems Development (SD3043) Lecture 1: Introduction

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Advanced Information Systems Development (SD3043)Lecture 1: Introduction Dr. Chrisina Draganova c.draganova@uel.ac.uk

  2. Lecture Outline • Module Information • Description of the Module • Teaching & Assessment methods • Module Content • Overview of Software Engineering • UML Overview • Conclusion Advanced Information Systems Development

  3. Lecture Rules and Facts • Start on time! • Ten minutes break • Attendance policy is followed • Previous years: • Attend lectures, tutorials, submit assignment, sat exam- pass rate ~85% Advanced Information Systems Development

  4. Description of the Module • A third year software engineering module that aims to: • Develop a broad understanding on industrial and research topics related to information systems development • Expose students to current issues in information systems development • Draw the students’ attention to the current trends and future directions in the development of information systems Advanced Information Systems Development

  5. The Module Team • Dr. Chrisina Draganova • Module Leader, Lectures, Tutorials/Practicals • Dr. Andrea Capiluppi • Lectures, tutorials / Practicals • Kamaljit Kaur Bimrah • Tutorials / Practicals Advanced Information Systems Development

  6. Teaching and Assessment Methods • What to expect from the module team – Teaching • Lectures (2 hours per week) • Tutorial / Practical sessions (2 hours per week) • Provide necessary information (UELPlus) • Do our best to help • What we expect from you – Assessment • Assignment (50%) • Exam (50%) • Pass both components! Advanced Information Systems Development

  7. Recommended reading • H. Mouratidis, G. Williams, Issues in Information Systems Development, Thomson education, 2005 (ISBN 184479458x) • R. Pressman, 2000, Software Engineering, A Practioner’s Approach, McGraw-Hill • ‘Software Engineering’, 6th edition, by I. Sommerville, Addison-Wesley (2000) • B. Bruegge, A. H. Dutoit, Object Oriented Software Engineering: Using UML, Patterns and JAVA (International Edition), Prentice Hall, 2004 (ISBN 0-13-191179-1) • 'Object-Oriented Software Engineering' by T.C. Lethbridge and R. Laganiere, McGraw-Hill (2001) - Essential • ‘Using UML - Software Engineering with Objects and Components’ by P. Stevens with R. Pooley, Pearson Education (2000) • Visual Modelling with Rational Rose and UML’ by T. Quattrani, Addison-Wesley Object Technology Series (2002) Advanced Information Systems Development

  8. Recommended reading • ‘Software Metrics’ by N.E. Fenton and S.L. Pfleeger, Thomson Learning (2000) • 'Object-Oriented Systems Analysis and Design', 2nd edn., by S. Bennett, S. McRobb and R.Farmer, McGraw-Hill (2002) • H. Mouratidis, P. Giorgini, Integrating Security and Software Engineering: Advances and Future Vision, Idea Group Publishing, (ISBN 1-59904-148-0) • B. Bruegge, A. H. Dutoit, Object Oriented Software Engineering: Using UML, Patterns and JAVA (International Edition), Prentice Hall, 2004 (ISBN 0-13-191179-1) • Williams Godfried, Synchronizing E-Security (International series in Advances in information security). Kluwer Academic Publishers (ISBN 1-4020-7646-0) • 'Object-Oriented Software Engineering' by T.C. Lethbridge and R. Laganiere, McGraw-Hill (2001) • ‘Using UML - Software Engineering with Objects and Components’ by P. Stevens with R. Pooley, Pearson Education (2000) • ‘Visual Modelling with Rational Rose and UML’ by T. Quattrani, Addison-Wesley Object Technology Series (2002) • ‘Software Engineering’, 6th edition, by I. Sommerville, Addison-Wesley (2000) • ‘Software Metrics’ by N.E. Fenton and S.L. Pfleeger, Thomson Learning (2000) • 'Object-Oriented Systems Analysis and Design', 2nd edn., by S. Bennett, S. McRobb and R.Farmer, McGraw-Hill (2002) Advanced Information Systems Development

  9. Coursework • There is only one coursework for the module. • Group coursework and each group consists of min. two max. four members • The coursework consists of two parts: analysis and design (50%) and security and management (50%) • The analysis and design part is a group work. • On the other hand, the security and management part is an individual piece of work. Advanced Information Systems Development

  10. Groups • Group members come from the same tutorial class • Group members will be assigned by the tutor during the second tutorial • An email to c.draganova@uel.ac.uk with the subject “SD3043: I cannot attend the group allocation tutorial.” • Once a group is formed, members cannot leave that group without the consent of the module leader. • If any problems arise between the group members, it is their responsibility to contact the module leader as soon as possible. Any teams/members not following the above rules will receive a mark of zero. Advanced Information Systems Development

  11. Assignment’s Handout/in dates • Handout Date • 4th week • Group Allocation • 2nd week • Hand in Date • 11th of December 2009 • Strict Deadline!!! No extensions (UEL Policy) Advanced Information Systems Development

  12. Module Content Advanced Information Systems Development

  13. Why another information systems development module? • What is difficult about developing software systems? • Large and complex systems • Requirements change constantly • Why not use an informal approach to software development? • Late projects • Costly projects Advanced Information Systems Development

  14. Software Engineering Failures • April 10, 1990, London. A tube train left the station without its driver! • The driver had taped the button that started the train, relying on the system that prevented the train from moving when doors were opened. • He left his train to close a door which was stuck. When the door was finally shut, the train left. Advanced Information Systems Development

  15. First Definition of Software Engineering • NATO conference (1968) “Software Engineering is the establishment and use of sound engineering principles in order to obtain economically software that is reliable and works efficiently on real machines” Advanced Information Systems Development

  16. What is Software Engineering? • I. Sommerville defines it as: “Software Engineering is an engineering discipline which is concerned with all aspects of software production from the early stages of system specification through to maintaining the system after it has gone into use” Advanced Information Systems Development

  17. What is Software Engineering? Bruegge and Dutoit add that Software Engineering is: • A modelling activity • Software Engineers deal with complexity through modelling • A problem-solving activity • Constraints and deadlines • A knowledge acquisition activity • Collect data, organise it into information, formalise it into knowledge • A rationale-driven activity • Capture the context and the rationale behind the decisions Advanced Information Systems Development

  18. Modelling • A model is an abstract representation of a system • In general particularly useful when dealing with large, complex, complicated systems • Useful also to understand systems that no longer exist (e.g. models of dinosaurs) or claim to exist (e.g. atomic models). But why models are useful in Software Engineering? Advanced Information Systems Development

  19. Software Engineering Models • Need to understand the environment in which the system will operate • Stakeholders, users, connected systems • Understand the systems itself • Components, Communication paths • Evaluate different solutions and trade-offs • Fast versus Secure Systems are expensive to build so we model them first Advanced Information Systems Development

  20. Problem Solving • Software Engineers have limited resources, incomplete knowledge • Search for an appropriate solution, evaluate alternatives • Engineering method steps: • Formulate the problem • Analyse the problem • Search for solutions • Decide on appropriate solution • Specify the solution Advanced Information Systems Development

  21. Knowledge Acquisition • Do not assume that acquisition of knowledge is linear. • A new piece of information may invalidate all the knowledge you have about a system • Be mentally prepare to start from scratch • There are processes to deal with the problem • Risk-based development • Anticipate surprises • Issue-based development • Any activity can influence any other Advanced Information Systems Development

  22. Rationale • When developing a system, it is necessary to capture and understand the context in which the design decisions are made • This extra knowledge is called the Rationale of the system • It is not trivial • Many decisions, many alternatives • Rationale usually represents a larger amount of information that the solution models Advanced Information Systems Development

  23. Software Engineering Concepts (I) • Participants and Roles • Collaboration of many people (participants) • Client: orders/ pays the system • Developers team: Construct the system • Project Manager: plans/coordinates the project • Users: use the system • A role is a set of responsibilities in the project • Work Products • An artefact that is produced during development (e.g. a document) • A work product that must be delivered to a client is known as deliverable Advanced Information Systems Development

  24. Software Engineering Concepts (II) • Tasks, Activities, Resources • A task is an atomic unit of work • A manager assigns a task to a developer • An activity (phase) is a set of tasks that is performed towards a specific purpose • Requirements analysis is an activity aiming to analyse the requirements of the system • Resources are assets used to accomplish work • Might include time, equipment, labour Advanced Information Systems Development

  25. Functional/Non Functional Requirements • Requirements specify a set of features the system must have • Functional: describe what the system should do • The user must be able to access the database • Non Functional: Place constraints on how functional requirements are implemented. • performance, user-friendliness, availability, security Advanced Information Systems Development

  26. Notations, Methods, Methodologies • Notation • Graphical or textual set of rules for representing a model. • E.g. Alphabets, numbers, UML • Method • Repeatable technique that specifies the steps involved in a specific problem • A recipe is a method for cooking a dish • Methodology • A collection of methods for solving a class of problems. • It specifies how and when each method should be used. • A cookbook Advanced Information Systems Development

  27. Software Engineering Lifecycle • Different activities necessary to develop a software system • Lifecycle model represents all these activities and the relationships to each other • The main activities are: • (Software Specification) Requirement Engineering • Software Design • Software Implementation • Software Testing (validation) • Software Evolution Advanced Information Systems Development

  28. Requirements Elicitation Requirements Analysis System Design Object Design Implemen- tation Testing Implemented By Expressed in Terms Of Structured By Realized By Verified By class... class... class... ? ? class.... Application Domain Objects Solution Domain Objects Use Case Model Source Code SubSystems Test Cases O-O Activities Requirements Engineering Advanced Information Systems Development

  29. Problem Statement Generation Requirements Elicitation system specification Requirements Analysis analysis model Requirements Engineering Problem Statement Advanced Information Systems Development

  30. Requirements Elicitation • Process of deriving the system requirements • Results in a specification of a system that the client understand • Very challenging activity • Requires collaboration of people with different backgrounds • Users with application domain knowledge • Developers with solution domain knowledge (design knowledge, implementation knowledge) Advanced Information Systems Development

  31. O-O Requirements Elicitation Activities • Identify actors • Identify scenarios • Identify use cases • Refine use cases • Identify relationships among use cases • Identify non functional requirements Advanced Information Systems Development

  32. Identify Actors • It is not easy, especially in initial stages • Database • Define the system boundary • Useful questions • Which user groups are supported by the system to perform their work? • Which user groups execute main, secondary functions of the system? • What other systems interact with this system? Advanced Information Systems Development

  33. Identify Scenarios • “Narrative description of what people do and experience as they try to make use of computer systems and applications” [Carroll, 1995] • Informal description of a single feature of the system used by a single actor • Do not replace use cases (complementary) • Focus on specific instance • Describe the outcome of a decision • Two scenarios Advanced Information Systems Development

  34. Identify Use Cases • A use case specifies all possible scenarios for a given piece of functionality • Describe each of these use cases in more detail • Participating actors • Describe the Entry Condition • Describe the Flow of Events • Describe the Exit Condition • Describe Exceptions • Describe Special Requirements (Constraints, Nonfunctional Requirements Advanced Information Systems Development

  35. Identify Non-Functional Requirements • Usability: how easy the system is to operate • Conventions adopted by the user interface • Reliability • Acceptable mean time to failure • Performance • Response time, availability, accuracy • Supportability: how easy is to change the system • Adaptability, maintainability • Security • Security constraints • Non-functional requirements often conflict!! • Prioritise them Advanced Information Systems Development

  36. Requirements Analysis • Transition between real world and machine world • Requirements elicitation is the input • Analysis focuses on producing a model of the system • Analysis model consistent with requirements • Main question to answer: what? • What functions must the system perform? • Different approaches • Structured • Object Oriented • Goal Oriented Advanced Information Systems Development

  37. O-O Analysis Activities • Identify classes • Data Driven • Responsibility Driven • Identify associations • aggregates, attributes, inheritance • Review the model Advanced Information Systems Development

  38. System Design 1. Design Goals Defi nition T rade-of fs Failure 2.System Decomposition Layers/Partitions Cohesion/Coupling 7. Software Control 8. Boundary Conditions Monolithic Event-Driven Threads Conc. Processes Initialization T ermination 3. Concurrency 6. Global 4. Hardware/ Identification of Threads 5. Data Resource Handling Softwar e Management Mapping Access control Security Persistent Objects Special purpose Files Buy or Build Trade-off Databases Allocation Data structure Connectivity System Design Advanced Information Systems Development

  39. O-O Design • Design Classes are refined versions of the analysis classes • Include implementation details • Full spec of attributes (visibility, type, etc) • Full spec of operations (return type, exceptions, visibility, etc) • Full definition of relationships (navigability, etc) • Not an 1-to-1 mapping • 1 analysis class could result in many design classes Advanced Information Systems Development

  40. Reading list • Any of the chapters of the useful textbooks that refer to software engineering Advanced Information Systems Development

  41. Conclusions • Module Information • Description of the Module • Teaching & Assessment methods • Module Content • Overview of Software Engineering • Next Week: UML Overview Advanced Information Systems Development

More Related