Download presentation
Presentation is loading. Please wait.
1
Systems Design
2
Analysis involves understanding and documenting user requirements in a clear and unambiguous way. It focuses on the business side and getting the requirements clear. Design is about how the new system will meet the requirements.
3
Good analysis Correct scope – clearly understood, documented and agreed with clients. Completeness – everything within scoped system should be documented. Correct content – documentation correct and accurate Consistency – no ambiguity
4
Design is about translating the analysis model into a design model that effectively implements the requirements. The focus here is on the technology side and thus effective design should make a system easier to build and more usable and functional for the end-users.
5
Design Quality The designer will be working within a framework of quality criteria, design and development standards, constraints, and be trying to achieve measurable objectives that are specific to the particular system.
6
Aspects of Design OO Detailed Design – software design Database Design User Interface Design Systems (architectural) design
7
Design can take place at several levels. System design is more concerned with architecture Detailed software design is concerned with coding User interface design is concerned with usability Database design is concerned with data integrity, avoiding duplication, and performance
8
Objectives of Software Design Functional – does what is required Efficient – in terms of time and resources Economical – in terms of money and system resources Reliable – hardware/software failure, data integrity – testing important here Secure Flexible – configurability, modifiability Portability- easy to adapt to different platforms General – is the system general purpose? Build-able- easy to code and build Manageable Maintainable- easy to fix, change, adapt Usable- easy to use, can achieve desired goals, efficient Re-usable- code can be re-used easily
9
How can re-usability, flexibility, maintainability etc. be achieved? 2 core principles of software design Coupling and Cohesion
10
Basic Software Design Criteria: Cohesion Cohesion is a measure of the degree to which an element adheres to a single purpose. Good cohesion –software modules ( sections of code) carry out a clearly defined process or group of processes that are functionally related to one another. It does what it says on the tin … and nothing else.
11
Basic Software Design Criteria: Coupling – degree of interconnectedness or dependency between modules. Coupling should be minimal. The aim is to produce modules which are independent and can be amended without producing knock-on effects to the rest of the system.
12
Cohesion in an Object Oriented Design Cohesion is the extent to which a class or operation relates to a single purpose. Operation cohesion – degree to which an operation focuses on a single functional requirement. Class cohesion reflects the degree to which a class is focused on a single requirement. Specialisation cohesion – the semantic cohesion of inheritance hierarchies. Liskov Substitution Principle – should be able to treat a derived object as if it were a base object.
13
Coupling in an Object-Oriented Design Coupling is the interconnectedness between components. This is reflected by the number of links an object has and the degree of interaction an object has with other objects. Inheritance coupling describes the degree to which a subclass actually needs the features it inherits. Interaction coupling measures the amount of message types an object sends to other objects and the number of parameters passed with these message types. Minimising coupling makes reuse easier : Why?
14
address Number Street Town County Country postcode Person Name Age gender Company Name Income profit Poor Specialisation cohesion (Mc Bennett et al p385)
15
Is this cohesive? Vehicle Serial number Model Year Getdetails() New Vehicle Name Manufacturer Base Cost Getdetails() Trade in vehicle Make Getdetails()
16
Does the patient need the features it inherits? Staff member Name Address Dob Role Salary patient condition doctor roster
17
Is this cohesive? Bank account ID number balance Getbalance() Lodge() Withdraw() Current account Overdraft limit Interest_rate setoverdraft() Chargeinterest() Deposit account Deposit interest rate addinterest()
18
Is this cohesive? Does it show inheritance coupling? Current account ID number balance Overdraft limit Interest_rate Getbalance() Lodge() Withdraw() setoverdraft() Chargeinterest() Deposit account Deposit interest rate addinterest()
19
Logical and Physical design Design of the systems architecture will determine some of the choices that are made at lower levels.
21
Summary
22
Design needs measurable objectives SMAC
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.