INF2011S
• Systems analysis – those activities that enable a person to understand and specify what an
information system should accomplish i.e. what the system must do to solve the business need
(INF2009F)
• Systems design – those activities that enable a person to de ne and describe in detail how the
system will work. i.e. the system that solves the business need (INF2011S)
• System development – Build, test, and integrate system components - lots of programming and
component integration – according to your chosen architecture and methodology
• System Implementation – Installing, testing and securing and backing-up the system.
1.1: Systems Design
• The objective of design is to de ne, organise, and structure the components of the nal solution to
serve as a blueprint for development.
• Systems design provides the starting point for systems development.
• Systems analysis provides the starting point for systems design
Prototypes are placed in the software system development life cycle based on what type of prototype
they are are.
From Analysis to Design to Implementation
Where does analysis stop and design start?
Waterfall = one big nal outcome (sequential and predictive)
In a waterfall life cycle there is a clear transition between the two activities (Analysis & Design)
Pros:
• well-disciplined
• it has to start with complete requirements
• great for projects with de ned phases
Cons:
• early feedback is absent
• response to change is slow
• risks of high costs if requirements are missing
fi fi fi fi fi
, 2 of 57
Agile = cumulative mini outcomes (iterative and adaptive)
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
Pros:
• focuses more on customer collaboration
• holds individuals and interactions
• advances towards working software
• emphasis on fast delivery
Cons:
• Lack of documentation
• Di culty in building great designs
• Lacks emphasis on necessary design
• Can easily fall o track if goals are unclear
• Di culty in assessing beginning e orts
How is analysis (What?) di erent from design (How?)
Throughout design, the project team carefully considers the new system in respect to current
environment and systems that exist within the organisation as a whole
– Environmental Factors (e.g. integrating with an existing system)
– Converting data from legacy systems
– Leveraging skills that exist in-house
– Getting UX (user experience) & UI (user interfaces) right
Key activities undertaken during the design stage:
– Examine several design strategies and decide which will be used to build the system
– Detailed design of the individual classes and methods
– Designing user interface, systems inputs, and systems output
– Making physical architecture decisions regarding the hardware and software that will be
purchased to support the new system
Two Levels of design
Design takes place at more than one level :
• System Design deals with the high level architecture of the system - structural aspects and
standards that a ect the overall system
- Hardware, network, and system software infrastructure
- Communication between sub-systems
- Standards for screens, reports, help etc
• Detailed design adds detail to the analysis to provide a detailed system speci cation
- Class Design (types of attributes, method specs)
➡ Includes implementation classes to handle user interface, business logic etc
- Sequence Design (informs the methods of the software)
- User Interface and Report Design
- Database design
- Security and Controls Design
Key Design Activities and Iterations
ffi ffff ff ff fi
, 3 of 57
Key Design Questions for each Activity
Design is a model building activity – The formality of the project will dictate the type, complexity, and
depth of models
Agile/iteration projects typically build fewer models, but models are still created – Jumping to
programming without design often causes less than optimum solutions and may require rework
From Analysis Models to Design Models
Evolving the Analysis Models into Design Models
The primary purpose of the design models is to increase the likelihood of successfully delivering a
system that implements the functional requirements in a manner that is a ordable, usable and
easily maintainable.
Therefore, in system design, we address both the functional and the non-functional requirements
ff
, 4 of 57
• Non-Functional Requirements:
- Operational Requirements
- Performance Requirements
- User Experience (UX) and User Interface (UI)
- System Controls and Security Requirements
- Cultural and Political Requirements
Key Design Models
How can we tell whether the design requirements have been achieved?
– Measurable objectives set clear targets for designers
– Objectives should be quanti ed so that they can be tested
– SMART objectives are Speci c, Measurable, Actionable, Realistic and Time-based
Qualities of Design
Measured by how well we identify and resolve the systems non-functional requirements in the
context of the functional requirements
– In analysis the focus was on doing the right thing
– In design the focus is on doing things right
12 Qualities and Objectives of Design
1. Functional
• System should perform completely and correctly those functions that it claimed to perform
• Documented requirements should be met fully and according to speci cation
2. E cient
• System should perform the required functionality e ciently both in terms of time and resources,
etc. (e.g. disk storage, processor time, and network capacity) – Design is about producing striving
towards an optimal solution
3. Economical
• Applies not only to the xed costs of the hardware and software required to run it, but also to
the running costs of the system (TCO)
4. Reliable
• It should not be prone to hardware or software failure
• It should reliably maintain the integrity of the data in the system
• Reliability depends to some extent on the ability of the system to be tested thoroughly
5. Secure
ffi
fi fifi ffi fi