SlideShare uma empresa Scribd logo
1 de 31
1 
CCHHAAPPTTEERR 1155 
TTrraannssiittiioonn ttoo DDeessiiggnn 
Software System 
Engineering (260CT)
In This Lecture You Will Learn: 
The difference between analysis and 
design 
The difference between logical and 
physical design 
The difference between system and 
detailed design 
The characteristics of a good design 
The need to make trade-offs in design 
2
3 
How is Design Different 
from Analysis? 
Design states ‘how the system will be 
constructed without actually building it’ 
(Rumbaugh, 1997) 
Analysis identifies ‘what’ the system 
must do 
Design specifies ‘how’ it will do it
4 
How is Design Different 
from Analysis? 
The analyst seeks to understand the 
organization, its requirements and its 
objectives 
The designer seeks to specify a system 
that will fit the organization, provide its 
requirements effectively and assist it to 
meet its objectives
5 
How is Design Different 
from Analysis? 
As an example, in the Agate case study: 
• analysis identifies the fact that the Campaign 
class has a title attribute 
• design determines how this will be entered 
into the system, displayed on screen and 
stored in a database, together with all the 
other attributes of Campaign and other 
classes
When Does Analysis Stop 
and Design Start? 
 In a waterfall life cycle there is a clear 
transition between the two activities 
 In an iterative life cycle the analysis of a 
particular part of the system will precede its 
design, but analysis and design may be 
happening in parallel 
 It is important to distinguish the two activities 
and the associated mindset 
 We need to know ‘what’ before we decide 
‘how’ 
6
Traditional Design 
 Making a clear transition from analysis to 
design has advantages 
• project management—is there the right balance of 
activities? 
• staff skills—analysis and design may be carried out by 
different staff 
• client decisions—the client may want a specification of 
the ‘what’ before approving spending on design 
• choice of development environment—may be delayed 
until the analysis is complete 
7
8 
Design in the Iterative Life 
Cycle 
 Advantages of the iterative life cycle include 
• risk mitigation—making it possible to identify risks 
earlier and to take action 
• change management—changes to requirements are 
expected and properly managed 
• team learning—all the team can be involved from the 
start of the project 
• improved quality—testing begins early and is not done 
as a ‘big bang’ with no time
9 
Seamlessness 
 The same model—the class model—is used 
through the life of the project 
 During design, additional detail is added to the 
analysis classes, and extra classes are added 
to provide the supporting functionality for the 
user interface and data management 
 Other diagrams are also elaborated in design 
activities
Logical and Physical Design 
In structured analysis and design a 
distinction has been made between 
logical and physical design 
Logical design is independent of the 
implementation language and platform 
Physical design is based on the actual 
implementation platform and the 
language that will be used 
10
11 
Logical and Physical 
Design Example 
 Some design of the user interface classes can 
be done without knowing whether it is to be 
implemented in Java, C++ or some other 
language—types of fields, position in windows 
 Some design can only be done when the 
language has been decided upon—the actual 
classes for the types of fields, the layout 
managers available to handle window layout
Logical and Physical Design 
It is not necessary to separate these into 
two separate activities 
It may be useful if the software is to be 
implemented on different platforms 
Then it will be an advantage to have a 
platform-independent design that can be 
tailored to each platform 
12
13 
System Design 
and Detailed Design 
System design deals with the high level 
architecture of the system 
• structure of sub-systems 
• distribution of sub-systems on processors 
• communication between sub-systems 
• standards for screens, reports, help etc. 
• job design for the people who will use the 
system
14 
System Design 
and Detailed Design 
Traditional detailed design consists of 
four main activities 
• designing inputs 
• designing outputs 
• designing processes 
• designing files and database structures
System Design 
and Detailed Design 
Traditional detailed design tried to 
maximise cohesion 
• elements of module of code all contribute to 
15 
the achievement of a single function 
Traditional detailed design tried to 
minimise coupling 
• unnecessary linkages between modules that 
made them difficult to maintain or use in 
isolation from other modules
16 
System Design 
and Detailed Design 
 Object-oriented detailed design adds detail to 
