Presentation is loading. Please wait.

Presentation is loading. Please wait.

Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:

Similar presentations


Presentation on theme: "Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:"— Presentation transcript:

1 Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher: Eva Trosborg The goal of this module What is System Development?.. System Development models System Development methods by Eva Trosborg

2 Slide no.: 2Introduktion to Object Oriented Software Engineering After this lesson you should : Have an overview of the module Object Oriented Software Engineering, the project and the exam Be able to explain the typical phases in a System development project. Be able to argument for different system development models, advantages and disadvantages

3 Eva TrosborgSlide no.: 3Introduktion to Object Oriented Software Engineering Eva Trosborg – Who is she? Working experience –IBM (Danmark og France) –PS-Data A/S - PS-Engineering - PS-Informatic –Nordania Leasing / Danske Bank –PBS –Dansk Arbejdsgiver Forening –Niels Brock, Datamatikeruddannelsen – Shanghai Finance University - ITU Teori –Cand Scient i Datalogi –HD i Organisation –Lederuddannelser IBM og DA ++ –MBA - CBS Privat

4 Eva TrosborgSlide no.: 4Introduktion to Object Oriented Software Engineering Carsten Buhl Frederiksen – Our Instructor Working experience Teori –Cand Scient i Datalogi

5 Eva TrosborgSlide no.: 5Introduktion to Object Oriented Software Engineering Goal for this module (1/2) When the module ends you should be able to: 1.Explain the typical activities in a Software development process and discuss the advantages and disadvantahges of different software development models. 2.Analyse a given situation and write a simple requirement specification for a smaller software system using object oriented techniques such as use case diagrams. 3.Develop and document an overall architectural design of a smaller software system with the help of object oriented techniques such as interaction diagrams, class diagrams and package diagrams. 4.Develop and document a detailed design with the help of object oriented techniques.

6 Eva TrosborgSlide no.: 6Introduktion to Object Oriented Software Engineering Goal for this module (2/2) 5.Implement (a part of) the detailed design 6.Design a test strategy and test the software in respect to the requirements and the design specification (corresponding to high-level testing typically called integration testing and acceptance testing) 7.Explain configuration management and organize version management in a smaller project 8.Discuss quality management as well as plan and implement quality reviews in a smaller project. 9.Reflect on the usefulness of methods, techniques and diagrames for specific development context

7 Eva TrosborgSlide no.: 7Introduktion to Object Oriented Software Engineering The way the module is run Many different topics – a ballance between getting an overview but also producing a result and reflections on the process. The module are based on dialog, practical experiments, groupwork and report writting. A module where you have to attend. It is an introdutionary module, where the ability to analyses, design, implement and reflect is evaluated higher than the ability to repeat and understand every detail in what is written in the books. Based on the students work with development and report for the selected case.

8 Eva TrosborgSlide no.: 8Introduktion to Object Oriented Software Engineering Literature –Craig Larman (2004). Applying UML and Patterns : An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Prentice-Hall. –…

9 Eva TrosborgSlide no.: 9Introduktion to Object Oriented Software Engineering Process of the exam The examination takes place January 5th. – 7th The exam is individual and without preparation The 30 minutes for each student. The examination is based on the project report and takes the process related task each student has been responsible for into account. The project report provide a base for the examiners to start the questioning. Though the quality of the report is not determining the grading, it of course gives an indication. den studerende fremlægger projekt rapport, 5 – 10 min questions to the project (if the student allows, it can be an integrated part of the presentation) 5 – 10 min At the exam you are drawing a question concerning the curriculum. Try to connect the project, the goals of the module and a practical problem for the student or a role / situation to be handled. The important is to be able to reflect, analysis not just describe and repeat. The grading is according to the 13-grade scale. The grade expresses the evaluation of the report, the reflection on the process-oriented task by the student and the oral examination. The project itself is not graded. 5 – 10 minutes for grading and entrance of the next student. Examples of exam questions will be available later on the module homepage.

10 Eva TrosborgSlide no.: 10Introduktion to Object Oriented Software Engineering Example could be: Exam question #3 to Object Oriented System Engeneering Januar 2006 Design principles and architecture You have been asked to explain 2 principles in design: Low Coupling and High Cohesion? Give some examples where Low Coupling and High Cohesion can be beneficial?

