Systems Analysis and Design Design in a Changing Changing World, World, sixth edition edition
1-1 1-1
Chapter 1 – From Beginning to End: An Overview of Systems Analysis and Design Solutions to End-of-Chapter Problems Problems Review Questions 1. What is the difference between an information system and a computer application?
Usally a !ompter appli!ation is a single !ompter program that may or may not "e !onne!ted to a data"ase# An information system is normally mltiple mltiple !ompter programs that are !onne!ted to a data"ase and ths provide as otpt varios types and $antities of information# 2. What is the purpose of systems analysis? Why is it important?
%he prpose of systems analysis is to ena"le the system developer to nderstand the ser&s re$irements# 'ithot 'ithot a good analysis of the ser&s ser&s needs and re$irements the new system will "e inade$ate in its soltion or erroneos in its implementation# 3. What is the difference between systems analysis and systems desin?
Systems analysis is to determine the (what) the new system shold do# *t is dis!overy and nderstanding# Systems design is to to determine (how) the new system shold "e "ilt# *t is is str!tre and ar!hite!tre# !. What is a pro"ect?
A pro+e!t is a planned nderta,ing that has a "eginning and an end and whi!h sally prod!es some predefined reslt# *t is often managed with a s!hedle or list of re$ired re$ired a!tivities# #. What are the si$ core core processes for software systems de%elopment?
1# *dentify the pro"lem# -# .lan and monitor the pro+e!t# /# Dis!over and nderstand the re$irements# 0# Design the system !omponents# # Bild2 test2 integrate the system !omponents# 3# Finali4e testing and deploy the soltion# &. What is meant meant by 'ile (e%elopment?
Agile development is a philosophy of systems development that emphasi4es fle5i"ility to handle !hanging re$irements dring the development pro+e!t# ). What is the purpose of a System *ision *ision (ocument?
%he System 6ision 6ision Do!ment is a "rief statement whi!h des!ri"es the ov erall o"+e!tive of the new system# *ts prpose is to provide "asi! information a"ot the need and soltion approa!h to assist assist the !lient in de!iding whether to approve a development pro+e!t# +. What is the difference between a system system and a subsystem?
A system sally !onsists !onsists of a !omplete soltion that fn!tions "y itself# A s"system is an identifia"le and partitioned portion of the system# A s"system s"system sally is not an independent entity "t fn!tions within the !onte5t of the entire system#
Systems Analysis and Design in a Changing World, sixth edition
1-2
,. What is the purpose of a Wor readown Structure?
%he prpose of a 'or, Brea,down Str!tre is to identify all the tas,s2 e#g# the wor,2 that mst "e a!!omplished for a pro+e!t# 1/. What are the components of a Wor readown Structure? What does it show?
*t sally !ontains a list of all the tas,s that mst "e done2 along with an estimate of how m!h wor, ea!h tas, will re$ire# *t provides a !omprehensive list of the wor, to "e done# *t is the "asis for "ilding a pro+e!t s!hedle# 11. What information is pro%ided by use cases or a use case diaram?
Use !ases2 either in a list format or a diagram format2 show all of the ser fn!tions that the new system mst spport# 12. What information is pro%ided by a class diaram?
A !lass diagram identifies all of the (things) that mst "e remem"ered and tra!,ed "y the new system# *n essen!e the !lass diagram will "e sed to design and "ild the data"ase for the new system# 13. 0ow do a use case diaram and a class diaram dri%e the system de%elopment process?
%he se !ase diagram defines the pro!esses 7e#g# fn!tions8 of the new system and the !lass diagram defines the data of the new system# Ea!h system !onsists of pro!esses and information2 so these two diagrams define what mst "e done# 1!. What is another way to describe an acti%ity diaram? What does it show?
An a!tivity diagram is also a (wor,flow) diagram# *t shows the flow of steps that a ser2 wor,ing with a system2 follows to !omplete a "siness pro!ess or se !ase# 1#. 0ow does an acti%ity diaram help in user-interface desin?
An a!tivity diagram shows the intera!tions "etween a ser and the system# %hose intera!tions mst "e spported "y the ser interfa!e# 1&. What is the purpose of architectural desin?
Ar!hite!tral design is sed to design the overall str!tre of the new system# *t defines the ma+or !omponents of the new system and how they relate to ea!h other# 1). What new information is pro%ided in a desin class diaram more than a class diaram?
A design !lass diagram is an e5tension of a !lass diagram and it shows how the attri"tes "e!ome data fields with type information# *t also identifies the methods of a !lass# *t also shows whi!h !lasses have visi"ility to other !lasses to a!!ess their methods# 1+. What are the steps of system testin?
System testing !onsists of 1# !reate the test data2 -# !ond!t the tests2 /# *dentify and do!ment the errors2 0# Fi5 the errors# %his pro!ess repeats ntil the nm"er of errors is minimal or a!!epta"le# 1,. What is the purpose of user acceptance testin?
User a!!eptan!e testing is to allow the sers to verify that the system performs in a manner that does in fa!t solve the "siness pro"lem# %he system shold not only provide !orre!t answers2 "t it shold provide answers for all the isses identified dring analysis#
Systems Analysis and Design in a Changing World, sixth edition
1-3
2/. Why is it a ood practice to di%ide a pro"ect into separate iterations?
Separate iterations allow the pro+e!t to "e partitioned into smaller !hn,s of wor, that !an "e managed and !ontrolled "etter# *t also provides intermediate delivera"les so that "oth the pro+e!t team and the sers !an as!ertain if the new system is going to solve the "sinss pro"lems# 21. What should be the ob"ecti%e or result of an iteration?
%he o"+e!tive of an iteration shold "e to prod!e a portion of the soltion system# Usally this means that some wor,ing pie!e of the system is design2 !oded2 and tested# Sometimes it also allows portions of the final soltion to "e deployed early#
Problems and Exercises 9one for Chapter 1#
Solutions to End-of-Chapter Cases Chater Case! "eeing #rac$ o% &our 'eocaching (utings
Waynes 4eocachin System Solutions 5able of Contents Assignment D)! System *ision Document Assignment D+! Wor$ rea$down Structure Assignment D-! .se case and Class diagrams Assignment D/! Wor$%low diagram and screen layout Assignment D0! Database design and system structure Assignment D1! Programming aroach Assignment D2! 3inal testing and deloyment issues
Waynes 4eocachin System 'ssinment (/-16 System *ision (ocument (escription
'ayne ohansen has "e!ome an a!tive fan of geo!a!hing and wold li,e to ,eep tra!, of all of his geo!a!hing a!tivities# ;ather than se one of the free or !ommer!ial we" sites2 he wold li,e to have his own geo!a!hing system on his own !ompter# %he system will need to have to spport several different geo!a!hing types of a!tivities2 in!lding listing interesting geo!a!hes and trips that 'ayne wold li,e to do2 also geo!a!hes that he has fond and trips he has ta,en# *n addition2 sin!e 'ayne also wold li,e to !reate his own geo!a!hes2 he wold li,e to "e a"le to !reate and des!ri"e his own geo!a!hes and tra!, those that he has posted for p"li! se# %his system is essentially a information tra!,ing system# *t will need its own data"ase to ,eep tra!, of all of the information a"ot his a!tivities and his geo! a!hes# For this first version2 sin!e he did not ,now a lot a"ot !ompters2 he de!ided it wold "e "est +st to have a system "ilt to rn on his laptop# System Capabilities
%he new system shold do the following:
%his system shold provide the following "enefits to 'ayne: Ena"le 'ayne to easily tra!, all of his geo!a!hing trips and find Ena"le 'ayne to easily !reate and post new geo!a!hes Allow 'ayne to share his geo!a!hing interests with other friends Allow 'ayne to pdate his geo!a!hing information while traveling with his laptop
Waynes 4eocachin System 'ssinment (1-16 (efinition of 7terations
Soltions will vary depending on what the stdent !hooses# %he important isse is that the stdent has thoght throgh and de!ided on a soltion# 8ne possible solution
Divide the system "y fn!tionality# *teration one will "e to !aptre information a"ot geo!a!hes that 'ayne has !ompleted# *teration two will "e to allow 'ayne to !reate and post his own geo!a!hing information#
'ssinment (1-26 Wor readown Structure
*# Dis!over and analy4e 'ayne&s needs to re!ord !ompleted geo!a!hes 1# 'ayne and his "rother meet together to view geo!a!hing we"sites and dis!ss 'ayne&s desires# -# *dentify the information that 'ayne wants to ,eep# /# *dentify the se !ases to !aptre and store that information# 0# Develop wor,flows for the identified se !ases# **# Design the !omponents of the soltion 1# Design the data"ase ta"les# -# Design the inpt and otpt s!reens# /# Design the !onfigration for the laptop software appli!ation# 0# Design the program details ***# .rogram the system 1# Create the data"ase# -# 'rite the !ompter program 7in!ldes "oth ser interfa!e and data"ase pdating8# *6# %est it and se it 1# %est it with good data and "ad data 7!he!, the validation8# -# 'ayne test it with some of his real data# /# %rn it over to 'ayne to se#
Waynes 4eocachin System
Soltions will vary# %he important thing is that the stdent has some soltion elements# %he details of the se !ase diagram and the !lass diagram will vary tremendosly2 e#g# whi!h attri"tes to identify# 'ssinment (2-1 and (2-36 9se case diaram
Entergeoc ache e x p e r ie n c e
E n t er g e o c a c h e o f in t e r e s t in fo
W a y ne
P r in t g e o c a c h e lis t
P r in t g e o c a c h e e x p e r ie n c e r e p o r t
'ssinments (2-2 and (2-!6 Class diaram G e o c a c h e E x p e r ie n c e n am e personPo sng G P S C o o r d in a t e w a y p o in t C o d e datePosted type category c it y state cou ntry d i c u lt y t e r r a in d e s c r ip o n in t e r e s t C o m m e n t v i s it S t a t u s v is i t D a t e v is it C o m m e n t
G e o c a c h e P i c t u r e n f o
! "##$
geocacheC ode p ic t u r e T y p e d e s c r ip o n p ic t u r e D p ic t u r e P a t h
Waynes 4eocachin System 'ssinment (3-16 Steps for use case
Use Case: Enter geo!a!he of interest info Steps: 1# Enter "asi! geo!a!he information from sor!e information -# ;eview information /# Enter reason for interest in !omments 'ssinment (3-26 Worflow diaram % ayn e
System
Enter geocache info
Save geocache data
D i s p la y g e o c a c h e info
& e v i e w in f o
Enter interest c o m m e nt
'pd ate geocache data
'ssinment (3-36 Screen :ayout
E n te r N e w G e o c a c h e
) a m e(
% a y p o in t C o d e (
P o s n g P e rs o n (
G P S C o o r d in a t e s (
D a t e P o s te d (
City(
Catego ry(
State(
Type(
Country (
D i f c u l ty( Terrain( C o m m e n t(
Waynes 4eocachin System
Assignment D0=1: .reliminary data"ase design %a"le: >eo!!hingE5perien!e !a!he*D: integer2 ato=in!rement2 ?,ey@ !a!he9ame: string ?inde5@ person9ame: string gpsCoord: string waypointCode: string ?inde5@ date.osted: date type: string !ategory: string !ity: string state: string !ontry: string diffi!lty: string terrain: string des!ription: string interestComment: string visitStats: string visitDate: date visitComment: string
%a"le: >eo!a!he.hoto *mage*D: integer2 >U*D2 ?,ey@ !a!he*D: integer2 ?foreign ,ey@ pi!tre%ype: string des!ription: string dire!tory.ath: string
'ssinment (!-26 (estop or browser solution Answers will vary# Des$to reasons! .ros: Single ma!hine with easy deployment Single data"ase lo!ation Easy to "ild Se!re Easier to "ild atomated interfa!e to download data to !ompter Cons: Cannot a!!ess from mltiple lo!ations 9ot easy to share data with others 7ftre segrowth8 rowser reasons! .ros: Can a!!ess from mltiple lo!ations Can share information with others Cons: Always needs internet a!!ess Browser may limit information display ;e$ires a server somewhere 7ptime8 Se!rity is more !omple5 – may re$ire login fn!tionality Formatting reports is sally more !omple5 via "rowser
Waynes 4eocachin System 'ssinment (#-16 Prorammin 'pproach
Answers will vary: *sses in!lde !ompiled verss interpreted langages2 e5perien!e2 availa"le tools and *DEs2 et!# 'ssinment (&-16 Prorammer testin and user testin
Answers will vary: .rogrammer testing: %ends to test only good data %ends to test with artifi!ial data %ends to do limited testing Cannot always verify answers are !orre!t %ends to test for !rashes verss !orre!tness Cannot always test varios !om"inations User testing: %ends to testse in !omple5 ways %ends to se more !omple5 data %ends to ma,e mista,es Can test "ased on wor, pro!edres 'ssinment (&-26 (eployment 7ssues
Answers will vary2 espe!ially whether a des,top or "rowser "ased soltion was !hosen# Des,top: Operating System isses Set p data"ase Startp s!ript to start data"ase engine ow to "a!,prestore data .aths and li"raries for image storage Compiledlin,ed 7e#g# "inary8 version verss interpreted langage Browser: Same isses as des,top2 e5!ept mst "e de!ided for server# 'herehow to deploy server 7home "ased or hosted8 Domain name and address2 possi"ly re$ire virtal server ogin fn!tions Se!rity isses for ha!,ing and posting inappropriate da ta 'ssinment (&-36 ;utliple user site - (eployment 7ssues Same isses as "rowser "ased listed a"ove 'here and how to host the site ow to "ild for mltiple "rowsers >rowth and s!ala"ility