cw 40yo - alabama agricultural and mechanical university · “structural specification-based...
TRANSCRIPT
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
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
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
‐
z
ち
Ц
手
も
っ
夕
。
Ю
螂 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
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.
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
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
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,