Software Engineering CIS 490 - PowerPoint PPT Presentation

1 / 81
About This Presentation
Title:

Software Engineering CIS 490

Description:

1- Online participation , ... Buying a Pizza from a restaurant. But , is this actually a plan ? It might be ... Cooking book car. Are all put together to ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 82
Provided by: keit58
Category:

less

Transcript and Presenter's Notes

Title: Software Engineering CIS 490


1
Software Engineering CIS 490
  • How to build professional software ?
  • (Spring 2001 Version)

2
Lets know each other
1- Your academic background 2-Your Software
Engineering Background 3- What do you expect to
learn from this course ?
3
Your Instructor Osama Eljabiri Preferable e-mail
omae_at_home.com Education Work experience Research
interests Office hours Monday ,Wednesday 4-530
4
Course Resources 1- Class attendance 2- Web
board Online conference 3- Course website which
includes Lecture notes 4- Text book 5- Other
references 6- Group collaboration in group and
NOT individual work 7- Extra efforts (learning
by doing) 8- Your instructor (Online conference
, at office , or via e-mail)
5
Web board online Conference demo http//webboard.
njit.edu/
6
Some Webboard Benefits Group
communication Poting Chating Paging
Attachments E-mail Notifications
7
VERY IMPORTANT Registration is due
yesterday! Due time This Sunday with your first
online assignment Introduce your self
8
Course Website demo www.cis.njit.edu/ Osama
9
Introduction
  • The course name is
  • Guidelines in Software Engineering
  • Our main area of concentration is
  • software design
  • Our text book is
  • The practical guide to Structured Systems design
  • Melier Page Jones
  • 2ND edition
  • Available at the NJIT Book store

10
More references
1- Software Engineering , by Ian Summerville 2-
Object Oriented modeling and design, by
rambaugh Plenty of other books through our
course website
11
Five reasons why you should take this course
and take it seriously! Because you love play
station .. Backward understanding from killer
applications to killer projects ( NAPSTER , XBOX
, THE BRIAN , AMAZON.COM) Shocking numbers about
IT advancement and SE increasing
importance After all of these classesNow lets
start make money.. Even if you are a great
programmer you might end up off business within
few decades software is us (software development
is a social learning process ..built by us from
us to us And it is very interdisciplinary .. No
matter where you are coming from you will find
here some thing for you) wake up and get a
career.. (Some real statistics about job
opportunities)
12
Software industry growing at 12/year (pre Web!),
about 500B/year o Hardware performance doubles
every 18 months, which is 4 per month Try to
understand the magnitude of this statement! o
Memory follows pace 1985 I had a 128KB
Macintosh, today I have 40MB on my PC. Thats
256x in 12 years, or about 2x every 18 months
(same as hardware). Implication you guys have
to write 60 more software than last years class
(to use all this new memory and processing
power) this is why youll have no trouble
getting jobs if you can write quality software.
13
Grading
14
How to choose your project 1- Find a Group to
work with (Group 4 people) 2- Find a problem you
want to solve by a computer application (Try
some titles on our course website) (Avoid both
very simple and very complicated
projects) 3-Write an abstract for this project
along with names of group members 4- Post your
abstract online 5-Start doing part 1 Rule of
thumb Partition your work informing me with
whom is doing what Sample good projects
available at my office Due time for abstracts
Wednesday Jan24th ,2001
15
What is perfect participation ? 1- Online
participation , assignments and activities 2-
Class assignments , participation and
attendance 4-Extra credit opportunities
16
What are Extra Credits This is a the extra
credits part of of your grade (if any). It
includes Extra credit questions Excellent
Contributions Outstanding performance Quantity
and quality of EIES/VC participation Extra
credit exam Extra credit paper Extra credit
final exam questions Any other types of extra
credits
17
Awards and prizes 1- Excellence center 2-
Honor list 3- Extra credits 4- Real prizes 5-
Reference letters 6- Other supporting
ways
18
Excellence center For excellent and creative
students A new way of being a productive
person for yourself and others During the first
two weeks I will select the center members among
Well participating and performing students
19
Course Ethics 1- attendance (Dont miss
classes) ( Dont come at the end with very
serious reasons!) (Take permission for leaving
the class or not being able to attend) 2-
Listening 3- talking (Know how to present
yourself in the proper time in a proper way) 4-
Cheating _at_ copy and paste techniques (The fastest
way to get a guaranteed grade) 5- Loyalty (after
semester is over)
20
  • What we will learn in this course ?
  • Mainly The 4 Ps and their techniques
  • The process
  • The Project
  • The Problem
  • The Product
  • and their techniques

