K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Introduction to Software System Design.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
1 Information Systems Development (ISD) Systems Development Life Cycle Overview of Analysis Phase Overview of Design Phase CP2236: Information Systems.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Modeling and simulation of systems Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Software Requirements Engineering
CS540 Software Design Lecture 1 1 Lecture 1: Introduction to Software Design Anita S. Malik Adapted from Budgen (2003) Chapters 1.
Introduction To System Analysis and Design
02/12/00 E-Business Architecture
Physical design. Stage 6 - Physical Design Retrieve the target physical environment Create physical data design Create function component implementation.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
Systems Analysis and Design (Level 3)
Project Documentation and its use in Testing JTALKS.
Information systems and databases Database information systems Read the textbook: Chapter 2: Information systems and databases FOR MORE INFO...
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
CORE 1: PROJECT MANAGEMENT Understanding the Problem.
Introduction to Computer Technology
Object-Oriented Analysis and Design
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
Your Interactive Guide to the Digital World Discovering Computers 2012.
Introduction To System Analysis and design
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Introduction to Software Engineering CEN 4010.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
LESSON 8 Booklet Sections: 12 & 13 Systems Analysis.
Nature of Software Design
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
An Introduction to Software Architecture
Introduction to information systems
Business Analysis and Essential Competencies
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Design: An Introduction by David Budgen Presented by Shane Marcus EEL 6883 – Spring 2007 Presented by Shane Marcus EEL 6883 – Spring 2007.
Software Requirements Engineering CSE 305 Lecture-2.
Introduction To System Analysis and Design
Software development process ธนวัฒน์ แซ่ เอียบ. The development process Process –set of rules which define how a development project. Methodology and.
Database Design. The process of developing database structures from user requirements for data a structured methodology Structured Methodology - a number.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Lecture 7: Requirements Engineering
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
1 Introduction to Software Engineering Lecture 1.
I Power Higher Computing Software Development The Software Development Process.
Software Engineering Prof. Ing. Ivo Vondrak, CSc. Dept. of Computer Science Technical University of Ostrava
Chapter 1 Program design Objectives To describe the steps in the program development process To introduce the current program design methodology To introduce.
Software Development Life Cycle by A.Surasit Samaisut Copyrights : All Rights Reserved.
Software Engineering COSC 4460 Class 4 Cherry Owen.
Database Design. The process of developing database structures from user requirements for data a structured methodology Structured Methodology - a number.
Systems Development Life Cycle
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
IS2210: Systems Analysis and Systems Design and Change Twitter:
CS646: Software Design and Architectures Introduction and Overview †  Definitions.  The general design process.  A context for design: the waterfall.
Dillon: CSE470: ANALYSIS1 Requirements l Specify functionality »model objects and resources »model behavior l Specify data interfaces »type, quantity,
Advanced Higher Computing Science The Project. Introduction Worth 60% of the total marks for the course Must include: An appropriate interface using input.
Managing Data Resources File Organization and databases for business information systems.
Why is Design so Difficult? Analysis: Focuses on the application domain Design: Focuses on the solution domain –The solution domain is changing very rapidly.
Advanced Higher Computing Science
Multi-Device UI Development for Task-Continuous Cross-Channel Web Applications Enes Yigitbas, Thomas Kern, Patrick Urban, Stefan Sauer
Database Design.
Software Prototyping.
System.
Introduction to System Analysis and Design
Quality Management Perfectqaservices.
“What do I do ?”, “How do I do it ?”, What do I do it with ?
MANAGING THE DEVELOPMENT AND PURCHASE OF INFORMATION SYSTEMS
Information Systems Development (ISD) Systems Development Life Cycle
Presentation transcript:

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Introduction to Software System Design

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Information systems design l Software is an example of an artifact. An artifact is: a product of human art & workmanship (Oxford dictionary) l Artifacts need to be: – designed (in order to meet some specific need) – fabricated (according to the plans created by the design)

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing The Waterfall Approach 1. Requirements Analysis 2. Solution Design 3. Software Creation 4. Software Testing 5. System Hand-over 6. Maintainance

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Requirements Analysis Requirements Analysis is primarily concerned with what the end user wants Need knowledge of l the problem domain l the solution space (often part of feasibility study)

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Systems Analysis This task specifies what the chosen solution should do Two forms of requirement emerge from this: l functional requirements l non-functional requirements

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Software Design Design is concerned with how the requirement is to be met by the eventual system The designer’s task is to solve the problems posed by requirements elicitation and systems analysis

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing A major difficulty The fundamental problem is that designers are obliged to use current information to predict a future state that will not come about unless their predictions are correct. The final outcome of designing has to be assumed before the means of achieving it can be explored: designers have to work backwards in time from an assumed effect upon the world to the beginning of a chain of events that will bring the effect about ( J C Jones, Design Methods: Seeds of Human Futures, 1970)

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing The design process l Purpose: to produce a plan which can be used as a blueprint for the implementation, which describes: –system structure (how elements are related ) –how elements fit together l For software design an added difficulty is the use of static forms to model dynamic properties of our solution

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing The design plan should... l describe the process aspects of the design l describe the product aspects of the design Software is distinguished from artifacts such as bridges, clocks etc because of this dual nature of design.

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing How designers work domain knowledge

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing How designers work l Experienced designers working in familiar domains will make extensive use of experience ( reuse of domain knowledge) l Work in an opportunistic manner, adapting strategy to problem and evolving solution l If no domain knowledge then use of a design method ( method knowledge ) is the substitute

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Aspects of Software Design Information Structure Interfaces Processes Controls Security

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Processes l What the software must do l Use the Data Flow Diagram processes as a basis l Create “mini-specifications” for each action required by the system l Event-driven systems: need a mini-spec for the response to each event

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Information Structure l How is the information to be stored? l Use Logical Data Structure as the basis l Example: –Logical Data = “customer information”, –Physical Data = Customer contact table, Customer Purchasing History, Customer Query History. l Use Normalisation for database design

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Interfaces l How will the inputs and outputs look? l Create “sketches” of screen layouts and printouts. l Identify “action points” to link to your process design e.g. command buttons, combo boxes l Consider the “look and feel”

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Controls l How does the user know the system is running correctly l Examples: –Can get summary statistics –Cannot accidentally repeat procedures

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Security l Keeping the system safe from interference, keeping it up and running.

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Privacy l Keeping information in the system private – not for unauthorised eyes.

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing V & V l Verification Are we building the system right? l Validation Are we building the right system?

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing V & V - some difficulties l Expressing requirements in terms that allow them to be related to the design model l User requirements are likely to change during development l Requirements describe a process and this is difficult to describe analytically

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Design Guidelines l Many software development methodologies include the design stage

K. Ingram (with thanks to A. Seddon) Staffordshire UNIVERSITY School of Computing Design as problem solving l Key factor is the use of abstraction to: –help model solution of essential aspects; –separate logical and physical aspects –help make decisions about choices l The ultimate criteria should be that of fitness of purpose