the analysis model 
• types of attributes 
• operation signatures 
• assigning responsibilities as operations 
• additional classes to handle user interface 
• additional classes to handle data management 
• design of reusable components 
• assigning classes to packages
Elaborating Classes in Packages 
17 
Presentation Layer Package 
Application Logic Layer Package 
JDBC 
Java SQL 
Java AWT 
Application 
Windows 
Storage Layer Package 
Business 
Objects 
Control 
Objects 
Object to 
Relational
TaxRate 
18 
Assigning Responsibilities 
Invoice 
1 
1..* 
* 1 
InvoiceLine Product 
appears on 
1 
* 
applies to
Qualities of Analysis 
 Correct scope—everything in the system is 
required 
 Completeness—everything required is in the 
system and everything is documented in the 
models 
 Correct content—accurate description of 
requirements 
 Consistency—each element is consistently 
referred to by the same name 
19
Qualities of Design 
 Functional—system will perform the functions 
that it is required to 
 Efficient—the system performs those functions 
efficiently in terms of time and resources 
 Economical—running costs of system will not 
be unnecessarily high 
 Reliable—not prone to hardware or software 
failure, will deliver the functionality when the 
users want it 
20
Qualities of Design 
 Secure—protected against errors, attacks and 
loss of valuable data 
 Flexible—capable of being adapted to new 
uses, to run in different countries or to be 
moved to a different platform 
 General—general-purpose and portable 
(mainly applies to utility programs) 
 Buildable—Design is not too complex for the 
developers to be able to implement it 
21
Qualities of Design 
 Manageable—easy to estimate work involved 
and to check of progress 
 Maintainable—design makes it possible for the 
maintenance programmer to understand the 
designer’s intention 
 Usable—provides users with a satisfying 
experience (not a source of dissatisfaction) 
 Reusable—elements of the system can be 
reused in other systems 
22
23 
Trade-offs in Design 
 Design to meet all these qualities may produce 
conflicts 
 Trade-offs have to be applied to resolve these 
 Functionality, reliability and security are likely 
to conflict with economy 
 Level of reliability, for example, is constrained 
by the budget available for the development of 
the system
Trade-offs in Design 
 Design objectives may conflict with constraints 
imposed by requirements 
 The requirement that the system can be used 
in different countries by speakers of different 
languages will mean that designers have to 
agree a list of all prompts, labels and 
messages and refer to these by some system 
of naming or numbering 
 This increases flexibility and maintainability but 
increases the cost of design 
24
Measurable Objectives in Design 
In Chapter 6, non-functional 
requirements were described 
How can we tell whether these have 
been achieved? 
Measurable objectives set clear targets 
for designers 
Objectives should be quantified so that 
they can be tested 
25
Measurable Objectives in Design 
To reduce invoice errors by one-third 
within a year 
How would you design for this? 
26
Measurable Objectives in Design 
To reduce invoice errors by one-third 
within a year 
How would you design for this? 
• sense checks on quantities 
• comparing invoices with previous ones for the 
same customer 
• better feedback to the user about the items 
ordered 
27
Measurable Objectives in Design 
To process 50% more orders at peak 
periods 
How would you design for this? 
28
Measurable Objectives in Design 
To process 50% more orders at peak 
periods 
How would you design for this? 
• design for as many fields as possible to be 
filled with defaults 
• design for rapid response from database 
• design system to handle larger number of 
simultaneous users 
29
Planning for Design 
Planning for when platform is known 
Setting standards 
Allowing time for training 
Agreeing objectives and planning tests 
Agree procedures to decide on trade-offs 
that significantly affect the system 
Planning time for different aspects of 
design 
30
Summary 
In this lecture you have learned about: 
 The difference between analysis and design 
 The difference between logical and physical 
design 
 The difference between system and detailed 
design 
 The characteristics of a good design 
 The need to make trade-offs in design 
31

Mais conteúdo relacionado

Mais procurados

Design Concepts & Principles
Design Concepts & PrinciplesDesign Concepts & Principles
Design Concepts & Principlescyberns_
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)IIUI
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelmohamed khalaf alla mohamedain
 
