What is the module about?

29
OOSSE Week 1 What is the module about? As you can see from the schedule this is a practical module New skills! It must be underpinned with background reading and wider SE practice where directed As always we only have 12 weeks and so do not get overwhelmed by the subject matter Slide 1 [email protected], n.a.shulver@s taffs.ac.uk

description

What is the module about?. As you can see from the schedule this is a practical module New skills! It must be underpinned with background reading and wider SE practice where directed As always we only have 12 weeks and so do not get overwhelmed by the subject matter. Skills include. - PowerPoint PPT Presentation

Transcript of What is the module about?

Page 1: What is the module about?

OOSSE Week 1What is the module about?

As you can see from the schedule this is a practical moduleNew skills!

It must be underpinned with background reading and wider SE practice where directed

As always we only have 12 weeks and so do not get overwhelmed by the subject matter

Slide [email protected], [email protected]

Page 2: What is the module about?

OOSSE Week 1Skills includeA summary of the software engineering skills to impart to

you:-How to program using OO software engineering

techniquesOO Web development skillsAwareness and use of object oriented methods (UML)Database integrationGood practice

Slide [email protected], [email protected]

Page 3: What is the module about?

OOSSE Week 1In contextOther aspects of software engineering are covered by

other modulesProject management/Systems

Analysis/Communications/Computer hardware and software

All the above topics come under the umbrella of software engineering can seem confusing until you realise that software

engineering involves a set of stages and tools

Slide [email protected], [email protected]

Page 4: What is the module about?

OOSSE Week 1SE scopeWe need to understand what software engineering is and

how it came aboutWhy use it?How to use it - the lifecyclesImprovementsFuture of software engineering

Slide [email protected], [email protected]

Page 5: What is the module about?

OOSSE Week 1What is SE?An approach to software development to embody the same

discipline and rigor found in the engineering worldAdvantages include:

Speed/productivity improvementsRe-use of existing, well-tested subsystemsMeasurable outcomes

Slide [email protected], [email protected]

Page 6: What is the module about?

OOSSE Week 1History 1The “software crisis”, recognised C1969. - threatened the

progress of the computer industryPeople-time was and still is relatively expensive, machine-

time is now very cheap.Programming was and still is very time intensive.Products need support - probably more than everSoftware is complex; imagine creating a car with no

drawings, specifications or planning.Software “lives” – it somewhat “erodes” with age –

contexts, details, standards and usage change

[email protected], [email protected]

Page 7: What is the module about?

OOSSE Week 1TrendsThe price of computer hardware is still falling fast

The cost of computer software is still high

More and more products are incorporating microprocessors (and thus software),e.g car engines, cameras, TV sets and mobile phones

Hundreds of millions of personal computers are in use, often in strategic roles.

[email protected], [email protected]

Page 8: What is the module about?

OOSSE Week 1TrendsPersonal, corporate, national and international economies

are increasingly dependent on computers, computer-mediated communication and software systems

Some commercial software is still written in old COBOL (and new Object Cobol!) and has been modified and patched by generations of engineers

Some of our most complex feats of engineering are computer programs

[email protected], [email protected]

Page 9: What is the module about?

OOSSE Week 1

Programming; Development

Programming is much more than just writing code.Programming involves (at least) the following activities;-

Problem analysis,Planning,Code and interface design,Coding, Debugging and Testing,Documenting each activity.

Do you all agree?

[email protected], [email protected]

Page 10: What is the module about?

OOSSE Week 1

And incorporates documentation

Documentation is more than just a listing of the finished program.

Documentation involves all of the following;-Records of the analysis of the problem,The time & resource plan,Technical and User documents,Records of all bugs and bug fixes,Records of test input and output.

[email protected], [email protected]

Page 11: What is the module about?

OOSSE Week 1The people aspectIT personnel now expected to have a range of skillsThere are many different roles with a software

development projectPeople may join or leave a development team, roles can

change

[email protected], [email protected]

Page 12: What is the module about?

OOSSE Week 1Top ten IT skills listswww.sap-img.com, 2010

1. J2EE 2. .Net 3. C# 4. Project Management 5. Oracle 8 and 9i 6. SAP 7. Business Analysis 8. VB.net 9. NT Novell 10. Other non-J2EE Java

careerfruits.com SiliconIndia, 2010

SAPJavaC++PHPIT Infrastructure Management Oracle.NetEmbedded C++CMobile Java/C

[email protected], [email protected]

Page 13: What is the module about?

OOSSE Week 1Software Development Lifecycles.

Software engineering helps to co-ordinate the team so that they are “on the same page”

How does it help? LifecyclesAutomation of tasks

Since the software crisis of the 70’s, software developers have been looking for a solution…to increase programmer productivityto increase the quality of softwareto decrease software production costs

Why? Because industry (the users) were fed up waiting for software and because it was costly

[email protected], [email protected] 2009

Page 14: What is the module about?

OOSSE Week 1Software DevelopmentLife Cycle(SDLC) - Classical

Software Engineering has identified several classical life cycles with different complexities, different aims and different outcomes.

Its up to you which one you choose and can of course be a combination of more than one

