Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Software Engineering Exam: Introduction to Concepts and Methods, Exams of Software Engineering

sdaiudhabfwefgbvjhebfesd gd dhmd ns

Typology: Exams

2019/2020

Uploaded on 07/12/2020

amit-gangwar-1
amit-gangwar-1 🇮🇳

1 document

1 / 44

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Ivan Marsic
Rutgers University
LECTURE 1: Introduction
Lecture time: 1 hr. 20 min.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c

Partial preview of the text

Download Software Engineering Exam: Introduction to Concepts and Methods and more Exams Software Engineering in PDF only on Docsity!

Ivan Marsic

Rutgers University

LECTURE 1: Introduction

Lecture time: 1 hr. 20 min.

Course Information

Web:

http://www.ece.rutgers.edu/~marsic/Teaching/SE

Lecture Notes:

http://www.ece.rutgers.edu/~marsic/books/SE

Textbooks (see more on the course website)

  • (^) Bruegge & Dutoit: Object-Oriented Software Engineering: Using UML, Patterns and Java, Third Edition, Prentice Hall, 2010. | ISBN 0-13-
  • Miles & Hamilton: Learning UML 2.0 , O’Reilly Media, 2006. ISBN: 0-596-00982- 2

Complexity Example:

Scheduling Fence Construction Tasks

Setting posts

[ 3 time units ]

Cutting wood

[ 2 time units ]

Painting

[ 5 time units for uncut wood;

4 time units otherwise ]

Nailing

[ 2 time units for unpainted;

3 time units otherwise ]

Setting posts  Nailing, Painting Cutting  Nailing

…shortest possible completion time =?

4 [  “simple” problem, but hard to solve without a pen and paper ]simple” problem, but hard to solve without a pen and paper ]

More Complexity

Suppose today is Tuesday, November 29

What day will be on January 3?

[ To answer, we need to bring the day names and the day numbers into coordination, and for that we may need again a pen and paper ]

The Role of Software Engg. (1)

Customer Customer

Programmer

A bridge from customer needs to programming implementation

First law of software engineering

Software engineer is willing to learn the problem domain

(problem cannot be solved without understanding it first) (^) 7

The Role of Software Engg. (2)

8 Customer:

Requires a computer system to achieve some business goals

by user interaction or interaction with the environment

in a specified manner

System-to-be Software-to-be System-to-be Software-to-be User Software Engineer’s task:

To understand how the system-to-be needs to interact with

the user or the environment so that customer’s requirement is met

and design the software-to-be

Programmer’s task:

To implement the software-to-be

designed by the software engineer

Environment

May be the

same person

Problem-solving Strategy

Divide-and-conquer:

Identify logical parts of the system that each

solves a part of the problem

Easiest done with the help of a domain

expert who already knows the steps in the

process (“how it is currently done”)

Result:

A Model of the Problem Domain

(or “domain model”)

10

How ATM Machine Might Work

Window clerk

Bookkeeper

Safe keeper

Datacenter

liaison

Dispenser

Safe

Cash

Transaction

record

Phone

Speakerphone

Bank’s remote datacenter Domain Model How may I help you? Customer 11

Software Engineering Blueprints

 Specifying software problems and solutions

is like cartoon strip writing

 Unfortunately, most of us are not artists, so

we will use something less exciting:

UML symbols

 However …

13

Second Law of Software Engineering  Software should be written for people first

  • (^) ( Computers run software, but hardware quickly becomes outdated )
  • (^) Useful + good software lives long
  • (^) To nurture software, people must be able to understand it 14

Waterfall Method

Deployment &

Maintenance

Requirements

Design

Implementation

Testing

Waterfall

method

16

Each activity confined to its “phase”.

Unidirectional, no way back;

finish this phase before moving to the next

UML – Language of Symbols

«interface» BaseInterface

  • operation() Actor ClassName

attribute_1 : int

attribute_2 : boolean

attribute_3 : String

  • operation_1() : void
  • operation_2() : String
  • operation_3(arg1 : int) Software Class Three common compartments:
  1. Classifier name
  2. Attributes
  3. Operations Comment Class1Implement + operation() Class2Implement + operation() Software Interface Implementation Interaction Diagram doSomething() instance1 : Class1 instance5 : Class2 instance8 : Class doSomethingElse() doSomethingYetElse() Inheritance relationship: BaseInterface is implemented by two classes Stereotype «» provides additional info/ annotation/ explanation 17

UML = Unified Modeling Language

Online information:

http://www.uml.org

Understanding the Problem

Domain

System to be developed

Actors

– Agents external to the system that interact with it

Concepts/ Objects

– Agents working inside the system to make it function

Use Cases

– Scenarios for using the system

19

ATM: Gallery of Players

Actors (Easy to identify because they are visible!)

Bank’s remote datacenter System (ATM machine) Bank customer (^1 ) 7 48563 0 9 (^1 ) 7 48563 0 9 Bank’s remote datacenter System (ATM machine) Bank customer 20