CW 40yO - Alabama Agricultural and Mechanical University · “Structural Specification-based...

36
V COLLEGE OF ENG:NEE TECHNOLOGY&PHYS:CA ALABAMA A&M UNIVE Y NORMAL′ AL 35762 CW 40yO lnstructor Name: Dr. Yujian Fu V Spring Semester 2OL4

Transcript of CW 40yO - Alabama Agricultural and Mechanical University · “Structural Specification-based...

V

COLLEGE OF ENG:NEERING′

TECHNOLOGY&PHYS:CAL SCiENCES

ALABAMA A&M UNIVERS:丁 Y

NORMAL′ AL 35762

CW 40yOlnstructor Name: Dr. Yujian Fu

V

Spring Semester 2OL4

Name Dr. Yujian Fu

SCHOOL OF ENGINEERING,

TECHNOLOGY & PHYSICAL

SCIENCES

Alabama A&M University

Normal, AL 35762

COURSE SYLLABUS

Spring 2014

Course Number 10848

Course Title

Software Engineering

Call Number/Section

CMP401/0

Class Times 11:00 – 12:20 Tuesday, Thursday

Class Location

Room 102, Engineering & Technology Building

Prerequisites

CMP 215, 384, senior standing

Textbook

Roger S Pressman, “Software Engineering: A Practitioner's

Approach,” 7th

edition, McGraw-Hill Science, ISBN-13: 978-

007337597-7 (primary textbook)

Instructor Yujian Fu

Office 333 ETB

Office Hours Monday 1330-1530, Tuesday 830-1030pm, Wednesday 1330-1530,

Thursday 830-1030, Friday 1330 - 1530 other time by appointment

E-mail address [email protected], or [email protected]

Telephone number 256-372-8461

COURSE DESCRIPTION

Explores the traditional approach to software construction, software crisis, and software characteristics.

Covers various software engineering paradigms, and the fundamental concepts of analysis, design, coding,

testing and maintenance. Introduces various CASE tools.

REFERENCES AND READING MATERIALS

Class notes and reading materials will be posted on the blackboard.

J. Dick and A. Faivre. “Automating the Generation and Sequencing of Test Cases from Model-

based Specifications”. Proceedings of FME '93: Industrial-Strength Formal Methods, Springer-

Verlag Lecture Notes in Computer Science Volume 670, 1993, Odense Denmark, 268--284.

P. Stocks and D. Carrington. “A Framework for Specification-based Testing”. IEEE Transactions

on Software Engineering, 22(11):777--793, November 1996.

Jeff Offutt, Yiwei Xiong and Shaoying Liu. “Criteria for Generating Specification-based Tests”.

Fifth IEEE International Conference on Engineering of Complex Computer Systems

(ICECCS’99), Las Vegas NV, October 1999, 119-131. (PDF)

J. Chang and D. Richardson. “Structural Specification-based Testing with ADL”. Proceedings of

CMP 401, Sections 0 Page 2

Spring 2014 ________________________________________________________________________________________________________

__________________________________________________________________________________ *Dates are estimates. Examinations on dates should follow the university handbook.

2

the 1996 International Symposium on Software Testing, and Analysis, ACM Press, January 1996,

San Diego CA, 62--70.

Ronald W. Ritchey and Paul Ammann. “Using Model Checking to Analyze Network

Vulnerabilities”. Proceedings 2000 IEEE Computer Society Symposium on Security and Privacy,

Oakland, CA, May 2000.

Yujian Fu, Zhijiang Dong and Xudong He. “Formalizing and validating UML architecture

description of web systems”. Proceedings of Second international workshop on model driven web