11 Eva TrosborgSlide no.: 11Introduktion to Object Oriented Software Engineering Another question could be like: Exam question #6 to Object Oriented System Engeneering Januar 2006 Quality Management Try to imagine you are employed in one of the largest banks IT-department in Denmark. Every year the bank are running 40 – 50 projects which last around 12 month, there are typically 25 users and developers involved. At the top of this the bank run 5 – 7 strategically important projects (50 – 200) involved lasting in average 18 months. Your boss has been on a course and was told that Danish companies should make more quality reviews. He is a little confused – what is it ? and have asked you to explain. What is a quality-review? How would you suggest the bank could organize quality reviews?

12 Eva TrosborgSlide no.: 12Introduktion to Object Oriented Software Engineering Practice Lectures, guest teachers and student presentation –Fridays 9.00 – 11.45, room 3A14 Supervision –Fridays – 16.00, 3A14, 3A58, 3A60, 4A44, 4A46, 4A62, 4A64 Module homepage under construction

13 Eva TrosborgSlide no.: 13Introduktion to Object Oriented Software Engineering Project will be run in parallel with the lessons An important part of the module take in consideration a specific organization which the students follow and writes their project for. In the very beginning of the module the students are placed in a group. Groups are not final before every student are part of one. Discuss and agree upon aspiration level Discuss and agree upon working method and degree of delegation

14 Eva TrosborgSlide no.: 14Introduktion to Object Oriented Software Engineering Report The exercises take place in form of a project. During the first two weeks we assign project teams of about 8 students each Each student is expected to spend around 100 hours on the project. This includes writing the project report. We provide a project setting and a “fictive” customer. The project task will be presented during the first lecture. The project teams develop an adequate program or prototype. Each project team has to organize its own work! This means you have to Agree on the distribution of work, the project model, Specify the scope of the different process related tasks, Specify form and exact context of the different documents, Agree on level of ambitions regarding the process related tasks, … Each student has to contribute to a process related task in relation to his or her: Project Management Configuration Management Document handling and Test planning Of course you also have to do the job: That means every project has to take care of analysis, design, implementation and test. Report max 60 pages.

15 Eva TrosborgSlide no.: 15Introduktion to Object Oriented Software Engineering The Project Report contains PID – Project Initiation Document The process part should contain: –A joint motivation for the overall organisation and division between different process related tasks, –The project plan –A reflection on the project management task by the students responsible for it, –The quality management plan, –A reflection on the quality management by the students responsible –Configuration management –A reflection on the configuration management by the students responsible –The test plan –A reflection on the test plan by the students responsible –The individual or small group reflections should motivate the specific interpretation of the respective role and an evaluation of what worked out, what did not work, and why, and how to do things better next time. The product part should contain: –A requirements specification, –Rationale for the requirements specification, –The analysis document, –A rationale for the analysis document, –The design –A reatinale for the design document –The implementation –A motivation for the implementation technology and a discussion how the implementation relates to design, and requirements document.

16 Eva TrosborgSlide no.: 16Introduktion to Object Oriented Software Engineering Julia INT Tanja Danner SWU Mikkel Byrsø SWU Nicki Lehmann SWU Trine Koch SWU Jie INT Claus Skoubølling Jørgensen-Kandidat, SWU Herman SWU Thabet Al INT Thomas Tomas Bo INT Lars SWU Martin INT Hanne Sofie SWU Louise INT Rokas INT Bent Erik Martynas Jusevicius-Kandidat, INT Jun INT Suresh MMT Jens SWU

17 Eva TrosborgSlide no.: 17Introduktion to Object Oriented Software Engineering Jacob Mouni SWU Vibeke Søderhamn SWU Morten Nordholt SWU Christian SWU Brian James MTG-T Deike INT Sadia EBUSS Lars Christian INT Andreas Møller SWU Sune Østerberg SWU Qingwei INT Fei INT Jacob SWU Stavros INT Ulrich SWU Veronika INT Kim Loc INT Nils Kasper Emil SWU Jens Kim Velling SWU

18 Eva TrosborgSlide no.: 18Introduktion to Object Oriented Software Engineering Who are you ? Who are you? Practical experience and previous education Why the IT University? Why this module? Previous experience in System Development and other IT related topics? Important knowledge before forming groups?

19 Eva TrosborgSlide no.: 19Introduktion to Object Oriented Software Engineering The friendly summer cottage rental company (Friends & Summer (F&S))