21
  • Some Helpful background ?
  • knowledge of system analysis concepts
  • ( for example course CIS 390)
  • Business experience and background
  • Skills in modeling tools
  • ( for example VISIO software , or Lotus
  • Free Lance)
  • Structured programming
  • Human psychology

22
Overview
  • Good news The book is written in a very plain
    and simple English , with good examples
  • Bad news We have to cover 7 sections and 13
    chapters in almost 13 weeks , we must work hard
  • The book contains an excellent appendix from A
    to E a very useful glossary

Tools
Introduction
Quality
Management
Analysis
Beyond design
Strategies
23
Lets Take a quick review of some important
concepts !
24
Getting started A real life example ( with
apology to hungry fellows !) Look at the two
following sentences Is there any thing
wrong with this logic ?
I want to eat Pizza. I am enjoying a Pizza meal
now
25
I want to eat Pizza
Problem
I am enjoying a Pizza now
Solution
26
Can we just jump from a problem to a solution
? Isnt there is some thing missing in our
mental system?
27
Yes !!!! It is the plan , and our very simple
model will be like this
Problem
Plan
Solution
28
  • Now what could be a suggestion for a plan for the
    previous example
  • Making a Pizza in house
  • Buying a Pizza from a restaurant
  • But , is this actually a plan ?
  • It might be a very general one,
  • Or we might consider it a part of the problem
    itself.

29
  • How can we be more specific in our plan ?
  • Start implementing the general idea of the plan
    then think about details during the
    implemenation
  • Put a step by step procedure
  • Determine the components of our general plan
    and how they interact with each other

30
  • Lets do that to our Pizza Problem !
  • By s step-by step procedure
  • By identifying components and how they react
  • Or even by start doing some thing before planning

31
  • Let us assume that we are making the Pizza in
    house
  • The procedural plan will be something like this
  • Determine type of Pizza required
  • Purchase ingredients
  • Prepare cooking tools
  • Start implementing
  • The other way is
  • You shop Ingredients
    cooking device
  • Cooking book car
  • Are all put together to provide a solution ?

32
Can we make a diagram of each method we have been
used ? First procedural plan is diagrammed
Fill in the spaces
33
Second , the components diagram is established
Food store
You
Ingredient
Cooking book
Cooking device
Car
34
Can you name the
relations in the previous diagram ? Why we
havent diagram the just do and then think or
so called method ? If we want to utilize the
modern IT can you think about a very quick and
efficient way for this Pizza delivery , and come
up with a method number four?
35
Actually what we have been doing so far is
exploring the several approaches in software
development These approaches or methodologies
from the Pizza problem where 1- Just do and
then plan Classical Approach 2- Step by step
Procedure Structured approach 3- Interactive
components Object-Oriented approach 4 Utilizing
the IT Object oriented business process
reengineering approach
36
In the previous example we have diagrammed our
plans as diagrams What are the advantages of
using these Diagrams?
  • 1- Understandability
  • 2- Common language
  • 3-simplicity
  • 4-Accuracy
  • Plus . Plus

37
So what is design ?
It is these diagrammed plans when are applied to
software after a real world analysis . There is
one significant difference ! Our final product
! In our example it was a Pizza In our design
project it will be a software application
38
Officially speaking
In the Random house college dictionary Design
is Outline , sketch , or plan of the form or
structure of the work In our book It is the
activity of transforming a statement of what is
required to be accomplished into a plan for
implementing that requirement on an electronic
automaton
39
What can we imply from this definition ?
  • Design must come before implementation
  • Making design doesn't provide the final solution
    yet

40
That is the main topic in software engineering
In many times software engineering is called
design
41
What is Software Engineering ?
  • One definition It is designing, building and
    maintaining large software systems
  • Another Definition It is Methods , tools and
    procedures to develop high quality software in a
    productive and efficient manner and control the
    project effectively

