Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct.

Slides:



Advertisements
Similar presentations
May 23, 2004OWL-S straw proposal for SWSL1 OWL-S Straw Proposal Presentation to SWSL Committee May 23, 2004 David Martin Mark Burstein Drew McDermott Deb.
Advertisements

TWO STEP EQUATIONS 1. SOLVE FOR X 2. DO THE ADDITION STEP FIRST
Writing Good Use Cases - Instructor Notes
Entity Relationship (E-R) Modeling
Chapter 26 Legacy Systems.
Chapter 26 Legacy Systems.
Chapter 24 Quality Management.
Chapter 6 Flowcharting.
By D. Fisher Geometric Transformations. Reflection, Rotation, or Translation 1.
Ada, Model Railroading, and Software Engineering Education John W. McCormick University of Northern Iowa.
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination.
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
Jeopardy Q 1 Q 6 Q 11 Q 16 Q 21 Q 2 Q 7 Q 12 Q 17 Q 22 Q 3 Q 8 Q 13
0 - 0.
DIVIDING INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
SUBTRACTING INTEGERS 1. CHANGE THE SUBTRACTION SIGN TO ADDITION
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
1 9 Moving to Design Lecture Analysis Objectives to Design Objectives Figure 9-2.
Database Design: ER Modelling (Continued)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design 1.
Information Systems Analysis and Design
Configuration management
Software change management
Table 22.1 Stakeholder summary for the Odd Shoe Company
Microsoft Office Illustrated Fundamentals Unit K: Working with Data.
Database Modeling Past and Present
Legacy Systems Older software systems that remain vital to an organisation.
1 UML ++ Mohamed T IBRAHIM University of Greenwich -UK.
Software Processes.
the Entity-Relationship (ER) Model
Lecture plan Outline of DB design process Entity-relationship model
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 27 Slide 1 Quality Management.
Lecture 5: Requirements Engineering
Introduction to Databases
Past Tense Probe. Past Tense Probe Past Tense Probe – Practice 1.
CS101: Introduction to Computer programming
This work was partially funded by the RNTL initiative (LUTIN project) 1 Refactoring to Object-Oriented Design Patterns Mikal Ziane (LIP6 and Université.
Addition 1’s to 20.
25 seconds left…...
Test B, 100 Subtraction Facts
Systems Development and Documentation Techniques
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
Week 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
We will resume in: 25 Minutes.
Chapter 11 Describing Process Specifications and Structured Decisions
© Copyright 2011 John Wiley & Sons, Inc.
Data Flow Diagram (DFD) Review
Chapter 7 Structuring System Process Requirements
System Design and Analysis
UHD-CMS-CH101 Specification Phase Chapter Ten. UHD-CMS-CH102 SPECIFICATION DOCUMENT The specification document must be Informal enough for client Formal.
COMP6015 An Introduction to Computer Programming
Chapter 7 Structuring System Process Requirements
System Analysis Overview Document functional requirements by creating models Two concepts help identify functional requirements in the traditional approach.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
The Software Development Cycle Defining and understanding the problem.
1 Structured Analysis Techniques. 2 Data Flow Diagrams.
Introduction to Systems Analysis and Design Trisha Cummings.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Section 02Systems Documentation1 02 Systems Documentation And Franchise Colleges By MANSHA NAWAZ.
Lecture 6 Data Flow Modeling
Requirements Definition and Specification. Outline Definition and specification Natural language Semi-formal techniques –Program description languages.
CSC 395 – Software Engineering Lecture 28: Classical Analysis -or- Do You Really Want to Do That?
Formal Methods.
Software Engineering Lecture 10: System Engineering.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 12 Exploring Information System Development.
Presentation transcript:

Software Engineering - Specifications 1 Specifications Specification document must be clear, complete and correct

Software Engineering - Specifications 2 The Document Specifications document must clearly outline the constraints of the proposed system including restrictions on hardware, portability, reliability, timing and other resource usage issues

Software Engineering - Specifications 3 Presentation of Specifications Informal Techniques Semi-Formal Techniques Formal Techniques

Software Engineering - Specifications 4 Informal Techniques Uses natural languages e.g. Spanish, English Attempts to express what system will do when completed Requires good grammatical skills Contains a level of ambiguity

Software Engineering - Specifications 5 Semi-Formal Techniques Seeks to remove ambiguity found with informal techniques Seeks to be highly expressive Seeks to be clear and logical to both developer and client representatives Uses Diagrams

Software Engineering - Specifications 6 Data Flow Diagrams Pictorial representation of all aspects of logical data flow Uses predefined symbols to express the movement of data in a system Cannot express all aspects of system Developed iteratively

Software Engineering - Specifications 7 DFD Symbols External Entity Process Data store dataflow

Software Engineering - Specifications 8 Data Flow Diagrams It essentially shows the logical data flow of a given process. Lets look at few examples, which together demonstrate the uses and various levels of abstraction that can be achieved using DFDs. First example: data flow diagram for specifying the expression (a + b) * (c + a * d).

Software Engineering - Specifications 9 Example #1 User + * badc Display Screen * +

Software Engineering - Specifications 10 Example #2 A software store purchases commercial off-the-self (COTS) software from various suppliers and resells them to the public. The store offers credit to institutions, corporations, and some individuals. After several years of good financial returns management has decided to fully computerise the companys manual operation.

Software Engineering - Specifications 11 Example #2: First Refinement 1 st Refinement DFD for the Software store

Software Engineering - Specifications 12 Example #2: Second Refinement 2 nd Refinement DFD for the Software store

Software Engineering - Specifications 13 Example #2: Third Refinement

Software Engineering - Specifications 14 Entity-Relationship Modelling Technique which allows relationships between data items to be expressed Relationships may be one-to-one, one-to- many or many-to-many Used primarily in the design of databases

Software Engineering - Specifications 15 Formal Techniques Rely on mathematical sophistication Includes finite state machines, petri nets and formal languages such as Z and VDM. Requires high level of mathematical training to use

Software Engineering - Specifications 16 Pros & Cons of techniques Informal techniques are easy to use and understand by client Formal techniques are highly expressive and correctness can be proved using maths. Informal techniques may be ambiguous, lack clarity of formal techniques Formal techniques are hard to learn, client may have difficulty grasping concepts

Software Engineering - Specifications 17 Pros & Cons Contd Many times the technique used will depend on the ability of client to understand the technique For a client not having persons with a formal (maths) background, informal or semi-formal approaches may be the only viable ones.

Software Engineering - Specifications 18 Testing during specifications These have been mentioned before, namely… Walkthrough of specification document Inspections process Use of correctness proving (where formal technique is used)

Software Engineering - Specifications 19 Software Tools Graphical tool – to construct diagrams, charts, drawings etc. Data Dictionary(DD) tool – to store relationships between attributes Combo Graphical/DD tool

Software Engineering - Specifications 20 Useful Metrics – pt. A Number of pages in specification document. This allows comparison with past documents to give a sense of the scale of the current product being developed Rate at which faults are found may also indicated how good spec. team is

Software Engineering - Specifications 21 Useful Metrics – pt. B Number of potential files, processes, components etc. can also preview the eventual effort required.