Вы находитесь на странице: 1из 26

CS3733 Software Engineering

Lecture #1

WPI

Course Overview
What is this course about? How is this course different than other courses? Who am I? Who else is on the course staff? What is expected of you?

WPI

Course Content
Text: Software Engineering An Object-Oriented Perspective by Eric J. Braude Software disciplines
Requirements Analysis and Design Testing Implementation Project management

WPI

Course Content
Project
Implement an electronic exercise logbook Teams of 4 (one with 5) http://www.cs.wpi.edu/~gpollice/cs3733d04/Project.html

WPI

Reality

WPI

Administrivia
myWPI Project Web site How to do well

Do the homework

Time expectation ~15 hours a week Grades


W

Keep up with the project

WPI

Overview
From Braudes Slides

WPI

Definition of Engineering
The profession in which a knowledge of the mathematical and natural sciences gained by study, experience, and practice ... -- Accreditation Board for Engineering and Technology
W

WPI

The profession in which

Definition of Engineering

a knowledge of the mathematical and natural sciences gained by study, experience, and practice is applied with judgment to develop ways to utilize, economically, the materials and forces of nature for the benefit of mankind
W

-- Accreditation Board for Engineering and Technology, 1996

WPI

Basic Activities of Software Engineering 1/2 defining the software development process to be used managing the development project
chapter 1

describing the intended software product designing the product


W

introduced in chapter 2; also referenced in the remaining chapters chapters 3 and 4 chapters 5 and 6

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

10

Basic Activities of Software Engineering 2/2 implementing the product


i.e. programming it

testing the parts of the product integrating the parts and testing them as a whole maintaining the product
W

chapter 7 chapter 8

chapter 9

chapter 10

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

11

The Four Ps of Software Engineering

* People
(by whom it is done)

WPI

* Symbology from [Ja1]; explained in chapter 1


12

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

The Four Ps of Software Engineering


Unified Process Matrix

*
Requirements Analysis

Jacobson et al: USDP

Inception Elaboration

Construction
..

Transition
Iter. #k

Prelim. Iter. .. Iter. Iter. iterations #1 #n #n+1

Iter. Iter. .. #m #m+1

People
(by whom it is done)

Process

Design Implementation Test

(the manner in which it is done)

WPI

* Symbology from [Ja1]; explained in chapter 1


13

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

The Four Ps of Software Engineering


Unified Process Matrix

* People
(by whom it is done)

Jacobson et al: USDP

Inception Elaboration

Construction
.. Iter. #m

Transition
Iter. .. #m+1 Iter. #k

Prelim. Iter. .. Iter. Iter. iterations #1 #n #n+1

Requirements

Process

Analysis Design Implementation Test

(the manner in which it is done)

Project
W

(the doing of it)


E

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

14

The Four Ps of Software Engineering


Unified Process Matrix

* People
(by whom it is done)

Jacobson et al: USDP

Inception Elaboration
Prelim. iterations

Construction
.. Iter. #m

Transition
Iter. .. #m+1 Iter. #k

Iter. .. Iter. Iter. #1 #n #n+1

Requirements

Process

Analysis Design Implementation Test

(the manner in which it is done)

Project
(the doing of it)
W

Product
(the application artifacts)

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

WPI

* Symbology from [Ja1]; explained in chapter 1


15

Process (chapters 1 & 2)

Set of activities carried out to produce an application

Development sequence:
Waterfall Iterative
Requirements Analysis Design Implementation Test

Unified Process Matrix


Jacobson et al: USDP

Inception Elaboration

Construction
.. Iter. #m

Transition
Iter. .. #m+1 Iter. #k

Prelim. Iter. .. Iter. Iter. iterations #1 #n #n+1

WPI

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

16

Process (chapters 1 & 2) Waterfall Iterative

Set of activities carried out to produce an application


Unified Process Matrix
Jacobson et al: USDP

Development sequence:
Requirements Analysis Design Implementation Test

Inception Elaboration

Construction
.. Iter. #m

Transition
Iter. .. #m+1 Iter. #k

Prelim. Iter. .. Iter. Iter. iterations #1 #n #n+1

Process frameworks:
Personal Software ProcessSM Team Software ProcessSM Capability Maturity ModelSM -- for organizations

Standards:
W

Institute of Electrical and Electronic Engineers International Standards Organization WPI ...

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

17

Graphics reproduced with permission from Corel.

Project
people workflow

Set of activities carried out to produce an application OO: very useful paradigm

WPI

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

18

Project

people

flow of work

Set of activities carried out to produce an application Object Orientation: very useful paradigm
Unified Modeling Language: design notation Legacy systems: common starting point
W

enhancement or usage of existing system

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

19

Product -- the application and


associated artifacts, including: Requirements (chapters 3 & 4) explain what product is meant to be Garland and Shaw's classification

Artifacts

Software architecture (chapter 5) Detailed design (chapter 6)


W

Software Requirements Specification

Design model

WPI

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

20

Product -- the application,


and associated artifacts, including: Requirements (chapters 3 & 4) Software architecture (chapter 5) Detailed design (chapter 6)
explain what product is meant to be use Garlan and Shaw's classification

Artifacts

Software Requirements Specification

Implementation (chapter 7)
W

use the language of Design Patterns emphasize standards employ selected formal methods.

Design model

Test artifacts (chapters 8 and 9)

WPI

Test procedures; test cases


21

Source & object code

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

Quality
Application must satisfy predetermined standards. Methods to attain quality goals: Inspection (introduced in chapter 1) applied to all stages of the process.
W

team-oriented process for ensuring quality

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

22

Application must satisfy predetermined quality level. Methods to attain quality level: Quality Inspection (introduced in chapter 1)
team-oriented process for ensuring quality applied to all stages of the process. Formal methods (introduced in chapter 1) mathematical techniques to convince ourselves and peers that our programs do what they are meant to do applied selectively

Testing at the unit (component) level (chapter 8)


W

Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

at the whole application level (chapter 9) Project control techniques (chapter 2) predict costs and schedule WPI control artifacts (versions, scope etc.)
E

23

Decide Initial Team Issues 0. Set the meeting agenda and time limits.
(chapters 1 and 2 cover this is more detail)

1. Choose the team leader. 2. Decide how the team will communicate.
See figure tbd.

3. Identify the customer.


The party or parties who want this application.

4. Get an understanding of the project in general terms.


W

Dont be embarrassed if project seems too vague to you. Probe until you are comfortable.

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

24

Set Team Expectations


1. Get everyones commitment to taking required time
Define an expected average number of hours per week If not forthcoming:
Industrial: alert management

Gather dates of planned absences

Academic: inform instructor; implement written mutual evaluations

2. Choose team emphasis: accomplishment / learning

Accomplishment (capable product): get a good mix of leadership, technical, writing, customer relations

Learning: sacrifice accomplishment by allowing members to experience new activities. Understand managers / instructors emphasis.
W

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

25

Specify How the Team Will Communicate


1. General policy: if in doubt, communicate. Redundancy is OK! 2. Meeting: The team will meet each Wednesday from 8 a.m. to 10 a.m. in room 671, unless notified of a change. 3. Meeting alternative: Team members should keep Mondays 4 to 6pm open in case an additional meeting is required. 4. Standards: The word processing used will be Ajax release 9. e-mail should be via BestMail release 4 -- if this is not possible, the e-mail should be verified as being compatible, especially for attachments. 5. Preferred mode of electronic communication: Unless a communication is of very limited interest to the group, it should be posted to the group site, www.xxx.yyy with automatic notification to every member. The subject format should be Attn. <name(s)>: subject matter. 6. Alternative mode of electronic communication: For 1-1 communication of very limited group interest, members will use e-mail and/or telephone. 7. Acknowledgement: Team members should acknowledge all electronic communication specifically targeted to them, whether asked to acknowledge or not. Senders should follow up on all significant communication that is not acknowledged.
W

WPI
Adapted from Software Engineering: An Object-Oriented Perspective by Eric J. Braude (Wiley 2001), with permission.

26

Вам также может понравиться