42
What is the importance of Software engineering in
Business today ?
  • The economies of ALL developed nations are
    dependent on software
  • More and more systems are software controlled
  • Software engineering is concerned with theories,
    methods and tools for professional software
    development
  • Software engineering expenditure represents a
    significant fraction of GNP in all developed
    countries

43
Another significant aspect here is Software costs
  • Software costs often dominate system costs. The
    costs of software on a PC are often greater than
    the hardware cost
  • Software costs more to maintain than it does to
    develop. For systems with a long life,
    maintenance costs may be several times
    development costs
  • Software engineering is concerned with
    cost-effective software development

44
Scope of Software Engineering Software
engineering is a discipline whose aim is the
production of fault-free software, that is
delivered on time, within budget, and satisfies
the users needs.
45
Scope of Software Engineering Historical
Aspects 1967, a NATO group coined the term
Software Engineering 1968 NATO Software
Engineering Conference concurred that Software
production should be an engineering-like
activity. Using philosophies and paradigms of
established engineering disciplines to solve
Software Crisis that the quality of software
was generally unacceptably low and that deadlines
and cost limits were not being met.
46
Scope of Software Engineering Economic
Aspects Software Engineering v.s. Computer
Science The computer scientist investigates
several ways to produce software, some good and
some bad. But the software engineer is
interested in only those techniques that make
sound economic sense. For example A coding
technique that can execute very efficiently but
with higher maintenance cost may not be a
good choice.
47
Scope of Software Engineering Maintenance
Aspects Software Life Cycle / Software
Process Requirements Phase Specification
(Analysis) Phase Planning Phase Design
Phase Implementation Phase Integration
Phase Maintenance Phase (highest cost among all
these phases) Corrective, and Adaptive
Maintenance Retirement
48
(No Transcript)
49
(No Transcript)
50
Team Programming Aspects Most software being
developed and maintained by a team of software
engineers Scope of software engineering must
also include techniques for ensuring that teams
are properly organized and managed. For
example, team programming leads to interface
problems among code components and communication
problems among team members.
51
Several techniques have been suggested to help
solve the software crisis. 1975-1985
Structured Paradigm Structured Systems
Analysis, Composite/Structured Design,
Structured Programming, Structured Testing Lead
to major improvements for software industry.
But only good for small programs (say,
5,000-50,000 lines of codes) Not scale well
with today larger programs (say,
500.000-5,000,000 LOC) Not so good in software
maintenance aspects, (for instance, because of
the separation of action-oriented and
data-oriented in structured paradigm).
Object-Oriented Paradigm An object is a unified
software component that incorporates both data
and actions that operate of those data.
52
(No Transcript)
53
(No Transcript)
54
(No Transcript)
55
(No Transcript)
56
(No Transcript)
57
(No Transcript)
58
(No Transcript)
59
(No Transcript)
60
(No Transcript)
61
(No Transcript)
62
(No Transcript)
63
(No Transcript)
64
(No Transcript)
65
(No Transcript)
66
(No Transcript)
67
(No Transcript)
68
(No Transcript)
69
(No Transcript)
70
(No Transcript)
71
(No Transcript)
72
(No Transcript)
73
(No Transcript)
74
(No Transcript)
75
(No Transcript)
76
Requirements Engineering
77
Our first focus in this class will be on
structured design So , why is the structured
design ? What are the benefits of using this
approach ?
  • user oriented , how?
  • Simplicity ,how?
  • Understandability,how ?
  • Provides with good strategies , how ?
  • Quality assurance
  • Inexpensive , reliable and it is able to cure
    ills

78
(No Transcript)
79
Vocabulary
  • Software engineering terminology is very rich and
    we will try to make our own dictionary from this
    domain in this course.
  • Some Examples are
  • SDLC , OOAD , DFD ,ERM , Black box and so forth..

80
Summary
  • What have we learned today ?
  • Q A session
  • Feedback and suggestions

81
Enhance your knowledge
  • Read about the modern structured analysis ,
    adopted by Yardun
  • Read about integrating structured and
    objected-oriented methodologies together
  • Literature review Who else wrote about this
    topic?
  • List of books, articles, electronic sources
  • Consulting services, other sources
Write a Comment
User Comments (0)
About PowerShow.com