Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 SYS366 Week 1 - Lecture 1 Introduction to Systems.

Similar presentations


Presentation on theme: "1 SYS366 Week 1 - Lecture 1 Introduction to Systems."— Presentation transcript:

1 1 SYS366 Week 1 - Lecture 1 Introduction to Systems

2 2 What is Software Development? Software Development implies developing some software – but it does not involve simply coding programs Software is developed to turn manual processes into automated processes or to improve/enhance existing automated processes.

3 3 What does this have to do with Systems? Software Development entails understanding the problem to be solved, understanding how a business operates and understanding that the solution to be developed will be of value to the business (First ½ of SYS366) The Systems stream of courses provide the knowledge of the steps that need to be followed to successfully create a software solution from the inception of the idea to a working, fully operational system. This collection of steps is called the Systems Development Life Cycle.

4 4 What is a system? A combination of hardware and developed software that create the software solution that meets the needs of a business. A collection of inter-related components that collect, process, store and provide as output the information needed to complete business tasks.

5 5 What is a system? Characteristics of a system* – It exists in an environment – It is separated from its environment by some kind of boundary – It has inputs and outputs which come from, or are sent to the environment – It has interfaces (allows communication between two systems) – It can have sub-systems (which are also systems) – It has a control mechanism *Object-Oriented Systems Analysis & Design using UML, 1999 pages 5-6

6 6 What is a system? What the system does System Boundary InputsOutputs Control How the system is controlled Feedback Feed-forward *Object-Oriented Systems Analysis & Design using UML, 1999 pages 5-6

7 7 Need for Software Development: – Environments are rapidly changing – New technologies are frequently introduced – Companies merge and need to combine their systems – Government legislation

8 8 Software Development Typical Solutions Developed in-house Turnkey Off-the shelf Contracted out

9 9 Software Development Lifecycle (SDLC) Software Development Projects are developed according to a definite methodology called the SDLC organizes the activities of a project Interactive and Incremental followed by anyone involved in software development

10 10 What is a methodology? Comprehensive guidelines to follow for completing every SDLC activity Collection of techniques Examples: Structured (Traditional), Object-oriented

11 11 Software Development Methodologies Structured – Worked well for centralized processing applications and procedural languages Object Oriented – Works for GUI and web solutions – OO languages: C++, Java

12 12 Structured Software Development Methodology Based on the functions that a system needs to perform Development is rigid: does not allow for changes easily without significant impact to a project deadline Components do not tend to be reusable: solution developed is for a specific set of functions (which usually aren’t shared) Uses Data Flow Diagrams (the flow of data through a system) and Entity Relationship Diagrams (the data the system is going to use)

13 13 Object-oriented Software Development Methodology Fundamentally different from traditional software development Object-oriented approach – Real world objects are modeled by corresponding programming objects. Objects have state, behaviour and identity.

14 14 Object Oriented Software Development Methodology Based on the interaction that happens between ‘objects’ Does still consider the functions the system needs to perform however Allows for reusability or sharing of code (a dialogue box construct is the same across applications) Reduces the development time for an application Focuses on object technology such as multimedia systems

15 15 The Phases of the SDLC: Software (or Systems) Development Life Cycle The Phases of the SDLC for both the Structured and the OO methodologies are similar

16 16 SDLC: Software (or Systems) Development Life Cycle Project Planning Phase Analysis Phase: understanding business needs Design Phase: conceptualizing computer-system solutions Implementation Phase: coding, testing and installation Support Phase

17 17 What is a technique? Collection of guidelines that help the Developer complete a system development activity or task within a phase Step-by-step instructions General advice

18 18 Techniques Techniques are used to complete specific system development activities – Project planning techniques – Systems analysis techniques – Systems design techniques – System construction and implementation techniques – System support techniques Example: Rational Unified ProcessRational Unified Process

19 19 Models Representation of an important aspect of the real world examples – Diagrams and charts – Project planning aids – Business Use case Models and System Use Case Models drawn in Rational Rose

20 20 Where will I learn these methodologies, techniques, and models? The Systems Stream

21 21 How the Object-oriented Software Development Life Cycle is used in the Systems courses Analysis: – Systems requirements are determined, defined and documented – Looks at functions (at a high level) and the data that will be used – Defines ‘what the system is to do’ – Deliverables: Business Use Case Diagrams (Sys366) Systems Use Case Diagrams (Sys 366) Scenarios (Sys466) Initial User Interfaces (Sys366) Class Diagrams (with attributes only) (Sys466)

22 22 How the Object-oriented Software Development Life Cycle is used in the Systems courses Design: – Architecture (what platform will the solution be developed on) – Integrates the user interfaces with the data more clearly – Defines ‘how the system will do it’ – Deliverables: Sequence diagrams (Sys466) Class diagrams (with operations) (Sys466) More detailed user interfaces (Sys466) Output report designs(Sys466)

23 23 How the Object-oriented Software Development Life Cycle is used in the Systems courses PRJ566 Design and Project Management Techniques – Design a complete system from scratch using all of the analysis and design techniques learned in SYS366 & 466 – Control the progress of the design using project management techniques – Pass or fail course based on the soundness of the design

24 24 How the Object-oriented Software Development Life Cycle is used in the Systems courses Code and Test: (PRJ666) – Code and install system – Define and create databases – Defines ‘the system’ – Deliverables: Program code and documentation Tested, working system

25 25 How the Object-oriented Software Development Life Cycle is used in the Systems courses Implementation: (PRJ666) – The working system is delivered – Deliverables: Hardware Databases Data Converted Software installed Support processes implemented – This phase actually happens in varying levels of detail at the end of each cycle – Pass or fail course based on whether or not the system is implemented

26 26 Why the move to Object-oriented Methodology? – Software Development is too expensive Poor Quality Late Delivery Poor Productivity Too much person-power needed Fragile systems Legacy Systems User Interfaces not state of the art

27 27 Why the move to Object-oriented Methodology? – Software Developers are being asked to Develop more sophisticated systems Tackle more complex systems Produce more reliable and malleable systems Shorten the delivery cycle Reduce costs

28 28 Software Development Some common causes for Failure: – Deadlines that cannot be met – Budgets that have been exceeded – Solutions that don’t work – Systems too complex to maintain – Customer’s requirements not fully understood or captured correctly – Customers continually change their requirements – Customers are not committed to the project

29 29 How does the Object-oriented SDLC help to overcome these problems in Software Development? The system under development is refined and transformed through analysis, design, code and test phases – details are added in successive iterations (changes and improvements are introduced as needed) and incremental releases of software modules are delivered. System design – developing information systems using UML by Leszek A. Maciaszek (page 5, 2001)

30 30 Iterative Nature of the Software Development Life Cycle

31 31 SDLC Variations Developers encounter many variations of SDLC in practice. Based on: – Phases – Iteration – Emphasis on people – Speed of development BUT you have to understand the basic methodology before you can vary it

32 32 What is expected of me in SYS366? SYS366 requirements


Download ppt "1 SYS366 Week 1 - Lecture 1 Introduction to Systems."

Similar presentations


Ads by Google