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 Today What is Software Development Overview of Software Development What is a system? Systems Development Lifecycle (SDLC) The Systems Stream Sys366 overview and requirements

3 3 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.

4 4 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 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.

5 5 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. a shared understanding of how things work.

6 6 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

7 7 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

8 8 History of Software Development 1970s/1980s: Mainframe Centralized processing The Mainframe Punch card technology Applications Utility bills Voting Machines Modern Application Chip development

9 9 History of Software Development 1980s/1990s: Mid-Range Centralized/Distributed processing 1990s: Client/Server Data Warehousing Distributed processing

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

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

12 12 Software Development Approaches Structured Worked well for centralized processing applications Object Oriented Works for GUI and web solutions

13 13 Software Development Approaches Structured 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)

14 14 Software Development Methodologies Object Oriented 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 Object-oriented Development OO is fundamentally different from traditional software development Object-oriented approach Real world objects are modeled into corresponding programming objects. Objects have state, behaviour and identity.

16 16 Systems Development Life Cycle (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

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

18 18 SDLC Aids for Software Development Methodologies Comprehensive guidelines to follow for completing every SDLC activity Collection of techniques Examples: Structured, OO

19 19 SDLC Aids for Software Development Techniques Collection of guidelines that help the Developer complete a system development activity or task Step-by-step instructions General advice

20 20 SDLC Aids for Software Development Models Representation of an important aspect of the real world Diagrams and charts Project planning aids Rational Rose

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

22 22 Object-oriented Systems Development Life Cycle 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: Activity Tables (Sys366) Use Case Diagrams (Sys 366) Scenarios (Sys466) Initial User Interfaces (Sys366) Class Diagrams (with attributes only) (Sys466)

23 23 Object-oriented System Development Life Cycle 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) Deployment diagrams Class diagrams (with operations) (Sys466) More detailed user interfaces (Sys466) Output report designs(Sys466)

24 24 Object-oriented Systems Development Life Cycle 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 Object-oriented Systems Development Life Cycle 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

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 more 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 Systems 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? Do we need to know all the abbreviations? Not all, but many apply to the course content directly, e.g. OOA, OOD, UML. You need to know them all if you want a job in this field. Does this course need a lot of memorization or does it need a lot of understanding (Logic)? Mostly understanding. Logic, yes, both inductive and deductive. Curiosity and Creativity are also very important. The Systems courses engage the whole brain and person more than almost any other course in the curriculum. What is the overall idea or main point does a student need to focus on? What does the customer really need to run the business? Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.

33 33 What is expected of me in SYS366? Does this course need a lot of memorization or does it need a lot of understanding (Logic)? Mostly understanding. Logic, yes, both inductive and deductive. Curiosity and Creativity are also very important. The Systems courses engage the whole brain and person more than almost any other course in the curriculum. What is the overall idea or main point does a student need to focus on? What does the customer really need to run the business? Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.

34 34 What is expected of me in SYS366? What is the overall idea or main point a student needs to focus on? What does the customer really need to run the business? Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.

35 35 What is expected of me in SYS366? see the course home page cs/~sys366 for details What do students really need to know in this course? Everything I talk about in class is important to the course and/or to being a computing systems professional. Generally, I do not distinguish between the two. Neither should you. Do they need to know all the abbreviations? Not all, but many apply to the course content directly, e.g. OOA, OOD, UML. You need to know them all if you want a job in this field. You taught about the operations of a company, but I do not quite understand what the concept behind it is. Company operations: doing the work of the company, i.e. delivering the products and/or services of the company to the customers. e.g. selling cars, shipping parts orders, fixing cars, bookkeeping and administration. In this course, does it need a lot of memorization or does it need a lot of undestanding (Logic). Mostly understanding. Logic, yes, both inductive and deductive. Curiosity and Creativity are also very important. The Systems courses engage the whole brain and person more than almost any other course in the curriculum. What is the overall idea or main point does a student need to focus on? What does the customer really need to run the business? Document those needs so both the customer and the business/computer system professionals clearly understand what the system will do to satisfy those needs.


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

Similar presentations


Ads by Google