20 Eva TrosborgSlide no.: 20Introduktion to Object Oriented Software Engineering Wish-list for group assignment Below please give your priority of the role you want to take on in the project work. Choosing a role does not mean, that you only have to work with that part of the project work. You have to participate in all work in the project group, as you agree on in the group when distributing the work. The role you get makes you (and normally your partner, since two persons in each group will bee assigned to each role) the primary responsible for the success of that particularly aspect of the project. This also means that you will bee the “driving force” behind that aspect, and that you will make the final decision, should you be unable to reach agreement in the group. I cannot guarantee that everyone will be given their 1. priority, but each role is considered equally important. If you already during work or other have tried one role, then choose another to try it out. Role Your priority (1-4, 1=highest) Arguments Project manager Configuration manager + Document handling Quality assurance Test planning Send this document (with the priority-column filled in !!) to before the 6. sept. Any question (at any time), can also be send to me, and I will try to answer as soon as possible.

21 Eva TrosborgSlide no.: 21Introduktion to Object Oriented Software Engineering And then the real thing

22 Eva TrosborgSlide no.: 22Introduktion to Object Oriented Software Engineering What is a System? Elements: –Program –HW –People –Database –Documentation –Procedures –Education –…

23 Eva TrosborgSlide no.: 23Introduktion to Object Oriented Software Engineering What is Development?

24 Eva TrosborgSlide no.: 24Introduktion to Object Oriented Software Engineering Much more than programing

25 Eva TrosborgSlide no.: 25Introduktion to Object Oriented Software Engineering What is so very special about System development

26 Eva TrosborgSlide no.: 26Introduktion to Object Oriented Software Engineering Methodology Definition 1

27 Eva TrosborgSlide no.: 27Introduktion to Object Oriented Software Engineering Methodology suggests …

28 Eva TrosborgSlide no.: 28Introduktion to Object Oriented Software Engineering Methodology Definition 2

29 Eva TrosborgSlide no.: 29Introduktion to Object Oriented Software Engineering Methodology Components 1

30 Eva TrosborgSlide no.: 30Introduktion to Object Oriented Software Engineering Methodology Components 2

31 Eva TrosborgSlide no.: 31Introduktion to Object Oriented Software Engineering Reasons to adopt a methodology A better end product – Acceptability – Availability – Cohesiveness – Compatibility – Documentation – Ease of learning – Economy – Effectiveness – Efficiency – Fast development rate – Flexibility – Functionality A better development process A standardised process – Implementability – Low coupling – Maintainability – Portability – Reliability – Robustness – Security – Simplicity – Testability – Timeliness – Visibility

32 Eva TrosborgSlide no.: 32Introduktion to Object Oriented Software Engineering Issues in Systems Development

33 Eva TrosborgSlide no.: 33Introduktion to Object Oriented Software Engineering Designing methodologies

34 Eva TrosborgSlide no.: 34Introduktion to Object Oriented Software Engineering Tools and toolsets Tools –Project management : MS Project –Groupware: GroupSystems Ventura –Web site development: Dreamweaver –Drawing: Microsoft Visio –Database management system: Access Toolsets –Information Engineering Facility –Select –Oracle

35 Eva TrosborgSlide no.: 35Introduktion to Object Oriented Software Engineering Yet more questions Will methodologies solve the problems of IS development? Do methodologies have to change and develop? Do methodologies mean more bureacracy and slower development? Should all organisations adopt a methodology? Where do methodologies go from here?

36 Eva TrosborgSlide no.: 36Introduktion to Object Oriented Software Engineering System Development Components System Development PerformanceManagement RealizationRegulation AnalysisDesignEvaluationPlanning Presen t reality Vision s Presen t reality Vision s Reflection Action Process Oriented Product Oriented

37 Eva TrosborgSlide no.: 37Introduktion to Object Oriented Software Engineering What is a Project? ‘A temporary endeavour undertaken to accomplish a unique purpose’ Better understood by its attributes –Time frame –Purpose –Ownership –Resources –Roles –Risks / Assumptions –Interdependent tasks –Organisational change –Operating in an environment larger than itself Taken from Marchewka, J. T. Information Technology Management, Wiley 2003

38 Eva TrosborgSlide no.: 38Introduktion to Object Oriented Software Engineering Balancing Resources Strategy Choices BudgetTimescales Human Resources OutsourcePartnershipIn House Consultants Function Application Integrators

