170 likes | 483 Views
07/06/2012. Overall Systems Development Process I. 2. Learning Objectives. Describe computer-based systems developmentDistinguish between application software and systems softwareDescribe the software engineering processes that assist in computer-based systems analysis and designDiscuss the benef
E N D
1. Overall Systems Development Process Dr Jon Tepper
Room N330 Hello everyone, my name is Jon Tepper.
Some of you may already know me from your Level I and II of your course. However, for those who do not, you can normally find me in room N411 of the Newton Building.
As you are aware, you will soon be entering Level III and thus the final year of your degree.
Level III consists of an individual project supported by two compulsory modules on design and quality. It also consists of a number of optional modules selected by yourself one of these being Artificial Intelligence - which is the one I would like to interest YOU in.Hello everyone, my name is Jon Tepper.
Some of you may already know me from your Level I and II of your course. However, for those who do not, you can normally find me in room N411 of the Newton Building.
As you are aware, you will soon be entering Level III and thus the final year of your degree.
Level III consists of an individual project supported by two compulsory modules on design and quality. It also consists of a number of optional modules selected by yourself one of these being Artificial Intelligence - which is the one I would like to interest YOU in.
2. 08/06/2012 Overall Systems Development Process I 2 Learning Objectives Describe computer-based systems development
Distinguish between application software and systems software
Describe the software engineering processes that assist in computer-based systems analysis and design
Discuss the benefits of using a systems development methodology
Describe the traditional systems development lifecycle (waterfall model)
3. 08/06/2012 Overall Systems Development Process I 3 What is Systems Development? A complex organisational process used to develop and maintain computer-based systems that either perform basic business functions or forms a viable product
Main aim is to apply computer hardware and software technology to key business tasks to improve employee and business productivity
..or to the development of a product that performs a function required by a particular market (targeted by the business!)
4. 08/06/2012 Overall Systems Development Process I 4 Application Software Application software is computer software designed to support specific organisational functions or processes. Examples:
Inventory management
Payroll
Personnel database management
A business could also develop application software for a consumer market. Examples:
Embedded software for telecommunication equipment (switching and routeing cards)
Microsoft Word / Excel / PowerPoint / Access (Office!?)
Computer-Aided Software Engineering (CASE) Tools (e.g Rational ClearCase, Rose)
5. 08/06/2012 Overall Systems Development Process I 5 Software Engineering (SE) Developing software is no longer the hit and miss process of the early 1960s. Software engineering is now a formally accepted discipline with many standard practices for developing software and managing software projects
IEEE Definition: The application of a systematic, disciplined, quantifiable approach to the development, operation, and maintenance of software; that is, the application of engineering to software
6. 08/06/2012 Overall Systems Development Process I 6 Software Engineering It is concerned with theories, methods and tools for cost-effective professional software development
Economies and businesses of all developed countries are now dependent upon software
Software engineering practices must foster quality software products
7. 08/06/2012 Overall Systems Development Process I 7 SE & Systems Analysis and Design SE processes that aid systems analysis and design:
Methodologies
A sequence of step-by-step approaches an organisation can use to analyse, design, implement and support its information system
Techniques
Processes that the systems analyst follows to ensure thorough, complete and comprehensive analysis and design
Software Tools
Computer programs to aid in applying techniques (i.e. Computer-Aided Software Engineering or CASE tools)
8. 08/06/2012 Overall Systems Development Process I 8 Strategies Refers to the computer system development strategy agreed within a particular organisation
Traditionally two different types of structured approaches to systems development :
Process-orientated
Data-orientated (a.k.a Information Engineering)
There are others such as object-orientated and soft system approaches
but these will not be covered in this introductory module
9. 08/06/2012 Overall Systems Development Process I 9 Data and Processes Every computer-based system consists of three key components :
Data
Data flows
Processing logic
Data
raw facts that describe people, objects and events in an organisation
Information
data processed in a manner suitable for human interpretation
10. 08/06/2012 Overall Systems Development Process I 10 Data and Processes Understanding the source and use of data is key to good system design
Data modelling techniques are used to describe data and the relationships amongst data
e.g. Entity Relationship Diagrams (ERDs), UML Class Diagrams
Data flows
Groups of data that move and through the system processes
11. 08/06/2012 Overall Systems Development Process I 11 Data and Processes Data flows (Contd)
Include description of sources and destination for each data flow
Process modelling techniques are used to describe the flow of data through a system
Data Flow Diagrams (DFDs)
Event Diagrams
Processing logic
Describes steps that transform the data and events that trigger the steps i.e. the cause and effect of operations performed within a systems processes
Logic modelling techniques are used to describe process logic e.g. Structured English (SE), Pseudo Code, Structure Charts etc
13. 08/06/2012 Overall Systems Development Process I 13 Systems Development Methodology A methodology is a step-wise approach used by an organisation to analyse, design, implement and support its information system or software-based product
It embodies a set of techniques (DFDs, Interviews, Questionnaires, ERDs, Entity Life Histories, Structure English etc)
Methodologies can be developed in-house or purchased off the shelf
in-house very expensive as dedicated staff are needed
Off the shelf products like Rationals Unified Process more beneficial and cost effective since : they use well-proven processes; contain automated tools; up-to-date because the companies are interested in latest business and technology trends
14. 08/06/2012 Overall Systems Development Process I 14 Advantages of A Methodology Ensures that a consistent reproducible approach is applied to all projects
Reduces the risks associated with shortcuts and mistakes
Produces complete and consistent documentation from one project to the next
As development teams and staff change over time, the result of prior work can be easily retrieved, understood and modified as required
15. 08/06/2012 Overall Systems Development Process I 15 Systems Development Life Cycle (SDLC) SDLC is a structured methodology used to develop, maintain and replace information systems
Allows for structured analysis and design
Each phase has a specific outcome and deliverable
Each phase usually starts with a kick-off meeting
Slightly different SDLC models used from organisation-to-organisation or from author-to-author
Customised with anywhere from 3 to 20 identifiable phases!!!
16. 08/06/2012 Overall Systems Development Process I 16 Traditional Waterfall Model Completion of a stage is marked by the submission of a set of defined deliverables
All drafts and completed versions of documentation and code are stored and managed using a configuration management system
Each stage can be completed and signed off
Progress through the system is measurable and manageable
System & User requirements are identified well before coding
Iteration and parallelism is allowed BUT
..reduces manageability
18. 08/06/2012 Overall Systems Development Process I 18 Summary Describe computer-based systems development
Distinguish between application software and systems software
Describe the software engineering processes that assist in computer-based systems analysis and design
Discuss the benefits of using a systems development methodology
Describe the traditional systems development lifecycle (waterfall model)