Presentation is loading. Please wait.

Presentation is loading. Please wait.

Lecture 2: Software Production & Processes Dr Valentina Plekhanova University of Sunderland, UK

Similar presentations


Presentation on theme: "Lecture 2: Software Production & Processes Dr Valentina Plekhanova University of Sunderland, UK"— Presentation transcript:

1 Lecture 2: Software Production & Processes Dr Valentina Plekhanova University of Sunderland, UK http://www.cet.sunderland.ac.uk/~cs0vpl/SE-Com185.htm

2 Lecture 2Valentina Plekhanova 2 Process: Definitions “Connected series of actions” “Series of operations deliberately undertaken” “A set of partially ordered steps intended to reach a goal.”

3 Lecture 2Valentina Plekhanova 3 Process: Types Work processes Production processes Development processes Social processes Management processes …

4 Lecture 2Valentina Plekhanova 4 Production Process Production Production is the process of manufacturing or growing something in large quantities. Production Production is the process of organising and preparing a programme, or record, in order to present it to the public.

5 Lecture 2Valentina Plekhanova 5 The Software Production Process: Definition and Goals production of software A process is the set of actions, tasks and procedures involved in producing a software system, throughout its life cycle, i.e. the production of software is involved at all stages of the process. goal of production process The goal of production process to satisfy customers’ requirements by delivering quality products in time and within budget.

6 Lecture 2Valentina Plekhanova 6 The Software Production Process: Critical Factors cognitively driven process Software production is a cognitively driven process (or an intellectual activity). instability and uncertainty Software production is characterised by high level of instability and uncertainty, e.g. requirements change continuously, lots of factors can influence on the cognitive processes.

7 Lecture 2Valentina Plekhanova 7 The Software Production Process: Critical Factors A "good" software process must be predictable: cost estimates and schedules must be met, and the resulting product should be robust and offer the required functionality.

8 Lecture 2Valentina Plekhanova 8 The Software Production Process: Problems predictable, reliable stable How to make the process predictable, reliable and stable. automate How to automate the software production process.

9 Lecture 2Valentina Plekhanova 9 The Software Production Process: Solutions Use of software production process models, standards and development methodologies.

10 Lecture 2Valentina Plekhanova 10 What are Software Engineering Methods? What are Software Engineering Methods? [Sommerville] Software engineering methods Software engineering methods are structured approaches to software development (e.g. function-oriented methods, object oriented methods) which include system models, notations, rules, design advice and process guidance. An aim is to facilitate the production of high quality software in a cost effective way.

11 Lecture 2Valentina Plekhanova 11 What are Software Engineering Methods? What are Software Engineering Methods? [Sommerville] All methods are based on the idea of developing models of a system which may be represented graphically. There are no ideal methods. Different methods can be used for different applications.

12 Lecture 2Valentina Plekhanova 12 The Software Production Process: Emphasis Different organisations have different ways of producing software placing emphasis on different aspects of the process. It can be the issue of documentation. Some organisations produce software which is self-documenting, other evaluate and re-evaluate each step of the process checking designs before coding and so on, requiring authorisation for any changes.

13 Lecture 2Valentina Plekhanova 13 The Software Production Process: Emphasis Some organisations devote half of their budget to intensive testing. With other organisations it is maintenance. The emphasis depends on the organisations and their problems/preferences, culture, etc. The emphasis depends on the organisations and their problems/preferences, culture, etc.

14 Lecture 2Valentina Plekhanova 14 The Software Production Process : Automation machine The machine can often help the human, sometimes even automatically, to avoid errors, work faster and concentrate the attention at the conceptual level.

15 Lecture 2Valentina Plekhanova 15 Software ProductionKey People Software Production: Key People Client, Developer & User These people are the principal personnel in the building of software.

16 Lecture 2Valentina Plekhanova 16 Software Production: Key Roles  Definitions of their roles include: Client: individual or organisation, which wants a product to be developed. Developer: member of the organisation who will be responsible for producing the software. User: person on whose behalf the client has commissioned the developers, and who will utilise the software.

17 Lecture 2Valentina Plekhanova 17 Software Production: Key Roles The term software development covers all aspects of software production before the product enters the maintenance phase.  Therefore, the developer could be involved in the requirement analysis onwards, or in the implementation stage of a product designed by someone else.  The client and developer can be part of the same organisation.

18 Lecture 2Valentina Plekhanova 18 Software Production: Major Tasks major software development tasks According to emphasis on software tasks (Milestone tasks) we can define the following major software development tasks:

19 Lecture 2Valentina Plekhanova 19 Key Software Development Tasks what Analysis (work out what to do); Managementwho Management ( e.g. work out who can do it); how Design (work out how to do it); do Implementation (do it); check Testing (check it); deliver Deployment (deliver it).

20 Lecture 2Valentina Plekhanova 20 Structured Process Models: Goals [Boehm, 1988] order of stages Determine the order of stages involved in software development and evolution; transition criteria Establish the transition criteria for progressing from one stage to the next.

21 Lecture 2Valentina Plekhanova 21 Software Development Phases  Feasibility Study  Requirements Phase  Specification Phase Planning Phase Planning Phase Design Phase Design Phase Implementation Phase Implementation Phase Testing Testing Maintenance Phase Maintenance Phase Requirements Phase

22 Lecture 2Valentina Plekhanova 22 Software Development Phases: Processes  Requirements Engineering Process Engineering Process  Planning Process Design Process Design Process Implementation Process Implementation Process Testing Process Testing Process Maintenance Process Maintenance Process How? Change What? What?

23 Lecture 2Valentina Plekhanova 23 Week 4: 24.02.03- 28.02.03 Project Control Session Project Control Session Tutorial Time: 10 minutes for each Team Tutorial Time: 10 minutes for each Team  Project Team will present project file: Schedule, any project documentation.  Students will describe where they are in the project and any problems encountered.  During the discussion reviewers will ask to see evidence of deliverables for any tasks that are complete to determine whether they have in fact been done.


Download ppt "Lecture 2: Software Production & Processes Dr Valentina Plekhanova University of Sunderland, UK"

Similar presentations


Ads by Google