39 Eva TrosborgSlide no.: 39Introduktion to Object Oriented Software Engineering Kilde: Steve McConnell (1996). Rapid development. Microsoft Press. Side 139. Waterfall model

40 Eva TrosborgSlide no.: 40Introduktion to Object Oriented Software Engineering The ‘b’ model Figure 6.2 The ‘b’ model Source: Derived from N D Birrell & M A Ould, A Practical Handbook for Software Development, Cambridge University Press, 1985

41 Eva TrosborgSlide no.: 41Introduktion to Object Oriented Software Engineering RUP - Rational Unified Model Kilde:

42 Eva TrosborgSlide no.: 42Introduktion to Object Oriented Software Engineering The ‘V’ model Source: Adopted and reproduced with the permission of the National Computing Centre Limited from the STARTS Guide, 1987, which was supported by the Department of Trade and Industry

43 Eva TrosborgSlide no.: 43Introduktion to Object Oriented Software Engineering The incremental approach Figure 6.4 The incremental model

44 Eva TrosborgSlide no.: 44Introduktion to Object Oriented Software Engineering Requirement specfication Archtectural design Running system Preanalysis Development Maintenance For each itteration: detailed design, programming test and delivery to customer Partly incremental model This model is often used in RAD (Rapid Application Development)

45 Eva TrosborgSlide no.: 45Introduktion to Object Oriented Software Engineering The spiral model – evolutionary development Plan next phases Determine objectives, alternatives, constraints Evaluate alternatives, identify and resolve risks Develop, verify next- level product Figure 6.5 Boehm’s spiral model Source: Based on Computer, May 1988, © 1988, IEEE

46 Eva TrosborgSlide no.: 46Introduktion to Object Oriented Software Engineering Spiralmodel – simpel form (Analyse & design)

47 Eva TrosborgSlide no.: 47Introduktion to Object Oriented Software Engineering Spiralmodel [Boehm, IEEE 1998] Review Commitment Partition Determine objectives, alternatives, constraints Progress through steps Cumulative cost Plan next phase Develop, verify next-level product Evaluate alternatives, identify, resolve risks Risk Analysis Concept of Operation Requirement plan life-cycle plan Prototype 1 Prototype 2 Prototype 3 Operational Prototype Risk Analysis Risk Analysis Risk Analysis Simulations, models, benchmarks Software Requirements Software Product Design Detailed Design Development Plan Integration and Test Plan Implementation Acceptance Test Integration Test Unit Test Code Requirement Validation Design validation and verification

48 Eva TrosborgSlide no.: 48Introduktion to Object Oriented Software Engineering Traditional approach to analysis Figure 6.6 The traditional approach

49 Eva TrosborgSlide no.: 49Introduktion to Object Oriented Software Engineering Structured systems development

50 Eva TrosborgSlide no.: 50Introduktion to Object Oriented Software Engineering DSDM Dynamic Systems Development Method 9 key principles –Users must be actively involved –Teams must be empowered to make decisions –Products are delivered frequently rather than perfected –Each product should be fit for its business purpose –Iterative and incremental development is an integral part of the approach –All changes are viewed as being reversible –The high level scope of the system should be agreed at a level which does not make it difficult to change it later in development –Testing is an integral part of the lifecycle –All stakeholders must co-operate and collaborate

51 Eva TrosborgSlide no.: 51Introduktion to Object Oriented Software Engineering Aigile methods why?

52 Eva TrosborgSlide no.: 52Introduktion to Object Oriented Software Engineering Rightsizing methodology Kilde: Alistair Cockburn (2001). Agile software Development. Addison-Wesley There is a limit

53 Eva TrosborgSlide no.: 53Introduktion to Object Oriented Software Engineering Rightsizing methodology Leight methods Heavy methods needed Kilde: Alistair Cockburn (2001). Agile software Development. Addison-Wesley

54 Eva TrosborgSlide no.: 54Introduktion to Object Oriented Software Engineering I’m looking forward to see you again the 9th September Eva Trosborg


Download ppt "Eva TrosborgSlide no.: 1Introduktion to Object Oriented Software Engineering Introduktion to Object Oriented Software Engineering Fall 2005 Agenda Teacher:"

Similar presentations


Ads by Google