Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 561 – Software Engineering Review Carlos Jensen.

Similar presentations


Presentation on theme: "CS 561 – Software Engineering Review Carlos Jensen."— Presentation transcript:

1 CS 561 – Software Engineering Review Carlos Jensen

2 Introduction What is Software Engineering? How is Software Engineering different from Programming/development? What do Software Engineers do? Ethical considerations as Software Engineers

3 What Do Software Engineers Do? Requirements –Gathering –Analysis Design Project management –Staffing –Progress –Development methods Risk management Evaluation Documentation Support Missing Anything? Which parts have you been involved in? Which parts have you not been involved in?

4 Requirements definition System design Sub-system development System integration System installation System evolution System decommissioning From Sommerville, p25+28+29 Software Engineering Process

5 Life-cycle models

6

7

8

9 ?

10 Agile/Extreme Programming? What is Agile/XP? –Key techniques & practices of XP Iterative development cycle Test-first mentality Pair-programming Prototyping Why is Agile/XP popular/interesting? –How is Agile/XP different? –How is Agile/XP the same?

11 Project & Risk management Sources of uncertainty Requirements Match (UI/interface) Changing Environment Resources Management (support & talent) Supply Chain Politics Conflict Innovation Scale

12 What is risk management? Risk discovery Exposure analysis (probability * cost/damages) Contingency planning Mitigation Ongoing transition monitoring

13 Core Risks 1.Inherent scheduling flaw 2.Requirements inflation 3.Employee turnover 4.Specifications breakdown 5.Poor productivity

14 Project & Risk Management cost capabilityduration defect density Target : $70K Target : 30 wks Target : 4 defects/Kloc Target: 100% Managing expectations & Trade-offs Planning for the unforeseen

15 Project & Risk Management cost capabilityduration defect density Target : $70K Target : 30 wks Target : 4 defects/Kloc Target: 100% Managing expectations & Trade-offs Planning for the unforeseen

16 Work breakdown & scheduling Activities, milestones & deliverables Task dependencies & scheduling Activity networks Gantt charts Margins for error (slack in the schedule)

17 Managing team Costs/problems of adding new programmers to existing project Diminishing returns on programmer productivity Problems to be overcome in adding new people to a project

18 Optimal Size for Interaction Number of people with whom developer must frequently interact Developer communicates regularly with eleven people. Communication time outweighs benefits of interaction Developer communicates regularly with no one. No communication time lost, but developer is too isolated and has no help. Key:= engineer Approximate optimal range 37 Effectiveness per developer

19 Cost estimation Types of costs –Hardware Costs –Travel & Training costs –Effort costs KLOC Function points Object points Magnitude, overhead, margins General approaches to cost estimation

20 Requirements

21 Requirements gathering Ethnographic methods Interviewing Questionnaires Focus groups Studying documentation and artifacts Participatory design Prototyping Goal-oriented analysis …etc

22 Requirements analysis Scenarios Use-cases “Profiles” IEEE requirements specification documents Goal-oriented analysis Prototypes

23 Modeling requirements Data-flow model Composition model Architectural model Classification model State transition model

24 Problems with requirements? Consistency problem Completeness problem Ambiguity/lack of clarity problem …. Solution? –Formal specifications…?


Download ppt "CS 561 – Software Engineering Review Carlos Jensen."

Similar presentations


Ads by Google