Design concepts
Design conceptsDesign concepts
Design conceptsJoshuaU1
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practiceDelowar hossain
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basicsghayour abbas
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design conceptsIIUI
 
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Babu Kanikicharla (K Y Babu Setty)
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7mohammad hossein Jalili
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsMuhammadTalha436
 

Mais procurados (20)

Design Concepts & Principles
Design Concepts & PrinciplesDesign Concepts & Principles
Design Concepts & Principles
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
Software design
Software designSoftware design
Software design
 
Lecture 18 design concepts (3)
Lecture 18   design concepts (3)Lecture 18   design concepts (3)
Lecture 18 design concepts (3)
 
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddelCHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
CHAPTER 6 REQUIREMENTS MODELING: SCENARIO based Model , Class based moddel
 
Slides chapters 6-7
Slides chapters 6-7Slides chapters 6-7
Slides chapters 6-7
 
Unit 3
Unit 3Unit 3
Unit 3
 
Design final
Design finalDesign final
Design final
 
Design concepts
Design conceptsDesign concepts
Design concepts
 
5. ch 4-principles that guide practice
5. ch 4-principles that guide practice5. ch 4-principles that guide practice
5. ch 4-principles that guide practice
 
Unit1
Unit1Unit1
Unit1
 
SWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design BasicsSWE-401 - 5. Software Design Basics
SWE-401 - 5. Software Design Basics
 
Lecture 19 design concepts
Lecture 19   design conceptsLecture 19   design concepts
Lecture 19 design concepts
 
Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....Software System Development Methodologies, tools, design and life cycle by K....
Software System Development Methodologies, tools, design and life cycle by K....
 
Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7Software engineering rogers pressman chapter 7
Software engineering rogers pressman chapter 7
 
Software design
Software designSoftware design
Software design
 
Software Engineering Important Short Question for Exams
Software Engineering Important Short Question for ExamsSoftware Engineering Important Short Question for Exams
Software Engineering Important Short Question for Exams
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Component level design
Component   level designComponent   level design
Component level design
 
Software design
Software designSoftware design
Software design
 

Destaque

Software System Engineering - Chapter 14
Software System Engineering - Chapter 14Software System Engineering - Chapter 14
Software System Engineering - Chapter 14Fadhil Ismail
 
Common Law Presentation (22034)
Common Law Presentation (22034)Common Law Presentation (22034)
Common Law Presentation (22034)Fadhil Ismail
 
Hubungan Etnik Bab 3
Hubungan Etnik Bab 3Hubungan Etnik Bab 3
Hubungan Etnik Bab 3Fadhil Ismail
 
Isu-isu Kekeluargaan - Poligami
Isu-isu Kekeluargaan - PoligamiIsu-isu Kekeluargaan - Poligami
Isu-isu Kekeluargaan - PoligamiFadhil Ismail
 
Frontpage vs dreamweaver
Frontpage vs dreamweaverFrontpage vs dreamweaver
Frontpage vs dreamweaverFadhil Ismail
 
Hubungan Etnik Bab-5
Hubungan Etnik Bab-5Hubungan Etnik Bab-5
Hubungan Etnik Bab-5Fadhil Ismail
 
Hubungan Etnik Bab-6
Hubungan Etnik Bab-6Hubungan Etnik Bab-6
Hubungan Etnik Bab-6Fadhil Ismail
 
Hubungan Etnik Bab-2
Hubungan Etnik Bab-2Hubungan Etnik Bab-2
Hubungan Etnik Bab-2Fadhil Ismail
 
Hubungan Etnik Bab-4
Hubungan Etnik Bab-4Hubungan Etnik Bab-4
Hubungan Etnik Bab-4Fadhil Ismail
 
Hubungan Etnik Bab-1
Hubungan Etnik Bab-1Hubungan Etnik Bab-1
Hubungan Etnik Bab-1Fadhil Ismail
 
Software System Engineering - Chapter 12
Software System Engineering - Chapter 12Software System Engineering - Chapter 12
Software System Engineering - Chapter 12Fadhil Ismail
 
Software System Engineering - Chapter 13
Software System Engineering - Chapter 13Software System Engineering - Chapter 13
Software System Engineering - Chapter 13Fadhil Ismail
 