engineering (MDWE'06), CA, USA, 2006.

Paul C. Jorgensen and Carl Erickson. “Object-oriented Integration Testing”. Communications of

the ACM, 37(9): 30 – 38, 1994.

Clementine Nebut, Franck Fleurey, Yves Le Traon, and Jean-Marc Jezequel. “Automatic Test

Generation: A Use Case Driven Approach”. IEEE Transactions on Software Engineering, Vol 32,

no 3, pages 140 – 155, March 2006. (PDF)

Supaporn Kansomkeat and Wanchai Rivepiboon. “Automated-generating test case using UML

statechart diagrams”. Proceedings of the 2003 annual research conference of the South African

institute of computer scientists and information technologists on Enablement through technology

(SAICSIT’03), pages: 296 – 300, 2003, South Africa. (PDF)

Ye Wu, Mei-Hwa Chen, and Jeff Offutt. “UML-based Integration Testing for Component-based

Software”. Proceedings of the Second International Conference on COTS-Based Software

Systems, Lecture Notes In Computer Science; Vol. 2580, pages: 251 – 260, 2003. (PDF)

STUDENT LEARNING OUTCOMES

1. Understand the traditional approach of software development process, software characteristics,

software quality, ethics issues, crisis issues and software development cost and management.

2. Understand and be able to use basic software engineering methodologies to solve large scale

software/software-intensive system development. Understand and be knowledgable about existing

tools of some software engineering methodologies.

3. Be knowledgable of software testing strategies and be able to use basic software testing

technologies to validate program.

CLASS FORMAT

1. Students are expected to attend all lectures and labs.

2. Students need to silence cell phones, stop discussion, and stop doing other unrelated things during

class.

3. All homework assignments must be submitted on blackboard before the end of the due date.

4. Any assignments submitted one week later than due date will have 20% cut off the grade. No

assignment is accepted one week after the due date.

5. Programming assignment must be submitted with electronic copy (source code). Hard copy is not

accepted and will not be graded. For the late submission, the softcopy must be emailed to me.

6. No late submission of quizzes, tests and exams.

7. All assignments must be finished on the individual basis. All identical works will result zero grade

for all individuals involved.

8. Course assessment includes Pop-up tests/quizzes, tests and exams, none of them will be made up.

The only excuse for missing an exam is verifiable cases of illness and emergencies and religious

holy days. Please check the dates of the exams and inform me of any conflicts with religious holy

days as soon as possible.

9. During tests and exams, write the answers legibly. No cell phones, pagers or calculators are

allowed.

10. Cheating in any form will result in a failing grade in addition to university stipulated penalties.

PROJECT POLICIES

1. Optional project will be provided in a separated file and loaded to Blackboard.

CMP 401, Sections 0 Page 3

Spring 2014 ________________________________________________________________________________________________________

__________________________________________________________________________________ *Dates are estimates. Examinations on dates should follow the university handbook.

3

2. You may be able to choose other topics you want.

3. Your project must be in reasonable size and be able to finish in 4-weeks.

4. Two deliverables of your project is required and schedule of project deliverables are available in

Blackboard account.

SERVICES FOR PERSONS WITH DISABILITIES

The University provides environmental and programmatic access for persons with documented disabilities

as defined in Section 504 of the Rehabilitation Act of 1973 and the Americans with Disability Act of 1990.

Any student who desires information or assistance in arranging needed services for a disabling condition

should contact the Director of Special Students Services, Student Center, Room 203, (256) 372-4263.

ATTENDANCE POLICY

A student is permitted one (1) unexcused absence for each credit hour generated by the

class. Students need to provide university excuse for the class attendance credits back if

the session is missed.

TUTORIAL ASSISTANCE

Tutorial assistance for undergraduate courses can be obtained from the Tutorial Assistance Network (TAN), a subsidiary of the Office of Academic Support Services. TAN is located in Room

100C Buchanan Hall. The telephone number is 256-372-5487. .

GRADE DETERMINATION (Temporarily)

Course Requirements Points Awarded Percent of Total

2-4 assignments and one essay

will be given and counted for the

final grade.

10 10%

2-4 pop-up quizzes will be given

during the semester.

10 10%

1 term project, including 1

prototype, up to 2 project

presentations and demo, 1 project

proposal and 2 deliverables.

40 40%

Reading Materials &

Presentations: 4 to 12 classic

papers for the research and

fundamental topics will be given.

There will be 2 to 3 presentations.

10 10%

Class participation 10 10%

Midterm 10 10%

Final Exam 10 10%

TOTAL

100 100%

Grading Scale

90-100 A

80-89 B

70-79 C

CMP 401, Sections 0 Page 4

Spring 2014 ________________________________________________________________________________________________________

__________________________________________________________________________________ *Dates are estimates. Examinations on dates should follow the university handbook.

4

60-69 D

Below 60 F

COURSE OUTLINE (Temporary)

Week Date Topics Notes

Week 1 Jan 7 – 11 Introduction to Software Engineering

Week 2 Jan 14 – 18 Software development process (chapter 1)

Professional ethics issues in the software

development process

Jan 21, Martin Luther King

Jr. Day Holiday

Week 3 Jan 21 – 25 Agile development (chapter 3)

Requirement modeling (chapter 7)

Week 4 Jan 28 – Feb

1

Design Concepts (chapter 8) Homework #1, references

Week 5 Feb 4 – 8 Advanced Design Concepts (chapter 9)

Week 6 Feb 11 – 15 Quality concepts (chapter 14) Presentation

Week 7 Feb 18 – 22 Software quality assurance (chapter 16) Homework #2, reading

assignment

Week 8 Feb 25 – Mar

1

Formal methods and verification (chapter

21)

Presentation

Week 9 Mar 4 – 8 Software Testing strategies (chapter 17)

Review exam

Midterm Exam (Wednesday,

March 4, 2014)

Week 10 Mar 11 – 15 Spring Recess

Week 11 Mar 18 – 22 Software testing strategies (chapter 17) Reading assignment

Week 12 Mar 25 – 29 Software testing techniques (chapter 18) Homework #4

Week 13 Apr 1 – 5 White box testing (chapter 18) Presentation

Week 14 Apr 8 – 12 Structure testing (chapter 18) Reading assignment,

Presentation (STEM Day)

Week 15 Apr 16 – 20 Project management concepts (chapter 24) Review

Week 16 Apr 22 – 26 Final Exam week Final Exam (TBA)

CMP 401, Sections 0 Page 5

Spring 2014 ________________________________________________________________________________________________________

__________________________________________________________________________________ *Dates are estimates. Examinations on dates should follow the university handbook.

5

Relationship between Course Outcomes and Program Outcomes

Program Outcomes

Program Outcome

1 Students will demonstrate critical knowledge, techniques, and

tools of the discipline

2 Students will apply appropriate and emerging mathematics,

computer science, and engineering technologies to solve problems

3 Students will work as team members and with team leaders

4 Students will have documented abilities for writing and

presentation skills

5 Students will apply one or more modern computer languages to

problem solving

6 Students will clearly express the basis for responsible and

ethical behavior in their profession and recognize the need for

it

7 Students will be able to implement concepts in software

engineering, operating systems, computer architecture, and

algorithm analysis

Program Outcomes – Mapped to Course Outcomes

Program Outcome

Course Outcomes 1 2 3 4 5 6 7

Understand the traditional approach of software development

process, software characteristics, software quality, ethic

issues, crisis issues and software development cost and

management.

X X X X X

Understand and be able to use basic software engineering

methodologies to solve large scale software/software-

intensive system development. Understand and be

knowledgable about existing tools of some software

engineering methodologies.

X X X X

Be knowledgable of software testing strategies and be able to

use basic software testing technologies to validate program.

X X X X

Assessment Plan for the Course

Assessments consist of labs, quizzes, exams, homework assignments, and

Projects. All the tests are Closed-book Closed-notes, and in-class

tests.

How Data in the Course is used to Assess Program Outcomes (unless

adequately covered already in the assessment discussion under Criterion

4)

CMP 401, Sections 0 Page 6

Spring 2014 ________________________________________________________________________________________________________

__________________________________________________________________________________ *Dates are estimates. Examinations on dates should follow the university handbook.

6

Student performance Data as Processed by Performance Assessment Tool

and student survey data are used to look into the improvement of

possible topic areas and their delivery.

For a computer science program

Estimate Curriculum Category Content (Semester hours)

Area Core Advanced Area Core Advanced

Algorithms 0.25 Software design/Tools 0.5

Data structures 0.25 Concepts of

programming languages 0.5

Computer organization

and

architecture/OS/Network

Ethics 0.25

V

V

V

StudentNamα ttMA"uiミ ら久たStudent ID(Last 4 digitめ :セリ/

Date:M′」りの17

Gradα夕1/50

Io Simply anSWer the fol10Wing questiOns(20pts): ①

a)Deine agility and refacto五 ngo Simply descHbe three values ofXP(Extreme

Ⅱ チ球 r葛 鯉 漑 L tti111111べ~“ Cスベ ~夕 品 嶺 副

り鰍 鰍 t∝乃1:ょ缶凛漁 i2」∝and te亜鴨techniques. (5pts) S仲 千機J鎚 |ミ A P/octrJ ,n Whid'r A proJcr,r\ lS,^lNh {* inV'tt

尋ド |:|::メそ||lγ株::|llll::|:ノ ル紺ご 黙

`1彎

em“ 。

4`Jし、 F3u´%漁し―bへ (ゝノ ,c、休t‐ b″涎メ′式っρ_ノ°″nノ ′へJ b・熟h´は

P′

( 4,tr*, qi -I." Pi cL- C^'L''7 )

c) Describe the difference between traditional unit teXting and object-oriented unittsun3 0p→ 鳩 パ“.tunk tt mゝ 懸嶼 。ndバ彎a潮 也r

€r{cr.^\on, 0bj.r.-o..c^kJ un* -eltita incl"J,, arualyzi3 logi..\ 7^bl^ a^l

{" skrttgiu incluie S,*l- b^; drb'.J r ui{ -b^r*J r*{U t a^A

Clusv. +:kiog- :ft 4bo orlcud4$ en cepw\*t,"^, w|,noh is vlv., d ah is

RIIぃ 品“

義 ひレ aへJ can ^.o! & -{{lfJ,

(4占臥試 gict- F'Ms )d) Define the formal specification language. What are the desired properties of formal

methods? Give two examples of formal specification languages. (5pts) \/

6..^\ Specif;cn+io lo"'3uo3e iS 4.u rn At^,n*i br*J -i*<Jrni1,r tL^* /.utr.

wrt\^' ir..plenrn{*h'on ol sq:{"".s anl soR".*.. fiu dui,-] propz"ti.s o.e tL+ 'F.

unru*' th^\ {. ." *"-,^:"". geu wh"+ tke"g \nr^+ a.'l it l*\P, gror*.* +[<

V

bci,'t3 {,'+rl

aP- irnkα り も kバttt aに

一|

V

Page 1

V

V

CMP 401 Fina:ExamStudent Name: Djutaq*i, Da.^s Datc M句 )御岬Studelnt ID(Last 4 digits):Ч ι臀イ

鸞11111∬ itti∬ a■

ing COdい電 鵬 m面 ¨ 坤 油 mib

ray[1.ni Ofinteger′ name:array[1..n10f String′ level

:integer′ personname:string)

④varisJavdouЫ epromO● on:douЫ e

begin

eJaけ Q

θ"=Q

Qハ洪vMにえ恥′'J iQ)9:ET肌尉:[)

bepSa!ary:=400

ひ9JaⅣ・鉤°

apYou must have at least three steps - flow graph, cyclomatic complexity number,and independent path.

V

Page 4 - ―――――― ― _ __ _ _ _ _

Ω

ど拒l鮮1:♭。]礎n

ヌα5&&「o3nく Q助市m

endfor

!ta1..irs L)nis ドl句 |'印 |マ 7ク 刊″

多ι′Zθ イZ ―~杉

瓦入J?御赫キCtK(ハ Aαt ρЙ′ι

fidvc,r.ncfd 恥pi c_■

Page 5

IPI:0∂側 0′み①-0-0″⊂χ舅PZi C卜④Ю-9-0でっ-0¬⊂〉貿z>てD卜 (

LO´〔興}6‐こKD´@

CMP 401 Fina:Exam

v :‖::II常じ ボS Datc MЪ Iノ て191V

ハdvan∝ノToρたユ

V

Page 6

V

a)Deine ttility and refactomgo Simply descHbe thrce values ofXP(Extreme

Programming).(5pts)

でハ(く

“ P″lf製いも f` い櫻ハルごおほ〆ο々 wF十噸′ぐぐ“イ

fル |`いへρr叱「“ρいぜυくれSS,4ハハイMρ√びヴてPrort町

1'ql・7

16れ 呂 ar久|ルeaへ こ払ιぽ“

響 セ、1瀕 冽 TMくA+^いち:L(り lS baSR♂

―「

t毛<(0/仏′ iへ

{ugs F(ゝハイac傷へ仏 `κ Sヾキ伝D/°

どで W`i礼 θ仏l chaルス

`hιご」 llrttL′り鰍蕊 、減 tbwぃぶf∝sting"証 e」∝and tSting -3techniques.(5pts)

P'。(eS S。 (ε cヾr`(` tinっ

a frοりraぃ.1 吹り1` h in澤1#電£↑ザ|,Pギ 1lfiσ{“νr_

II貪」1ltnaなヱliII聰Ψ Jヽ^iεhAfon l,、キ

c)6ぶ I[111」 lょ、きは,嘉L二、raditiOnal unit teSting and ottect-OHented unit一

|

testmg。 (5pts)

讀^nTll撒

l驚l,fょ紺4濯《葛樵υ:11淵腕/駄ぃtキs(l Soひ f(2(。

"′

〔コVttdや しヽめ

CMP 401 Final Exam .. \Student Name, [4avlAr-r Ci$ i t)a',1:':'r:t';

Student ID (Last 4 digits): :j 0

I. Simpty answer the following questions (20pts):

d)Deine the forIInal speciicadon languageo What are the desired propelties Offo.11lal

peciflcation languages.(5pts)

、1鳳 J雷ギ脈ι‖ギ幹」胤者s■Цゝ

‐―ヽ

|

W

Page 1

ιl驚e1/50

θ

V

鞘晶″lfT梶胤し、L、薦侍Student ID(Last 4 digits):;r2】 ら

Date:

III. Please identify the test cases for the following code segment using basis path testing----.(r5pts) ( +t z)Procedure SaleSalary (n: integer, key, task : array[1..n] of integer, name: array[l..n] of string, leVL--/: integer, personname: string)

var j, salary: double; promotion : double

begin

saiary:=0,

i:=0,

personname:=nu‖;

r(

sa!ary:=400

eise

salary:=800

endif

uFl:1la虫ⅢょJけ salary‐∞

〔q eise!evel:=3

20endrendfor

Ц

Ю

螂 mヽふくついし

end

You must have at lefst three steps - flow graph, cyclomatic complexity number,and independent path.

0n v"q xl r, t!'{,re

Page 4

V

W

V

′"イ

|イ h`lク lt rο臓Ploら m麟レrrZヽ -20キ2=θ

_qィtO′ ||

"`

1-Z― ζ―負一ゞ

PЪ :1-2-ゝ「

賀一ι―⊃―)― マーIC'― (と

Pたt`1-2´卜Ц6ヽ 1_ルマ_′0/0-弓―1呵

pゞ| (` 1ち _1ゝ′じ

P6` 11 lЪ

″lη "ヽ 8

)η l {tlЪ

″(1-20

べDいC/

レV

―}

V \

θ↓

0↓

0|

CMP 401 Final Exam

Student Name: '\ Jrvt

Student ID GLast 4 digits):_` t■

'ヽ

I. Simpty answer the following questions (20pts):

--a-51ffo.t^6 ,- ? /> -rrl^Ol{S

→菅爾激漱l蓄

榊孵群T‰血―1311「 kl ρ

"う '次い」い

".Doぃn。 l qlれr拓くマハくレn4, らくいaVivヽ cl k

'{hr{a Vatl. ?J ZLv( w.v\ k 5r\pl(pyuiv. /,1 i .(r;/r{nurn, tal.r-,.' 1et brtrr { 1tr:.tuu-- nc1uh.^h,a.

,t l.' :\

r) qmitr#"Ji;#r+)r, rour rypes ortesring strategies and testing

techniques. (5pts) 'Solfo.a.r k,\nt ..pv0.r5I r,,. ft.ccuEr,^, I q 0\aivuvq1n"l<tn) pl {-,nd.nJ (vy.r,.t,

(tzl trvrl 5ii at ji.r)i. t.rr,l 6, Pr1

?-, I,n_te y., r,i" ^ 5X;:: "r. yLjt(&_,(he4

k!!'1.5-likr.. AeA( adl* a* w"l {u-lc 1)Describe the difEreircd between traditional rtnit testing and object-oriented unittesting. (5pts)- '(,t vrtl kttn) -' .bw Ley\ d\^r. t, f tlrtps\tcth.-.,r . fi)q141 ,-1t(rrrxr i fhr\,/" eF{LU!he"1,OD1e1r vv r(/\t-<o r,..nr!.-.{+v( Lvv' up+ - hp dv-n

翫e粛…r`

V

V

屹"′

×

-2

C)

―カlA F(.j vr^ \"-r Ds iloy\-\"€' b"1 ! av( }c,1td rarirtr ,OY)Jc.+ a^rtr!\Rd (^v\!\'e 'S mqr\.ts S leS\qny 6vrtl. 11 l-tr trnLqF5url,.kd ttls:0c 0b <6,

,, lt,nr'I"r, to 11 :V r.,, htrr, ! u; ( r,nvty. hu4 ar t S.:-lh, a.< .

M.vo"u/ tq'c t\d) Define the formal specification language. What are the desired properties of formal

- l

methods? Give two examples of formal specification languages. (spts) I

Itlau1 Jftrt1ttuhu|t'l'tr;:tut<tuuhtally batz k*-,*rt'<t l-lau+ hitt/,) t.),+4 t$apl<v.AoLho^Otr )y1l<*r a t so-i+*.\< . [\26a.ta1c 5 ]{nlr^r( !hu+ lir ar{ ) FLyy\r?- ..<tS wh.!t .iL

.uun'' ILtf P*<., 1)vu5vra,,,r.ul k)!v\ dl.lLtt+..t1-Al,r'ri^rs,r)n]) ;;

';h**frvrvr.r.l 16utr1.1r,. ' cu:)uve*I.y

V

CMP 401 Final ExamStudent Name: U\vrtrvrt irlW)Student ID (Last 4 digits): tt[lt1

III. Please identiff the test cases for the following code segment using(l5pts)

Date: fu"i t.2atv

O PЮ ceduresaleSJaw(n:integer,key′ task:arraⅥ l J ofinteger′ namc arraⅥ l.n10f st百 ng′ にvd@」威egeら pettonnamα 輌nJ

ISIII“lT@④VariSdavdouЫ epromO● on:douЫ e

begin

salary := 0;

i:=0;personname ;= null;

if (i< n && key[i] < s)

salary := 400

else

メッ…1°ろfblllia畑卜hen s山け劇の1∞

⑮ prOmO百 On.sJary*ね sk/ke"

r"Юmttonく Qη 市酬evel●0 (Z5)

dtt rゎЮmmOn>=Q5&&「om∝ bnく編 thenに vd■ 2

(6,) asetevet := 3w

^ ['l%endif{e)*-*"'/z<\ -

@pbnd

You must have at least three steps - flow graph, cyclomatic complexity number,and independent path.

Page 4

V

V

轟#∬ 叫 Date:′鷺)` 1`1、 ?ο Чヽ

V

V

じ υ

W

Page 6

V

Q'IIZノri.sTs

V

V

V

DeMarquis Davis

April 1 ,2014

,$uLaf-- - (aovarced rcpic z)(, Formal specification language is a mathematical based methodology that provides

systematically analysis and description of systems. OCL is one typical example. OCL is based onthe set theory and first order logic.

2.

Activeinsert smart card

remove smart card

V

DeMaqurs Duvis

V

V

Checkout

/\

\/

4 DVDsfor

S10

10Dヽ

SI

′Ds for

20

30 DV

S:

Ds for]0

Payment Options

V

Student Name: Q BStudent ID (Last 4 digits): 4985

Grade:_Date:0410112014

I . Define formal Specification language and give an example with simple explanation why it is aformal specification language. ( Rdvc^t y*C d TaiPiC 2 iII. Given the descriptions as follows, simply model the system based on the requirements. Youmay choose one of them.

l. Given a copy machine that takes smart card to start. After the user insert smart card, theuser will be requested to input password. If password is validated, the user can start copyand can send the scanned copy to others using email. The menu is shown in the LED.Please define a state diagram using correct UML notations.

2. Given a gas station with 9 stations. Each station has three types of gas (87,90, and 93).Each station can be paid by credit or cash (inside). The LED is used to display the gallonsand totalprice that currently filling. The receipt can be printed if the customer needs.Please define a state diagram using correct UML notations.

3. Given a snack machine that accepts quarters and bills (S I . $5, and $ l0). By selecting theitems, the user can get a snack with enough payment, and dispense the item and change ifthe money is more than the item price. The LED will display each step properly. If thereis not enough money inserted, the user can either insert more money or get the moneyback by press the retum button on top ofthe return slot. Please define a state diagramusing correct UML notations.

4. Given an online DVD rental system. A customer can search, select and check out acertain number of DVDs providing all are available and the program selected. Thereare three programs: a) check out 4 DVDs with $ l0 each month; b) check out l0 DVDswith $20 each month; c) check out 30 DVDs with $30 each month. Please define a state

. diagram using correct UML notations.

Note:1) Make sure you work on these questions individually. Two identical works will get

ZERO.2) If you can finish more than one questions, you may get extra points.

Student Name: Quinterrace BlackmonGrade:_

Student ID (Last 4 digits): _

Formal specification language is used to accurately modelthe system.

Datc:04/01/2014

Validated

MenuOpen

Clickmenu0:Openmenu0:Closemenu0:

Send CopyTo Emails

Request Password

Student Name: _Student ID (Last 4 digits):

-

Grade:_Date:0410112014

I . Define formal Specification language and give an example with simple explanation why it is aformal specification tanguage. (Ac{VCrnCgd Ii}F\( Z )II. Given the descriptions as follows, simply model the system based on the requirements. Youmay choose one of them.

L Given a copy machine that takes smart card to start. After the user insert smart card, theuser will be requested to input password. lf password is validated, the user can start copyand can send the scanned copy to others using email. The menu is shown in the LED.Please define a state diagram using correct UML notations.

2. Given a gas station with 9 stations. Each station has three types of gas (87,90, and 93).Each station can be paid by credit or cash (inside). The LED is used to display the gallonsand total price that currently filling. The receipt can be printed if the customer needs.Please define a state diagram using correct UML notations.

3. Given a snack machine that accepts quarters and bills ($1, 55, and $10). By selecting theitems, the user can get a snack with enough payment, and dispense the item and change ifthe money is more than the item price. The LED will display each step properly. lf thereis not enough money inserted, the user can either insert more money or get the moneyback by press the retum button on top ofthe return slot. Please define a state diagramusing correct UML notations.

4. Given an online DVD rental system. A customer can search, select and check out acertain number of DVDs providing all are available and the program selected. Thereare three programs: a) check out 4 DVDs with $10 each month; b) check out l0 DVDswith $20 each month; c) check out 30 DVDs with $30 each month. Please define a statediagram using correct UML notations.

Note:l) Make sure you work on these questions individually. Two identical works will get

ZERO.2) For questions in part ll. if you can finish more than one questions, you may get extra

points.

V

Student Name: VINCENT LARRY. Grade:_

Student ID (Last 4 digits): 4684_

4.

Datc:04/1/2014

V

`)―

PROJECT

V

DOVTS ,{\ntE , Srni*h

Ac\rrance e\

This isa scrsr*rot of thepplication running this iswhereweae $leto enter the profesorfird and ld naneinto thedat&ase Thesmnd screen*pt *towstheompute scienceprofesor i nformation i nserted.

ffi f:

^ ▲ ^ ^

Atl*

C*nCflstry

&rn"q*

Bo**

Iv

t!

6.xtr1rr?

f,Jrdrrr;

lhis

ffdr,nrrc<d -ToPic X

VI!: Vdidation Mdhodology

Fortel:ng our sfmarq we utt the LЮ ds path tα tting rndhod;い c path tetting is a

wntebOx tding te由 面que[倒 Whte・ bOX ttting isa ted― d● gn phlo∞phy that u―

the∞ntrol drudure d_ibedぉ a pat of∞ mponmtJαd d●gn to dcivetd““

[51 The

園 s「th mdhod mめ lestheted‐""ddgnc to dα

ivealogi硼 ∞mplcxity m― reof a

procdud ddgn ald useitto perform t(慰 ing On ctt path ofthe code[51 ThenOtaiOn we

used to reprent aeteding mdhod istheflow graph notation Thelow graph‖ ludrd∝ the

individua p■h of och ttdu‖ olt ofthe tte a劇 Oow ex力 ptth the tteしd[t`ke

Thsdi∞ral:bdOW Oowsthelow graoh of a司 mmt(n」 ethat we usd in t(慰ing our

progra iド

1)publiC VOid onCr馘∝BundlewodlndmoFatel{2)super Oncrdeltted:n曲∝Satel:

V 3)螢 OontttVie.v(Rlayom.■d」cr′ッra)

4)btn田ⅣeE(ButtOn)find∨ lervByld(RJd sα ,t_わ′″)5)dit」 iは=(EdtTαt)i ndVi卸′Byld(RJd′ sr C・′′■

`ヽ6)di」 at=(EditTα trindvittBJd(R id燃 ′′′rrx′ )

7)側pddeEgd!ntont()"ExtraF)gdB∞1鰤("updatげ )8)i〈ittpdao{

9〉 d=9dlntent()gdExtraa)9dst‖ ng("lD"、

10)fnaneEgdintento"Extrag)gdStnng("Fnand')11】 nanergdl耐 mt()gdExtrべ )9danng("Lnand')12)ediuiは 9dTαt(fmel;13)edi」 蟹 壺Tαt(inarnel;

D伊輌S′手intett′ 5いlth

V

V

Rd\PAa?d 1aprc -1 ぃ ハS,Flへ e`vISい汁

V

Cvciomatic ComDleXitv#

Advorrctd Topic 1

Mdhod 1:#of Regions = 8

Identiting Independent Paths

tP1

tP2

tP3

tP4

tP5

tP6

tP7

tP8

Generate Ted Cre: Therewill beaminimumof 8ted mes for this segmert of mde

lX. Cond uson

ln condusion, the user interface d lows the user to enter and vieirr the profesor's nameSoon, $udents will hare the dility to vieru thd r professor's phone number and ernd I ddressDueto complications, wewere undle to ind ude this information within thisreport. Afterimplanerrting the mntact information, wewill alo include the offtce hours for each profesorwithin the Computer Scierrce depatment. The Findlt 4plication will dlorrv the user to sd etmh professor and vieru the profemr's information. Findlt is dill a work in progress We areconSantly dwdoping ideas on how to implernent this 4plication. As dated bdore, we have a

drong deirefor thisapplication to bea usdul tool throughout the Compute Science depatmant.

Dav \5 . + i rr€y, 5m ;.t1",,

Rderences

ndwαA“● T00` C`L uorwstrT , I'loward

This image, like all the others with parameters that were too large for the target\a/ footprints, is messy and unclear- You can vaguely pinpoint a target, but it's definitely not

clear like the maps that had well estimated parameters. Working on this project showed

us two things. First, Matlab is hard. The second being, Matlab is easy, once you take the

time to understand it. As said before, we felt that working with Matlab was a difficultand big disadvantage. But working on it continuously has showed us how much fun and

interesting it really is.

Validation Methodology

For testing our software, we used the basis path testing method which is called

white box testing technique. This basic path testing is a test-case design philosophy

that uses the control structure that is described as a part of component-level design toderive test case. The basis path method enables the test-case designer to achieve a logical

complexity measure of a procedural design and use it to perform testing on each path ofthe code. The flow graph notation was used and it basically illustrates the individual path

of each statement of the code and shows each path the code can take.

This section is where the white-box testing took place.

1. function Image_CBL : ContrastBoxLevel(lnputlmage, PatchDs);

2. M = PatchDs(l);

3. N: PatchDs(2);

4. P: PatchDs(3);

5. Q: PatchDs(4);

6. II3 : soldiers(1, II1, Inputlmage,ll2);7. II4 : II3(:, 1:N2);

8. II5 : II3(:, (N1-N2+l):Nl);9. II0 : soldiers(2,114,113, II5);

10. Image_CBL : zeros(Ml, Nl );11. for im : (M+N):(P+q)'12. ul : im - MN;13.u2: im + PQ;

14. for in: (N2+l):(Nl+N2);15. vl : in - N2;

16.16.v2: in + N2;

17. W : IIO(ul :u2, vl:v2);18. Image_CBL((N-M), (Q-P)) : max(max(W));

19. End

V

Advoned Topic 1-.L)o*s*y , {-k:ruercl

R7

V

V

rY\rnnted Toprr Douosecf , Hol,uarcl

The" for" loop returnshere.

20 edges

Cyclomatic Complexity #

Method 3: N-E+2: 20-3+2

Idenitfying Independent Paths

IP I,

tP 2,

IP 3,

IP 4,

IP 5,

IP6

Advnnced rogic 1

V

IP 7,

IP 8,

IP 10

1P13

1P17

Gencratc Tcst Case:Therc will bc a minimum of 8 tcst cascs for this segement

of codc.

Conclusion

This project is interesting and pushes us to make educated guessed, while helping us

to better understand MATLAB. The proposed method that avoids complications due totarget or clutter variability by employing general size, connectivity, and motions criteriato is called ATDT. One feature is to differentiate the hot and cold spots in an image. Thisis has motivated us to basically seek out for companies that has this technology involvedwithin a job description. Northrop Grumman is one of the companies that has technologyto conduct for a certain job.

DawStrl , How"rd

V

f\iluronced 1o6jrc L

\./ IX. Validation Methodology

Our code was validated by the system testing methodology. Prior to the system

testing, we conducted integration testing, and combined individual stages togetherand tested them as a group. The purpose of the integration testing was to verify the

functionality, performance and reliability of the proposed coding. Our Integration method

of choice was the Big Bang Method. The developed stages were coupled together to forma complete software system and then we used them for integration testing. We chose this

method because it saved a tremendous amount of time. [3]

After completion of the basic integration testing, we used the system testing because

it can be performed on the entire coding project at once. Another benefit of using the

system testing method is the fact that when system testing, the entire design is tested and

the behavior of the code is tested as well. [4]

For future code development, we are looking into using Soak testing also know as

endurance testing. The use of soak testing is important to our project, because of the

nature of work that the code will be used for. The code must be reliable and able tosustain a continuous load of work from daily use. [4]

DtE,Hut$$rns,Lee,

鞣褐ωCQハ TOollc■ Obe, t\ry3inS . L((

Basis Path Testing Results

Cyclomatic CalculationMethod A: Regions I

Method B: 0+l:lCyclomatic Number: I

Predicate Nodes: 0

Edges: l1-12+2:-lIndependent Path: I

IP I : I -2-3-4-5-6-7 -8-9-l 0-l I - I 2