Methods of Software Development - PowerPoint PPT Presentation

About This Presentation
Title:

Methods of Software Development

Description:

Statistical methods in Software Engineering (reliability and risk) by Singpurwalla and Wilson ... code analysis: check a procedure against its declarative spec. ... – PowerPoint PPT presentation

Number of Views:19
Avg rating:3.0/5.0
Slides: 9
Provided by: karljlie
Category:

less

Transcript and Presenter's Notes

Title: Methods of Software Development


1
Methods of Software Development
  • Karl Lieberherr
  • Spring 2007

2
A list of possibilities(from the web)
  • method a way of doing something, especially in a
    systematic way.
  • Statistical methods in Software Engineering
    (reliability and risk) by Singpurwalla and Wilson
  • Software development processes each process as a
    method
  • Formal methods using mathematical approaches to
    solving software problems (from requirement to
    implementation level)

3
A list of possibilities (cont.)(from the web)
  • method a way of doing something, especially in a
    systematic way.
  • object-oriented methods of software development
  • generic programming
  • programming by contracts
  • programming with meta classes
  • design patterns
  • aspect-oriented methods of software development
  • joinpoints, pointcuts, advice

4
What is the goal of methods for software
development?
  • modular designs, good separation of concerns
  • easy to understand and modify
  • efficient implementation
  • etc.

5
Methods of software developmentbased on
relations and constraints
  • Examples
  • design analysis state machine S over structured
    states, violating the expected property P. S and
    !P
  • code analysis check a procedure against its
    declarative spec.
  • test case generation from data invariants
  • component assembly and installation
  • Use relational constraint solving engine
  • successful approach use SAT solver

6
Methods of software developmentbased on
relations and constraints
  • A relational engine is also useful for other
    domains than software development
  • Other Examples
  • course scheduling
  • network configuration
  • biology haplotype inference

7
Build our knowledge from the ground up
  • SAT and CSP solvers
  • How to express relations and constraints in a way
    most suitable for the software developer and
    other users? Possibilities Alloy, Kodkod
    language, etc.
  • How to translate relations and constraints to SAT
    and CSP

8
SAT and CSP solvers
  • Use methods of software development to develop
    SAT and CSP solvers.
  • Methods we want to use
  • implementation modeling using transition systems
  • based on Pragmatic Programmer Tips
  • Write code that writes code
  • Design with contracts
  • Configure, Dont integrate
  • Minimize coupling
  • etc
Write a Comment
User Comments (0)
About PowerShow.com