Presentation is loading. Please wait.

Presentation is loading. Please wait.

Visual Basic: An Object Oriented Approach

Similar presentations


Presentation on theme: "Visual Basic: An Object Oriented Approach"— Presentation transcript:

1 Visual Basic: An Object Oriented Approach
1 – The Software Life-Cycle

2 Introduction to Software
Software is… the combination of instructions and data a computer system uses to perform tasks complex in structure and detail difficult to construct can involve the development of many inter-related components Software development needs a plan!

3 Software Structure A software system involves information (data)
processes (operations) an organisational structure (some way of relating the operations and the data they must work on) Large-scale structure

4 Objects Even in small software systems..
a lot of data many different types of operation very complex interactions between them Objects combine items of data with the operations that work on them including links to other objects

5 Visual Basic Objects Visual Basic can be used to create Object-Oriented Programs Facilities to create… New types of object Forms (user-interfaces – a specific type of object) Models of systems in which objects interact with each other Object Interactions

6 Developing Software Scale is important. Consider the differences between building… A small garden wall A house A multi-storey building The scale of a project should dictate the amount of analysis, planning and design work performed on it.

7 The Software Life-Cycle
The software development process takes place over a number of phases… Find out what is required Design a suitable solution to the requirements Build a system to the design Test to make sure it works as designed Work with the system, changing it to meet changing requirements and repairing faults as they emerge Different software developers approach these phases in different ways.

8 Factors that affect the form of the software life-cycle…
the size of the project the number of developers the size of the company that employs the developers the level of formality applied to development the developers’ expertise and experience the customers’ experience of software deployment

9 Waterfall life-cycle Features… Advance planning of whole process
Fully planned allocation of resources Rework can affect one or all phases Very late emergence of any working software

10 Evolutionary Prototyping life-cycle
Features… Suits small projects and small teams Early feedback to customer Unknown project completion date Customer can cause project to drag on (possibility of feature creep)

11 Object-Orientation in the life-cycle
The decision to develop an object-oriented solution affects the whole process… Requirements Analysis: identify objects Design: describe objects in terms of their attributes and capabilities Implementation: create objects as designed Test objects in isolation and to ensure they interact properly Upgrade objects and introduce new object and interactions during software use phase.

12 Software Requirements Specification
State what the software is to do Start with a clear description Decompose into individual requirements The software should maintain a list of names and contact telephone numbers. Add names and numbers to a list Remove entries from the list Retrieve a number given an name Generate a printout of the list on a printer

13 Requirements Specification II
Add names and numbers to a list Remove entries from the list Retrieve a number given an name Generate a printout of the list on a printer Identify objects (nouns) in the requirements Convert plurals to singular Remove from the list… duplicates synonyms incidental nouns that refer to objects with no responsibilities vague or non-specific items (e.g. ‘details’, ‘information’) nouns that describe simple attributes (colour, height) objects that might be responsibilties e.g. PrintOut (vagueness of language has confused a noun with a verb) Name (attribute of Entry) Number (attribute of Entry) List Entry Printout (responsibility of List) Printer

14 Requirements Specification III
Assign responsibilities to the objects in the remaining list Each object should be responsible for something action or operation (or it is probably not an object) In some cases, a responsibility may not be until you consider the requirements of similar things in other programs. E.g an Entry does not just appear on a screen or printout – it must be made responsible for this List Add entry, Remove entry, Find entry, PrintOut Entry Display, Print Printer PrintText

15 Algorithms An algorithm is the step-by-step description of an operation May involve repeating some steps May involve deciding whether to include some optional steps An algorithm is commonly devised by task-decomposition (top-down decomposition)… Take a task and break it into a two or more sub-tasks Break each sub-task down and repeat until each individual step is tractable …or sub-task synthesis (bottom-up composition)… Combine incremental operations that you know how to do to form bigger operations

16 Objects and Algorithms
Objects have capabilities Either… we have designed them for a specific task (top-down decomposition) …or… they already exist and we will make use of their capabilities in a new task (bottom-up composition) Either way, we can implement an algorithm by creating collaborations between objects :List [for all entries in list]: print :Entry :print :Printer

17 Summary Software development is complex and needs careful planning – a life-cycle approach is often used Software is a combination of information (data) and operations (instructions) The way that these are combined is the structure of the software Objects are used to create smaller structures that can collaborate on a major task In object-oriented design, we need to… Identify the objects needed to do the task Appoint these objects with responsibilities Orchestrate the objects to collaborate on the overall task


Download ppt "Visual Basic: An Object Oriented Approach"

Similar presentations


Ads by Google