1 / 32

Software Specification KXA233 Lecture 1 Introduction, Product and Process Pressman Ch. 1, 2

Software Specification KXA233 Lecture 1 Introduction, Product and Process Pressman Ch. 1, 2. Paul Crowther School of Computing University of Tasmania. Today…. Introduction to the unit Introduction to Systems Development The Product The Process. Assessment. Lab work 10% Database

anka
Download Presentation

Software Specification KXA233 Lecture 1 Introduction, Product and Process Pressman Ch. 1, 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Software SpecificationKXA233Lecture 1Introduction, Product and ProcessPressman Ch. 1, 2 Paul Crowther School of Computing University of Tasmania

  2. Today… • Introduction to the unit • Introduction to Systems Development • The Product • The Process

  3. Assessment • Lab work 10% Database • Assignment 1 10% Traditional • Assignment 2 10% Object Oriented • Examination 70%

  4. Structure • 3 hours lecture • 1 hour database and design • 2 hours methodology • 1 hour lab • mainly Oracle database

  5. Contact... • P.Crowther@utas.edu.au • Room V - 170 • Phone (6324) 3404 • Consultation • Monday 10.00 - 12.00 • Tuesday 9.00 - 11.00

  6. Product • Software specification • Required for programmers to write software • Required for schema and subschema implementation

  7. Products… (pg 5) • Early years (to mid 60’s) • batch oriented, custom built • Second era (to mid 70’s) • multiuser, real time • database, product software • Third era (to late 80’s) • distributed systems, embedded ‘intelligence • low cost hardware, consumer impact • Fourth era • desk top systems, OO technologies, expert systems • parallel computing, network computers

  8. Product Problems... • Hardware advances outpace software • Demand for new programs exceeds supply • Increasing use and dependence on computers requires reliable stable software • Reliable quality software often seems a struggle to build • Support and enhancement of existing software is threatened by poor initial design

  9. Impact of Change (pg 19) 60 - 100 X 1.5 - 6 X Cost to change 1X Definition Development After release

  10. ACTIVITIES OF THIS UNIT (SDLC version) 3 WRITE USER MANUAL 4 7 IMPLEMEN- TATION DESIGN COMPLETED USER MANUAL 6 USERS CONVERT DATA BASE EXISTING DATA BASE SYSTEM REQUIREMENTS CURRENT SYSTEM SPEC CONVERTED DATABASE USER POLICY 2 1 9 DESIGN SPEC STRUCTURED SPEC INSTALL SYSTEM FEASIBILITY STUDY ANALYSIS INTEGRATED SYSTEM CONSTRAINTS TENTATIVE COST/BENEFIT SUMMARY COST/BENEFIT REPORT ACCEPTED SYSTEM 8 5 QUALITY ASSURANCE TEST SET MGMT PERFORM QUALITY ASSURANCE GENERATE ACCEPTANCE TEST

  11. The Process • What is the problem to be solved • What are the characteristics of the solution • How will the solution be realized • How will the solution be constructed • How will errors be detected • How will it be supported over the long term

  12. Key Process Areas • Basis for project management • Establish context to apply technical methods • Establish products to be produced • Establish milestones • Establish quality control

  13. Models • Linear Sequential Model (classic SDLC), also known as the Waterfall Model • Prototyping Model • RAD Model • Incremental Model • Spiral Model • Component Assembly (Object Oriented) Model • Concurrent Development Model • Formal Methods Model • Fourth Generation Approach

  14. STRUCTURED DEVELOPMENT LIFE CYCLE 3 4 2 1 DESIGN CODE ANALYSIS TEST LINEAR SEQUENTIAL MODEL

  15. Problems With Linear Sequential • Real projects rarely sequential - iteration required • difficulty in user stating all requirements early • Working version of program not available until late in the life cycle • Developers often delayed - blocking states

  16. Prototyping Model Build/revise mock-up Listen to User User test-drives mock-up

  17. Prototyping Problems • User may be unaware it is a prototype which is unstable and want it NOW! • Compromises may be made to get a prototype working early - may be difficult to remove later

  18. RAD (Rapid Application Development) Model • High speed adaptation of linear sequential model • Uses a component based construction approach • Requirements need to be well understood and technical risks low • Each component may have a separate RAD team

  19. RAD • Business Modelling • Data Modelling • Process Modelling • Application Generation - assumes CASE tool usage • Testing and turnover - remember software reuse emphasised

  20. Incremental Model • Evolutionary model • Applies linear sequences in a staggered fashion • Each sequence produces a deliverable • First increment is usually a core product - basic requirements are addressed, but many other requirements left unaddressed

  21. 3 3 3 4 4 4 2 2 2 1 1 1 DESIGN DESIGN DESIGN CODE CODE CODE ANALYSIS ANALYSIS ANALYSIS TEST TEST TEST Incremental Model Delivery of 1st increment Delivery of 2nd increment Delivery of 3rd increment Time

  22. The Spiral Model • Couples prototyping with the controlled systematic aspects of the linear sequential model • Provides for rapid development of incremental versions • Software is developed as a series of incremental releases

  23. The Spiral Model - Six Task Regions • User Communication • Planning • Risk Analysis • Specification (engineering) • Construction and Release • Customer Evaluation

  24. Planning Risk Analysis User Communication Specification (Engineering) User Evaluation Spiral Model Construction and Release

  25. Spiral Model • Model can be adapted to apply throughout a products lifecycle • Entry points on the axis between user communication and user evaluation • Concept Development • New Project Development • Product Enhancement • Product Maintenance

  26. Component Assembly Model • Object oriented • Incorporates spiral model features • Composes applications from pre-packaged software components (classes) • Components are built if they are not available

  27. Component Assembly Model Identify candidate components Look up components in library Extract components if available Construct nth iteration of system Put new components in library Build components if unavailable

  28. Concurrent Development Model • Represented as a series of major technical activities and their associated states • May have same activities as the spiral model • Defines a network of activities

  29. Concurrent Development Model Under development None Awaiting changes Under review Under revision Analysis Activity Baselined (Specified) Done

  30. Formal Methods Model • Set of activities that lead to mathematical specification • provide mechanism for eliminating ambiguity, incompleteness and inconsistency • When used in design provide a basis for program verification • However poor communication model for most users • Require extensive training • Likely to gain adherents in safety critical applications

  31. Fourth Generation Techniques • Uses code generators • often coupled to CASE (Computer Aided Software Engineering) yools • Reduces time for development of small systems • More analysis, design and testing required for large systems (but time saved on coding)

  32. Next Week... • Tutorials start • Fact Finding • Interviews • Records • Observation

More Related