CPS 406 Lecture Notes - Perfective Aspect

405 views8 pages
Published on 19 Apr 2013
School
Ryerson University
Department
Computer Science
Course
CPS 406
CPS406
Introduction to Software Engineering:
Course Introduction and Administrivia
Dr. Vojislav B. Mišiċ
Unlock document

This preview shows pages 1-3 of the document.
Unlock all 8 pages and 3 million more documents.

Already have an account? Log in
Overview of the first week
Me, myself, and I (very very briefly)
What is Software Engineering and why study it?
Course information and administrivia
Software development lifecycle models
Who am I? How to get in touch?
Vojislav B. Mišiċ, a.k.a. dr. Voja (pronounced Voh-ya)
The easiest way to reach me: send email to vmisic@scs.ryerson.ca
(which I check often … very often … perhaps even too often –
that is, several times per day)
I'm usually in the office (ENG279) every day from something like
9 or 10 am to 4 pm, so feel free to drop by
Note: it helps ENORMOUSLY to email first for an appointment
What and Why
What Are We Going To Talk About
Description of CPS406 Introduction to Software Engineering from
the official guide says:
This course introduces the study of Object-Oriented software
engineering. Topics include software project management,
requirements gathering, requirements analysis, modeling, design,
implementation and testing. UML diagrams and design patterns are
also discussed. A major portion of the course is a team project,
taking a system from the initial requirements to the final
implementation. (2 hr Lab every other week).
Unlock document

This preview shows pages 1-3 of the document.
Unlock all 8 pages and 3 million more documents.

Already have an account? Log in
Software Is Programming, Right?
Writing a program is easy …
Developing a software product is hard …
Developing high quality software product is even harder
Software has to be good, cheap, and fast – but experience has
shown that you can independently pick at most two of these (Brooks
1976)
In fact, most software projects are delivered late, exceed the budget,
and don’t provide the required functionality (in many cases, all of the
symptoms are present)
…which is why the term “software crisis” is quite frequently used
since the 1968 NATO symposium in Germany
Why Software Needs Engineering
High-quality software products are effective (they perform according
to specifications) and efficient (they do it well) and provide value for
money
Or at least we’d like them to be efficient and effective and to provide
value
Now, planes, trains, and automobiles are generally effective and
efficient and provide value
As these are engineering products built mostly on time, within
budget, and to specifications, the obvious conclusion is that we
should try to
Make Software Development an engineering discipline
Great Idea! Right?
Well, yes and no
On the plus side, software development could benefit from
engineering practices…
Yet software is different from planes, trains, and you-know-what (as
you probably know, but I’ll take the liberty to remind you
nevertheless)
Therefore, the process of designing and building software must
differ from the process of designing and building planes, trains, and
you-know-what
In fact, maybe Software Engineering is not really engineering?
Perhaps it should be Software Craft?
Or even Software Art? How About Software Magic?
So What is Software Engineering?
Application of (appropriate) engineering practice(s) to software
development
Treating computers and all related stuff as problem-solving tools to
design and implement solutions to business problems
Application of a systematic, disciplined, quantifiable approach to the
development, operation, and maintenance of software (IEEE 1990)
Multi-person construction of multi-version software (Parnas 1978)
Unlock document

This preview shows pages 1-3 of the document.
Unlock all 8 pages and 3 million more documents.

Already have an account? Log in

Document Summary

Me, myself, and i (very very briefly) Vojislav b. mi i , a. k. a. dr. voja (pronounced voh-ya) The easiest way to reach me: send email to vmisic@scs. ryerson. ca (which i check often very often perhaps even too often that is, several times per day) I"m usually in the office (eng279) every day from something like. 9 or 10 am to 4 pm, so feel free to drop by. Note: it helps enormously to email first for an appointment. Description of cps406 introduction to software engineering from the official guide says: This course introduces the study of object-oriented software engineering. Topics include software project management, requirements gathering, requirements analysis, modeling, design, implementation and testing. Uml diagrams and design patterns are also discussed. A major portion of the course is a team project, taking a system from the initial requirements to the final implementation. (2 hr lab every other week). Developing a software product is hard .

Get OneClass Grade+

Unlimited access to all notes and study guides.

YearlyMost Popular
75% OFF
$9.98/m
Monthly
$39.98/m
Single doc
$39.98

or

You will be charged $119.76 upfront and auto renewed at the end of each cycle. You may cancel anytime under Payment Settings. For more information, see our Terms and Privacy.
Payments are encrypted using 256-bit SSL. Powered by Stripe.