SDLCs include (see tutorial session for links)CyclicWaterfall/CascadeEvolutionary‘V’DSDM

[email protected], [email protected] 2009

Page 15: What is the module about?

OOSSE Week 1Nature of SDLCsAll life cycles describe a process that you use to produce

software They are practical and are worth employing? <discuss>

You need to have some understanding of all of them

They all have common features - stagesSystems Analysis and Design or Requirements

engineering module typically involves a couple of stages in the software development life cycle

[email protected], [email protected] 2009

Page 16: What is the module about?

OOSSE Week 1CyclicCyclic features

Easy to useUseful for bespoke/one off systems with no

maintenanceNo definitive start or finish to the processIncludes a recognition of management involvementCan be difficult to control

[email protected], [email protected] 2009

Page 17: What is the module about?

OOSSE Week 1Cyclic

[email protected], [email protected] 2009

Contract for a Project

Requirements/Specification

Design andCode

Testing and Acceptance

Next version

Idea for a projector product

Concepts/Feasibility

Maintenance

Managementyes/no

Page 18: What is the module about?

OOSSE Week 1WaterfallOne of the most famous SDLC’s - a waterfall because the

stages of the lifecycle follow the premise of one stage following another

Still shows a somewhat cyclic nature to software development.

Shows the possibility of rework.Includes maintenance as a vital part of the cycle.No inbuilt control or management recognition (a weakness)

[email protected], [email protected] 2009

Page 19: What is the module about?

OOSSE Week 1SDLC (waterfall)

[email protected], [email protected] 2009

System/SoftwareRequirements

Analysis

Design

Code

Test

Release

Maintenance

Page 20: What is the module about?

OOSSE Week 1EvoThe Evolutionary life cycle is quite different from most other

cycles.Tom Gilb is credited with this SDLCIt’s main principle is that of the surrounding environment

and therefore the requirements continually change!/evolveTherefore an SDLC must reflect this positionEvo produces many small steps/ products towards an

overall goal.It is VERY difficult to control.Many people argue that it is the ONLY way to achieve a

quality product

[email protected], [email protected] 2009

Page 21: What is the module about?

OOSSE Week 1EvoEvo’s guiding principles are :-

Deliver something to a real end-userMeasure the added-value to the user in all critical

dimensionsAdjust both design and objectives based on observed

realities.

[email protected], [email protected] 2009

Page 22: What is the module about?

OOSSE Week 1Evo

[email protected], [email protected] 2009

useful deliveryto user steps

heading towardsinitial objectives

initial objectives

changed objectives

revised coursetowards newobjectives

Evolutionary Life Cycle.

Page 23: What is the module about?

OOSSE Week 1‘V’The ‘V’ life cycle is an extension of the waterfall life cycle.It includes elements of Quality Assurance at every stage.Looks at the whole of the projectNo obvious management, but inbuilt control through QA.

[email protected], [email protected] 2009

Page 24: What is the module about?

OOSSE Week 1‘V’

[email protected], [email protected] 2009

Requirements Acceptance Test

Maintenance

Analysis System Test

High level Design

Integration Test

Low level Design

Module Test

Code Unit Test

V Life Cycle

Page 25: What is the module about?

OOSSE Week 1ConclusionSoftware Development life cycles describe the process

used to produce software.Questions to always ask:

What does it achieve?What doesn’t it achieve?How could you alter it to be better?

[email protected], [email protected]

Page 26: What is the module about?

OOSSE Week 1Insight – ability to reflect You must identify your life cycle.You must identify the requirements for your life cycleYou should look at possible ways to improve it.Question :- Should there be one life cycle for the

team/project?What are the benefits and problems of such a

suggestion?What are you going to do about it?

[email protected], [email protected]

v1.3Sept 2009

Page 27: What is the module about?

OOSSE Week 1Conclusion contdAs we have discussed - some of the life cycles don’t

include recognition of project management and controlProject management and control is CRUCIAL and you will

find in industry/books reference being made to the Project Development Life Cycle(PDLC)

The SDLC fits inside a PDLC - it is the life cycle for the software development part of the project(of course that may be the whole of the project)

Slide [email protected], [email protected]

v1.3Sept 2009

Page 28: What is the module about?

OOSSE Week 1

The complete software developer?

A Software Engineer!SE includes both technical and non-technical elements, so

software engineers must be able to communicate well, both orally and in writing.

They must have a thorough knowledge of computer systems and must understand the importance of project management, user feedback, documentation and quality control

So easy ….!!!

[email protected], [email protected]

Page 29: What is the module about?

OOSSE Week 1The futureSE still as relevant today as it was in 1970Tools have changed and will continue to do soCASE tools have had limited success - specialised tools tend to

be used for each stageModelling, Design, Testing, Optimisation etc.UML is interesting as it is universal

New sets of challenges appeared in the latter part of the 1990’s - web development – we will look at this later on in the module when we cover JSP

Requirements capture as important as ever for the success of a project….this has not changed in being still the area most prone to getting it wrong

Still evidence of projects failing however…..why? <discuss>

Slide [email protected], [email protected]