CO2226 SE Lects 03.pdf - CO2226 Software Engineering...

Info icon This preview shows pages 1–10. Sign up to view the full content.

View Full Document Right Arrow Icon
CO2226 : Software Engineering, Algorithm Design and Analysis Lecture 3 : Software Engineering Class Diagrams
Image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
2 CO2226 SE L3 Class Diagram square6 Widely used modelling technique square6 Describes type of objects in system and static relationships between them boxshadowdwn Provides system behaviours boxshadowdwn Represent domain objects square6 Building class model boxshadowdwn major part of object-oriented system design boxshadowdwn involves identifying classes that should exist in system
Image of page 2
3 CO2226 SE L3 What makes a Good Class Model square4 Objectives for any software project square4 minimise expense and development time square4 maximize system maintainability and adaptability square4 Objectives often in conflict square4 But may be met if class model square4 provides all required system behaviours square4 represent enduring domain objects square4 irrespective of particular functionality required during development
Image of page 3

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
4 CO2226 SE L3 What makes a Good Class Model square6 Every piece of behaviour which is required of system must be able to be provided by objects of classes square6 A good class model consists (as far as possible) of classes of domain objects, which do not depend on the particular functionality required today
Image of page 4
5 CO2226 SE L3 Identifying Classes -Techniques square6 Data-driven Design boxshadowdwn Identify all data in system boxshadowdwn Divide it up into classes boxshadowdwn Consider class responsibilities boxshadowdwn Technique : Noun Identification square6 Responsibility-driven Design boxshadowdwn Identify all responsibilities in system boxshadowdwn Divide them into classes boxshadowdwn Consider classes’ data boxshadowdwn Technique : CRC Cards
Image of page 5

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
6 CO2226 SE L3 CRC Cards square6 Stands for Class, Responsibilities, Collaborations square6 Technique introduced to help programmers with experience in non-OO languages to ‘think objects’ square6 Not part of UML boxshadowdwn Add useful insights throughout development, esp in early stage of requirements square6 Identifying classes and associations
Image of page 6
7 CO2226 SE L3 Unlikely to find all classes at first iteration square6 Easy to identify boxshadowdwn most important domain objects square6 Difficult to identify boxshadowdwn other classes introduced to help solve problem square6 Common technique to identify classes boxshadowdwn Noun Identification boxshadowdwn Start with requirements specification Identifying Classes -Techniques
Image of page 7

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
8 CO2226 SE L3 Noun Identification Technique square6 Identify candidate classes boxshadowdwn pick all nouns and noun phrases out of requirements specification square6 identify words and phrases that denote ‘things’ => list of candidate classes square6 Discard candidates boxshadowdwn which are inappropriate square6 Rename remaining classes boxshadowdwn if necessary
Image of page 8
9 CO2226 SE L3 Classes -Categories square6 Class describes set of objects with equivalent role(s) in system square6 Categories boxshadowdwn Tangible square6 ‘real world’ things egbook, copy, course boxshadowdwn Roles square6
Image of page 9

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full Document Right Arrow Icon
Image of page 10
This is the end of the preview. Sign up to access the rest of the document.

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern