CS 180 – Introduction to Software Engineering by oxu11283

VIEWS: 12 PAGES: 19

									               CS 180 – Introduction to
                Software Engineering
                           Winter 2010


                              Iulian
Neam+u


UC Riverside      CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                            Administrivia

        •  Class
web
page

               –  h5p://www.cs.ucr.edu/~neam+u/teaching/
                  Winter2010/CS180/index.html

        •  Instructor

               –  Office:
EBU
2,
room
412

               –  Office
hours:
TR
3:40
p.m.
–
4:40
p.m.

        •  TA:
James
Herold

               –  Office
hours:
WR
12:30
p.m.
–
2:00
p.m.
in

                  EBU2,
room
130


UC Riverside          CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                                 Textbook




  Fundamentals of Software Engineering (2nd edition) by Ghezzi, Jazayeri, Mandrioli
UC Riverside         CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
               Tentative grade scale




UC Riverside     CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                                   Grading
     •  Project:
50%

           –  20%
intermediate
assessment
+
30%
final

              assessment

           –  read
the
guideline!

     •  Midterm:
20%





(February
2)

     •  Final
Exam:
25%


(March
15)

     •  Quizzes:
5%

           –  Unannounced,
at
the
beginning
of
class;
be
on

              +me,
a5end
the
labs,
read
the
assigned
material
!

           –  Lowest
score
dropped

UC Riverside        CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                     Academic integrity

        •  What
cons+tutes
academic
dishonesty?

               –  Chea+ng,
fabrica+on,
plagiarism,
unauthorized

                  collabora+on
(or
facilita+ng
any
of
these)

        •  What
are
the
penal+es
and
sanc+ons
for

           academic
dishonesty?

               –  Minimum:
receiving
an
F
for
the
class
and
adding
a

                  record
of
viola+on
to
the
student's
file


               –  Maximum:
dismissal
from
the
University

        •  Ignorance
is
no
excuse

               –  See
the
course
syllabus
for
details


UC Riverside           CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                       Lecture plan

               Introduc+on

               Sogware
Produc+on
Process

               Specifica+on

               Design
and
Sogware
Architecture

               Verifica+on

               Management
of
SE

               Tools
and
Environments


UC Riverside   CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
               Software Engineering
                                 A
Preview




                                     (Chapter 1)




UC Riverside     CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                                Definitions
        •  The
applica+on
of
engineering
to
sogware

        •  Field
of
computer
science
dealing
with

           sogware
systems

               –  large
and
complex

               –  built
by
teams

               –  exist
in
many
versions

               –  last
many
years

               –  undergo
changes




UC Riverside          CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                                 Definitions

        •  Applica'on
of
a
systema'c,
disciplined,

           quan'fiable
approach
to
the
development,

           opera'on,
and
maintenance
of
so:ware

           (IEEE
1990)


        •  Mul+‐person
construc+on
of
mul+‐version

           sogware
(Parnas
1978)

               –  programming:
primarily
personal
effort


               –  engineering:
essen+ally
team
effort





UC Riverside           CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
           SE versus other disciplines

        •  Specifica+on/solu+ons
fuzzier
than
in
other

           engineering
disciplines

               –  e.g.,
bridges
or
amplifiers



        •  SW
engineers
rely
more
on
experience
and

           judgment
than
math

               
Is
this
good
or
bad?




UC Riverside          CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
          Role of SE in system design

        •  SE
part
of
larger
projects

               –  Sogware
requirements
to
be
balanced
against

                  others

                  •  e.g.,
telephone
switching
systems

                     –  certain
requirements

can
only
be
met
by
HW,
SW,
and

                        special
devices

                  •  other
examples:
power
plants,
financial
services,

                     hospital
administra+on





UC Riverside           CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
                    History, perspective

        •  The
field
of
sogware
engineering
was
born
in

           1968
in
response
to
chronic
failures
of
large

           sogware
projects
to
meet
schedule
and

           budget
constraints


               –  Recogni+on
of
"the
sogware
crisis”

        •  Sogware
500
(global)
rev.
for
FY07:
$451
bln

               –  Top
3
(IBM,
Microsog,
EDS):
$140
bln

               –  U.S.
highway
and
bridge
construc+on:
$79
bln


                 













(sources:
Sogware
Magazine,
ARTBA)

UC Riverside            CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
               Essence vs accident in SE



 Exercise:
Are
sogware
engineers
be5er
off
today

   than
they
were
5,
10,
or
20
years
ago?

  
What
has
changed,
and
what
has
stayed
the

   same?



UC Riverside       CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
               Essence vs accident in SE


 •  Frederick
P.
Brooks

       –  essence:
SW
design
and

          specifica+on
are

          inherently
complex

       –  accident:
tools
can
be

          be5er

       –  “no
silver
bullet”




UC Riverside       CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
               Role of software engineer
        •  Programming
skill
not
enough


               














Why?





UC Riverside              CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
               Role of software engineer
        •  Programming
skill
not
enough

        •  SE
involves
"programming‐in‐the
–large"

               –  understand
requirements
and
write
specifica+ons

                  •  derive
models
and
reason
about
them

               –  master
sogware


               –  operate
at
various
abstrac+on
levels

               –  member
of
a
team

                  •  communica+on
skills

                  •  management
skills





UC Riverside           CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
               The software lifecycle
                    (a preview)

                                                             waterfall model




UC Riverside     CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu
Reading for next class: Chapters 2,3




UC Riverside   CS 180-Introduction to Software Engineering, Winter 2010   Iulian Neamtiu

								
To top