7 February 2006
9:30 – 10:46
Unit Descriptions
Aims, Learning Outcomes
Syllabus Outline
Teaching and Learning Strategy
Student-centred Learning
Group discussion
Personal research
Extensive reading
Assessment
Credit Points 10
100% coursework (no exam)
Both individual and group work
Assessing both theory and practical skills.
Reading
Course material and recommended reading
http://www.tech.port.ac.uk/staffweb/chandlej/PAFSD.html
A blog for this unit can be found
http://pafsd.blogspot.com/
(4) Courseworks
-
-
criticize,
What do you think about it? You have to explain. Why?
How do you go to learn Java?
You must be happy you learn yourself
Somebody help you?
I’m going to teach you
11:00 – 13:00
Introduction to Patterns
Pattern – a introduction
Patterns in Software Engineering
Comparison with other reusable tools
Types of patterns
Christopher Alexander
All buildings are the results of applying sets of rules. When this expertise fails to be passed on, bad buildings and broken communities result.
Result of this is birth of ‘the concept of Patterns
Alexander codified best building practice by mean of 253 individual but related Patterns
Alexander’s word
Each pattern describes a problem which occurs over and over again in our environment and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice”
Pattern Language.
Towns/ Buildings/ Construction, 1977 New York Oxford University Press.
Data Structure
Reusable concepts
J2EE
Pattern is a concept
A project/ problem should be document
They don’t need to break their head
Pattern in Real Life ‘an analogy to Pattern.
Context: You are a student living at Waterloo, London and need to get to CBAD lecture at St.Patricks College London, in less than an hour. RMT Union announce strike – only limit tube services are available. Travelling by bus would take too long because of traffic jams and you don’t have access to a bike. You only have a limited amount of money and need to buy much, pay some library fines and get home some how. You could take a taxi, but that costs …
Problem: How do you get to class on time?
Solution: Walk to college
Consequences: Living within your financial, temporal and physical limits you can get to class.
Example/ known use: It might take 20 minutes to walk to Oxford Street.
Related Patterns: Avoid Library Fine and Lunch to catch Black Taxi, Buy a Bike.
Pattern in plain English
Patterns are found in real systems, as well-tried solutions to real problems.
A Pattern is a formalized instruction that says;
“if you encounter this problem then solve it like that”
Patterns help to:
Reduce the need for redesign
Produce reusable design problems.
Acts as templates
Pass on knowledge from experts to novices.
Patterns support the modularity. So that changes can be made internally …
Why use patterns?
Instead of re-inventing the wheel for any project, capitatise an existing work and deploy it
Benefits:
Reduced maintenance costs as one improvement will improve all projects
Improved quality because of through testing in a variety of situations
They help through learning by example.
Pass knowledge on from expert to novice
Magic words reuse.
What patterns are not
Untested theories
Solutions that have worked only once
Applicable to every context
The answer to every software design problem
How to preserve the patterns?
Element of components of Patterns can be used to document the newly identified patterns.
Which can be called as pattern catalogue.
Element of Patterns
Name
Problem
Context
Forces
Solution
Examples
Resulting Context
Rationale
Related Patterns
Known uses
Recommended reading book:
This book contains 23 patterns, each with a solution for a recurring problem faced in object-oriented design.
Gamma, E., Helm, R., Johnson R. and Vlissides, J., Design Patterns: Elements of Reusable Object-oriented Software, Addison Wesley, 1994, 02 0163 3612, Y
14:00 – 15:00
Patterns in Software Engineering
Patterns in Software Development
Software Engineering adapt the Pattern concept from construction Engineering.
It is the New Paradigm in Software Development
Entity Modelling
Object Oriented Modelling
Pattern Oriented Modelling
New systems analysis and design technique for reuse software architecture and design
Pattern represent solutions to problems that arise when developing software within a particular context.
“Pattern = (Problem + Solution) in a context”
How Pattern can be apply?
Gamma’s definition: “descriptions of communicating objects and classes that are customized to solve a general design problem in a particular context”
A object-oriented design pattern systematically names, explains and evaluates an important and recurring design in object-oriented systems.
Why use patterns in Software Design?
These patterns make OO Design more flexible, elegant, and ultimately reusable.
Pattern capture the static and dynamic structures and collaborations of successful solutions to problems that arise when building applications a particular domain
Patterns help to improve key software quality. Factors such as reuse, extensibility, modularity, performances.
Types of Software Patterns
Architectural Patterns
Design Patterns
Idioms
Other types of Patterns in Software Industry
Process
Analysis Patterns
Protocols Patterns
Data Structure Patterns
Algorithmic Patterns
Cognitive Patterns
Organisational Patterns
Origin of Software Patterns
Christopher Alexander
Several books
Gang of Four (GoF)
Design Patterns: Elements of reusable.
Gang of Five (GoV)
…
Conferences on Patterns languages of Program Design (PLoP or PLoPD)
GoF and GoV
…
No Confusion
Patterns are not
Business objects
Frameworks
Algorithms
Components
Libraries
Packages
Patterns is the reusable design concept.
15:30 – 17:00
Group Discussion: Differences/ Compare between Design Patterns and Java Packages
Group No.(6)
http://groups.yahoo.com/group/group-discussion/
Email: group-discussion@yahoogroups.com
Lorraine Scbata
Sipiwe Magoche
Manyozo Phiri
Basco Abor
Frederick Abayeta
Kwame Ako – Aboagye
Nu Lwin Soe
Packages
Class
Many Classes
Collection of Program
Patterns
We use in design
Concept
Implementation & Coding State
Tuesday, May 16, 2006
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment