2. SYSTEM DEVELOPMENT LIFE CYCLE
Planning
Analysis
Design
Coding
Testing
Implementation
3. Design Phase
It is a process of planning a new business system or replacing
an existing system by defining its components or modules to
satisfy the specific requirements. Before planning, you need to
understand the old system thoroughly and determine how
computers can best be used in order to operate efficiently
It uses the requirements that were gathered during the analysis to create a
blueprint for the future system.
4. Objectives of the Design Phase
Support Business Activities
Ensure that User Requirements are Met
Provide Ease of Use
Specify the Logical Design Elements
Provide Software Specification
Conform to Design Standards
5. Steps in the design phase
Steps in the design phase Deliverable
1. Present design alternatives(make,buy,outsource) Alternative matrix
2. Convert logical processes and data models to
physical process and data models
Physical process model,
Updated CASE
repository with detailed
info, CRUD matrix
3. Design the architecture for the system Architecture design
4. Make hardware and software selections H/w and S/w
Specifications
5. Design the inputs and output for the system Interface deign
6. Design data storage Data storage design
7. Design the programs that will enable the process of
the system
Program design
8. Create the final deliverable for the design phase System specification
6. Design strategies
There are different ways to approach the creation of a new system:
Custom development
Merits
Complete control over the system
Allow developers to be flexible and creative in problem solving
Builds technical skills and functional knowledge within the company
Demerits
Requires a dedicated effort that includes long hours and hard work
A variety of skills – technical, interpersonal , functional, project management
all have to be in one place for the project to move successfully
IS professionals are quite diificult to hire and retain
7. Cont.…
Buying a packaged system and customizing it
Many business needs are not unique, and it makes no sense to reinvent the wheel
thus many organizations buy packaged software.
Merits
Incorporation of the expertise and experience of vendor who created the s/w
Demerit
Functionality in the packaged software must be accepted by the company
Outsourcing
Relying on an external vendor, developer or a service provider to build the sytem
9. Stages of System Design
1. Logical/Conceptual/External
Design
- process view
Tools: - UML(Unified modelling language) Diagrams
- Activity Diagrams
1. Physical/Detailed/Internal
Design
– data view
Tools: -ERD Diagrams(Entity relation diagrams)
- Communication sequence
- Dimensional model
10. Logical/Conceptual/External
Design
Deals with the process view
Tools Used
Unified Modelling Language(UML) Diagrams
Developmental language that is intended to provide a standard way to
visualize the design of a system
Graphical representation of work flows
Activity Diagrams
Used to describe the dynamic aspect of a system.
It is basically to represent the flow from one activity to another
11. Physical/Detailed/Internal
Design
Deals with the data view
Tools used:
Entity relation Diagrams
It’s a snapshot of data structures
Shows entities(tables) in a database and relationship between
tables within that database
Communication Sequence Diagram
Shows object interaction arranged in time sequence
Dimensional model
Database Design
Defines where data will be stored.
12. A database should contain the following
Primary keys
Foreign keys
Normalization
Referential integrity
Input and output design
Input- facilitates the entry of data into the system whether
highly structured data such information and unstructured
information.
Output- are the reports that the system produces whether on
the screen, paper or any other media such as the web.
Architectural design
this is the conceptual model that defines the structure,
behavior, and more views of a system e.g. flow charts.
Also describes the hardware, software and network
infrastructure that will be used.
13. Avoiding classic design mistakes
1. Reducing design time: if time is short, there is a temptation to reduce the
time spent is such” unproductive activities "as design so that the team can jump
into “productive” programming. This results into missing important details that
have to be investigated later at a higher cost.
Solution: use rapid application development(RAD) techniques and timeboxing to
eliminate functionality or move into future version.
2. Feature creep: changes mostly scope creep, can significantly increase time
and cost.
Solution: ensure that all changes are vital and that the users are aware of the
impact on cost and time. Try to move proposed changes into future versions.
3. Switching tools in mid-project: sometimes analysts switch to what appears to
be a better tool during the design in the hopes of saving time or cost.
Solution: don’t switch or upgrade unless there is a compelling need for specific
features in the new tool, and then explicitly increase the schedule for including
learning time.
14. Data flow Diagrams
It is a visual tool that maps out the flow of information in a system.
Levels of DFD
Level 0 - Context Diagram/Top level-diagram that generalizes the flow of a system
Level 1
Level 2
Elements
1. Process – an activity or a function that is perfume for some specific business reasons
2. Data flow- is a single piece of data(data element) or a logical collection of several pieces of
information e.g. patient information
3. Data store- collection of data that is stored in someway (which is determined later) when creating
physical model. All data stores must at least have one input data flow.
4. External entity- person/organization/system that is external to the system but interacts with it e.g.
patient, doctor.
Every external entity has a name or a description
19. ENTITY RELATIONSHIP DIAGRAM
ERD is a picture that shows the information that is created, stored and used by a
business sytem.
Elements
Entity- is the basic building block for a data model
Attribute- type of information captured about an entity
Relationship – are associations between entities, and are lines that connects the
entities together
Cardinality- a ratio of parent instances to child instances
Modality- refers to whether or not an instance of a child entity can exists without
a related instance in the parent entity. Relationships have a cardinality of null or
not null.
25. ARCHITECTURE DESIGN
Describes system hardware, software and network environment
It flows from non-functional requirements, such as operational, performance,
security, cultural and political requirements.
Elements
Architectural components
Server based architecture
Client- server architecture- Most preferred for costs reasons
Client- server tiers
26. Creating an architecture design
Specifies the overall architecture and placement of software and hardware that will be used
Elements
A. Operational requirements
Specifies the environment in which the system must perform and how those may change over time.
1. Technical requirements- specifies the type of hardware and software on which the system will
work.
2. System integration requirement- are those that require the sytem to operate with other
information systems inside or outside the company
3. Portability requirements- information systems never remain constant.
4. Maintainability requirement- specifies the business requirement changes that can be anticipated.
27. Cont.…
B. Performance requirement
Focus on performance issues such as response time, capacity and reliability
i. Speed requirements- are exactly what they say: how fast should the system operate.
ii. Capacity requirements- Attempt to predict how many users the system will have to support.
iii. Availability and reliability requirements- the extent to which the system will be available to
the users and the permissible failure rate due to errors.
C. Security Requirements
Ability to protect the information system from disruption and data loss.
i. System value estimates.
ii. Access control requirements.
iii. Encryption and authentication requirement.
iv. Virus control requirement.
29. Cultural and Political Requirements
Are those that are specific to the specific countries in which the system will
be used.
30. Hardware and Software Specifications
Is a document that describes what hardware and software are required to
support the application.
31. User interface design
This is the part of the system with which the users interact.
It includes the screen display that provides navigation throughout the system,
the screens and forms that capture data and the reports that the system
produces.
32. Data storage design
Project team designs the data storage component of a system using a 2-step
approach:
1. Selecting the format of the data storage
2. Optimizing the format to perform efficiently
data storage format
i. Files
ii. databases
34. Program design
Here programs are designed that will perform the systems application logic.
Program design techniques
Structure chart:-shows all components of code that must be included in the program at a high level
arranged in a hierarchical format that implies sequence, selection and iteration
Program specification:- a set of written instructions at a lower level detail