Contoh Borang Soal Selidik Poligami
Contoh Borang Soal Selidik PoligamiContoh Borang Soal Selidik Poligami
Contoh Borang Soal Selidik PoligamiFadhil Ismail
 
Bab 8 pemerkasaan pendidkan ke arah kesepaduan sosial
Bab 8   pemerkasaan pendidkan ke arah kesepaduan sosialBab 8   pemerkasaan pendidkan ke arah kesepaduan sosial
Bab 8 pemerkasaan pendidkan ke arah kesepaduan sosialMaizatul Akmal
 
Software System Engineering - Chapter 5
Software System Engineering - Chapter 5Software System Engineering - Chapter 5
Software System Engineering - Chapter 5Fadhil Ismail
 
(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sortingFadhil Ismail
 
Bab 1 malaysia dalam kepelbagaian edit
Bab 1  malaysia dalam kepelbagaian editBab 1  malaysia dalam kepelbagaian edit
Bab 1 malaysia dalam kepelbagaian editMaizatul Akmal
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Fadhil Ismail
 

Destaque (20)

Software System Engineering - Chapter 14
Software System Engineering - Chapter 14Software System Engineering - Chapter 14
Software System Engineering - Chapter 14
 
Common Law Presentation (22034)
Common Law Presentation (22034)Common Law Presentation (22034)
Common Law Presentation (22034)
 
Hubungan Etnik Bab 3
Hubungan Etnik Bab 3Hubungan Etnik Bab 3
Hubungan Etnik Bab 3
 
Isu-isu Kekeluargaan - Poligami
Isu-isu Kekeluargaan - PoligamiIsu-isu Kekeluargaan - Poligami
Isu-isu Kekeluargaan - Poligami
 
Frontpage vs dreamweaver
Frontpage vs dreamweaverFrontpage vs dreamweaver
Frontpage vs dreamweaver
 
Kertas Kerja Tenis
Kertas Kerja TenisKertas Kerja Tenis
Kertas Kerja Tenis
 
Hubungan Etnik Bab-5
Hubungan Etnik Bab-5Hubungan Etnik Bab-5
Hubungan Etnik Bab-5
 
Hubungan Etnik Bab-6
Hubungan Etnik Bab-6Hubungan Etnik Bab-6
Hubungan Etnik Bab-6
 
Hubungan Etnik Bab-2
Hubungan Etnik Bab-2Hubungan Etnik Bab-2
Hubungan Etnik Bab-2
 
Hubungan Etnik Bab-4
Hubungan Etnik Bab-4Hubungan Etnik Bab-4
Hubungan Etnik Bab-4
 
Hubungan Etnik Bab-1
Hubungan Etnik Bab-1Hubungan Etnik Bab-1
Hubungan Etnik Bab-1
 
Software System Engineering - Chapter 12
Software System Engineering - Chapter 12Software System Engineering - Chapter 12
Software System Engineering - Chapter 12
 
Software System Engineering - Chapter 13
Software System Engineering - Chapter 13Software System Engineering - Chapter 13
Software System Engineering - Chapter 13
 
Contoh Borang Soal Selidik Poligami
Contoh Borang Soal Selidik PoligamiContoh Borang Soal Selidik Poligami
Contoh Borang Soal Selidik Poligami
 
Bab 8 pemerkasaan pendidkan ke arah kesepaduan sosial
Bab 8   pemerkasaan pendidkan ke arah kesepaduan sosialBab 8   pemerkasaan pendidkan ke arah kesepaduan sosial
Bab 8 pemerkasaan pendidkan ke arah kesepaduan sosial
 
Chapter 15
Chapter 15Chapter 15
Chapter 15
 
Software System Engineering - Chapter 5
Software System Engineering - Chapter 5Software System Engineering - Chapter 5
Software System Engineering - Chapter 5
 
(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting(Data Structure) Chapter11 searching & sorting
(Data Structure) Chapter11 searching & sorting
 
Bab 1 malaysia dalam kepelbagaian edit
Bab 1  malaysia dalam kepelbagaian editBab 1  malaysia dalam kepelbagaian edit
Bab 1 malaysia dalam kepelbagaian edit
 
Software System Engineering - Chapter 2
Software System Engineering - Chapter 2Software System Engineering - Chapter 2
Software System Engineering - Chapter 2
 

Semelhante a Software System Engineering - Chapter 15

Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxKarthigaiSelviS3
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTmalathijanapati1
 
Human Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptHuman Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptJothilakshmi S
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part iBisrat Girma
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptitadmin33
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 pptDr VISU P
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptMotherTheresa2
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile waveNiels Bech Nielsen
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Processahmad bassiouny
 
HCI 3e - Ch 6: HCI in the software process
HCI 3e - Ch 6:  HCI in the software processHCI 3e - Ch 6:  HCI in the software process
HCI 3e - Ch 6: HCI in the software processAlan Dix
 
HCI - Chapter 6
HCI - Chapter 6HCI - Chapter 6
HCI - Chapter 6Alan Dix
 
SDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfSDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfKokebe2
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelAmr E. Mohamed
 

Semelhante a Software System Engineering - Chapter 15 (20)

Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
UNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPTUNIT-4design-concepts-se-pressman-ppt.PPT
UNIT-4design-concepts-se-pressman-ppt.PPT
 
CHAPTER12.ppt
CHAPTER12.pptCHAPTER12.ppt
CHAPTER12.ppt
 
Ch 9-design-engineering
Ch 9-design-engineeringCh 9-design-engineering
Ch 9-design-engineering
 
Human Computer Interaction in software process.ppt
Human Computer Interaction in software process.pptHuman Computer Interaction in software process.ppt
Human Computer Interaction in software process.ppt
 
Object oriented sad-5 part i
Object oriented sad-5 part iObject oriented sad-5 part i
Object oriented sad-5 part i
 
Chapter1
Chapter1Chapter1
Chapter1
 
The Design Process
The Design ProcessThe Design Process
The Design Process
 
OOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.pptOOSE Unit 4 PPT.ppt
OOSE Unit 4 PPT.ppt
 
Oose unit 4 ppt
Oose unit 4 pptOose unit 4 ppt
Oose unit 4 ppt
 
Pressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.pptPressman_ch_9_design_engineering.ppt
Pressman_ch_9_design_engineering.ppt
 
Lecture 7.pptx
Lecture 7.pptxLecture 7.pptx
Lecture 7.pptx
 
SMD.pptx
SMD.pptxSMD.pptx
SMD.pptx
 
Modern software architect post the agile wave
Modern software architect post the agile waveModern software architect post the agile wave
Modern software architect post the agile wave
 
Hci In The Software Process
Hci In The Software ProcessHci In The Software Process
Hci In The Software Process
 
HCI 3e - Ch 6: HCI in the software process
HCI 3e - Ch 6:  HCI in the software processHCI 3e - Ch 6:  HCI in the software process
HCI 3e - Ch 6: HCI in the software process
 
HCI - Chapter 6
HCI - Chapter 6HCI - Chapter 6
HCI - Chapter 6
 
Agile process
Agile processAgile process
Agile process
 
SDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdfSDA - 6 -Chapter Six.pdf
SDA - 6 -Chapter Six.pdf
 
SE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle ModelSE18_Lec 02_Software Life Cycle Model
SE18_Lec 02_Software Life Cycle Model
 

Mais de Fadhil Ismail

Software System Engineering - Chapter 10
Software System Engineering - Chapter 10Software System Engineering - Chapter 10
Software System Engineering - Chapter 10Fadhil Ismail
 
Software System Engineering - Chapter 9
Software System Engineering - Chapter 9Software System Engineering - Chapter 9
Software System Engineering - Chapter 9Fadhil Ismail
 
Software System Engineering - Chapter 8
Software System Engineering - Chapter 8Software System Engineering - Chapter 8
Software System Engineering - Chapter 8Fadhil Ismail
 
Software System Engineering - Chapter 7
Software System Engineering - Chapter 7Software System Engineering - Chapter 7
Software System Engineering - Chapter 7Fadhil Ismail
 
Software System Engineering - Chapter 6
Software System Engineering - Chapter 6Software System Engineering - Chapter 6
Software System Engineering - Chapter 6Fadhil Ismail
 
Software System Engineering - Chapter 4
Software System Engineering - Chapter 4Software System Engineering - Chapter 4
Software System Engineering - Chapter 4Fadhil Ismail
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Fadhil Ismail
 
Pengenalan Masyarakat Sikh
Pengenalan Masyarakat Sikh Pengenalan Masyarakat Sikh
Pengenalan Masyarakat Sikh Fadhil Ismail
 
Nota pengajian islam mpw 1143 t12
Nota pengajian islam mpw 1143 t12Nota pengajian islam mpw 1143 t12
Nota pengajian islam mpw 1143 t12Fadhil Ismail
 
Nota pengajian islam mpw 1143 t11
Nota pengajian islam mpw 1143 t11Nota pengajian islam mpw 1143 t11
Nota pengajian islam mpw 1143 t11Fadhil Ismail
 
Nota pengajian islam mpw 1143 t10
Nota pengajian islam mpw 1143 t10Nota pengajian islam mpw 1143 t10
Nota pengajian islam mpw 1143 t10Fadhil Ismail
 

Mais de Fadhil Ismail (11)

Software System Engineering - Chapter 10
Software System Engineering - Chapter 10Software System Engineering - Chapter 10
Software System Engineering - Chapter 10
 
Software System Engineering - Chapter 9
Software System Engineering - Chapter 9Software System Engineering - Chapter 9
Software System Engineering - Chapter 9
 
Software System Engineering - Chapter 8
Software System Engineering - Chapter 8Software System Engineering - Chapter 8
Software System Engineering - Chapter 8
 
Software System Engineering - Chapter 7
Software System Engineering - Chapter 7Software System Engineering - Chapter 7
Software System Engineering - Chapter 7
 
Software System Engineering - Chapter 6
Software System Engineering - Chapter 6Software System Engineering - Chapter 6
Software System Engineering - Chapter 6
 
Software System Engineering - Chapter 4
Software System Engineering - Chapter 4Software System Engineering - Chapter 4
Software System Engineering - Chapter 4
 
Software System Engineering - Chapter 1
Software System Engineering - Chapter 1Software System Engineering - Chapter 1
Software System Engineering - Chapter 1
 
Pengenalan Masyarakat Sikh
Pengenalan Masyarakat Sikh Pengenalan Masyarakat Sikh
Pengenalan Masyarakat Sikh
 
Nota pengajian islam mpw 1143 t12
Nota pengajian islam mpw 1143 t12Nota pengajian islam mpw 1143 t12
Nota pengajian islam mpw 1143 t12
 
Nota pengajian islam mpw 1143 t11
Nota pengajian islam mpw 1143 t11Nota pengajian islam mpw 1143 t11
Nota pengajian islam mpw 1143 t11
 
Nota pengajian islam mpw 1143 t10
Nota pengajian islam mpw 1143 t10Nota pengajian islam mpw 1143 t10
Nota pengajian islam mpw 1143 t10
 

Último

Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girlsssuser7cb4ff
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxKartikeyaDwivedi3
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHC Sai Kiran
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleAlluxio, Inc.
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 
lifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptxlifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptxsomshekarkn64
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfme23b1001
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)dollysharma2066
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...121011101441
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 

Último (20)

Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Call Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call GirlsCall Girls Narol 7397865700 Independent Call Girls
Call Girls Narol 7397865700 Independent Call Girls
 
Concrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptxConcrete Mix Design - IS 10262-2019 - .pptx
Concrete Mix Design - IS 10262-2019 - .pptx
 
Introduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECHIntroduction to Machine Learning Unit-3 for II MECH
Introduction to Machine Learning Unit-3 for II MECH
 
Correctly Loading Incremental Data at Scale
Correctly Loading Incremental Data at ScaleCorrectly Loading Incremental Data at Scale
Correctly Loading Incremental Data at Scale
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 
lifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptxlifi-technology with integration of IOT.pptx
lifi-technology with integration of IOT.pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Electronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdfElectronically Controlled suspensions system .pdf
Electronically Controlled suspensions system .pdf
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
Call Us ≽ 8377877756 ≼ Call Girls In Shastri Nagar (Delhi)
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...Instrumentation, measurement and control of bio process parameters ( Temperat...
Instrumentation, measurement and control of bio process parameters ( Temperat...
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 

Software System Engineering - Chapter 15

  • 1. 1 CCHHAAPPTTEERR 1155 TTrraannssiittiioonn ttoo DDeessiiggnn Software System Engineering (260CT)
  • 2. In This Lecture You Will Learn: The difference between analysis and design The difference between logical and physical design The difference between system and detailed design The characteristics of a good design The need to make trade-offs in design 2
  • 3. 3 How is Design Different from Analysis? Design states ‘how the system will be constructed without actually building it’ (Rumbaugh, 1997) Analysis identifies ‘what’ the system must do Design specifies ‘how’ it will do it
  • 4. 4 How is Design Different from Analysis? The analyst seeks to understand the organization, its requirements and its objectives The designer seeks to specify a system that will fit the organization, provide its requirements effectively and assist it to meet its objectives
  • 5. 5 How is Design Different from Analysis? As an example, in the Agate case study: • analysis identifies the fact that the Campaign class has a title attribute • design determines how this will be entered into the system, displayed on screen and stored in a database, together with all the other attributes of Campaign and other classes
  • 6. When Does Analysis Stop and Design Start?  In a waterfall life cycle there is a clear transition between the two activities  In an iterative life cycle the analysis of a particular part of the system will precede its design, but analysis and design may be happening in parallel  It is important to distinguish the two activities and the associated mindset  We need to know ‘what’ before we decide ‘how’ 6
  • 7. Traditional Design  Making a clear transition from analysis to design has advantages • project management—is there the right balance of activities? • staff skills—analysis and design may be carried out by different staff • client decisions—the client may want a specification of the ‘what’ before approving spending on design • choice of development environment—may be delayed until the analysis is complete 7
  • 8. 8 Design in the Iterative Life Cycle  Advantages of the iterative life cycle include • risk mitigation—making it possible to identify risks earlier and to take action • change management—changes to requirements are expected and properly managed • team learning—all the team can be involved from the start of the project • improved quality—testing begins early and is not done as a ‘big bang’ with no time
  • 9. 9 Seamlessness  The same model—the class model—is used through the life of the project  During design, additional detail is added to the analysis classes, and extra classes are added to provide the supporting functionality for the user interface and data management  Other diagrams are also elaborated in design activities
  • 10. Logical and Physical Design In structured analysis and design a distinction has been made between logical and physical design Logical design is independent of the implementation language and platform Physical design is based on the actual implementation platform and the language that will be used 10
  • 11. 11 Logical and Physical Design Example  Some design of the user interface classes can be done without knowing whether it is to be implemented in Java, C++ or some other language—types of fields, position in windows  Some design can only be done when the language has been decided upon—the actual classes for the types of fields, the layout managers available to handle window layout
  • 12. Logical and Physical Design It is not necessary to separate these into two separate activities It may be useful if the software is to be implemented on different platforms Then it will be an advantage to have a platform-independent design that can be tailored to each platform 12
  • 13. 13 System Design and Detailed Design System design deals with the high level architecture of the system • structure of sub-systems • distribution of sub-systems on processors • communication between sub-systems • standards for screens, reports, help etc. • job design for the people who will use the system
  • 14. 14 System Design and Detailed Design Traditional detailed design consists of four main activities • designing inputs • designing outputs • designing processes • designing files and database structures
  • 15. System Design and Detailed Design Traditional detailed design tried to maximise cohesion • elements of module of code all contribute to 15 the achievement of a single function Traditional detailed design tried to minimise coupling • unnecessary linkages between modules that made them difficult to maintain or use in isolation from other modules
  • 16. 16 System Design and Detailed Design  Object-oriented detailed design adds detail to the analysis model • types of attributes • operation signatures • assigning responsibilities as operations • additional classes to handle user interface • additional classes to handle data management • design of reusable components • assigning classes to packages
  • 17. Elaborating Classes in Packages 17 Presentation Layer Package Application Logic Layer Package JDBC Java SQL Java AWT Application Windows Storage Layer Package Business Objects Control Objects Object to Relational
  • 18. TaxRate 18 Assigning Responsibilities Invoice 1 1..* * 1 InvoiceLine Product appears on 1 * applies to
  • 19. Qualities of Analysis  Correct scope—everything in the system is required  Completeness—everything required is in the system and everything is documented in the models  Correct content—accurate description of requirements  Consistency—each element is consistently referred to by the same name 19
  • 20. Qualities of Design  Functional—system will perform the functions that it is required to  Efficient—the system performs those functions efficiently in terms of time and resources  Economical—running costs of system will not be unnecessarily high  Reliable—not prone to hardware or software failure, will deliver the functionality when the users want it 20
  • 21. Qualities of Design  Secure—protected against errors, attacks and loss of valuable data  Flexible—capable of being adapted to new uses, to run in different countries or to be moved to a different platform  General—general-purpose and portable (mainly applies to utility programs)  Buildable—Design is not too complex for the developers to be able to implement it 21
  • 22. Qualities of Design  Manageable—easy to estimate work involved and to check of progress  Maintainable—design makes it possible for the maintenance programmer to understand the designer’s intention  Usable—provides users with a satisfying experience (not a source of dissatisfaction)  Reusable—elements of the system can be reused in other systems 22
  • 23. 23 Trade-offs in Design  Design to meet all these qualities may produce conflicts  Trade-offs have to be applied to resolve these  Functionality, reliability and security are likely to conflict with economy  Level of reliability, for example, is constrained by the budget available for the development of the system
  • 24. Trade-offs in Design  Design objectives may conflict with constraints imposed by requirements  The requirement that the system can be used in different countries by speakers of different languages will mean that designers have to agree a list of all prompts, labels and messages and refer to these by some system of naming or numbering  This increases flexibility and maintainability but increases the cost of design 24
  • 25. Measurable Objectives in Design In Chapter 6, non-functional requirements were described How can we tell whether these have been achieved? Measurable objectives set clear targets for designers Objectives should be quantified so that they can be tested 25
  • 26. Measurable Objectives in Design To reduce invoice errors by one-third within a year How would you design for this? 26
  • 27. Measurable Objectives in Design To reduce invoice errors by one-third within a year How would you design for this? • sense checks on quantities • comparing invoices with previous ones for the same customer • better feedback to the user about the items ordered 27
  • 28. Measurable Objectives in Design To process 50% more orders at peak periods How would you design for this? 28
  • 29. Measurable Objectives in Design To process 50% more orders at peak periods How would you design for this? • design for as many fields as possible to be filled with defaults • design for rapid response from database • design system to handle larger number of simultaneous users 29
  • 30. Planning for Design Planning for when platform is known Setting standards Allowing time for training Agreeing objectives and planning tests Agree procedures to decide on trade-offs that significantly affect the system Planning time for different aspects of design 30
  • 31. Summary In this lecture you have learned about:  The difference between analysis and design  The difference between logical and physical design  The difference between system and detailed design  The characteristics of a good design  The need to make trade-offs in design 31

Notas do Editor

  1. The assignment of responsibilities to classes is an issue that is related to reuse. Larman (1998) highlights this activity as the main task in design. In an object-oriented system, it is important to assign responsibility for operations to the right classes, and there is often a choice. In the FoodCo system, there will be a need to produce invoices for customers that include the calculation of Value Added Tax (VAT). (Value Added Tax is a tax used throughout Europe that is applied at each stage of the supply chain and not just as a purchase tax paid by the final end-user or consumer.) The calculation of VAT could be carried out by one of a number of classes in the model (Figure 12.2).      Invoice—which organizes the total information for the whole sale.      InvoiceLine—which contains the detail of each item sold and to which the tax applies.      Product—to which different VAT rates may apply.      TaxRate—which carries the details of the percentage that applies for each valid rate. If the designer makes the wrong decision, the resulting class will be less reusable and may constrain the design of other classes. If the responsibility for tax calculation is allocated to Invoice or InvoiceLine, then this has implications for CreditNote and CreditNoteLine, which may also need to calculate tax. If it is assigned to Product, then it cannot be reused in the Agate project where VAT applies to services as well as products. Clearly it needs to be assigned to TaxRate in order to maximize the reuse that can be made of the classes in this design.