CMT4440 is about

:
CMT4440
S oftware Development

General software development  Project management

Week 1 -- Introduction

Dr. Xiaohong (S haron) Gao Room:TG12

Ext: 2252
Email: x.gao@mdx.ac.uk

CMT4440 does this by

CMT4440 uses
The Lecture (1.5 hours)  The S eminar/Lab (1.5 hours)  The Book  The OasisPlus site

S howing the main strategies involved in software development S tudying techniques to produce quality software and team management
Encouraging reflection on the processes involved

The Book
Head First S oftware Development  Week by week info, exercises

The Website

http://oasisplus.mdx.ac.uk/
Weekly Lecture Notes Weekly Lab samples Weekly seminar materials


Reference:
Mark Watson, T he Software Development Book, http://www.markwatson.com/opencontent/software_devel opment_book/book.html

1

achieving 40% or over.uk  Room:TG12  Office Hour :  Lecture 1 – Introduction (1) The complexity of information increases faster than our ability to organize and to use it to increase efficiency and profit.Assessment Course Work --.  Most developers now have a more realistic view of the benefits versus costs of software systems. 2 .60%  Unseen exam – 40%  Course Work – 60%   CW 1 (40% – Group project – page 10 ) CW 2 (20% – Individual project – page 11 ) Notes:Y have to pass both components..  ◦ Thursdays: 10:00am-12:00pm Introduction (2) In today’s economy. Contact Information x.  As the complexity of information increases so does the software required to automate information processing.  We have lived through the dot-com hype and crash. in order to pass the whole module.ac. the savvy software developer asked herself ‘how can I earn money for my company’. not ‘what technology toys do I want to play with today’.  Introduction (3)  Most software developers have been involved with projects that used (in historical order)  the waterfall method  structured programming (C)  object oriented programming (C++)  various object modelling languages (J ava)  Unified Modelling Language (UML) Extreme Programming  test driven programming  Most developers will tell you that ” their mileage varied” when discussing the utility and cost effectiveness of various software development methodologies.e.  There must be a reasonable balance between a focus on technology and a focus on business processes and problem solving. ou i.gao@mdx.

 Developers reuse a proven design without having had to go through the ‘normal’ process of making mistakes and then learning from these mistakes.  The Customer   Bringing Idea to Life W hat is needed  On time  On budget  S oftware is customers’ ‘big idea’ S oftware development brings idea to life Customers Idea How much it will cost  How long it will take  1st Approach – Big Bang Code.  Modern design tools do promote ‘round trip’ engineering to keep model design documents and code in sync.  But many projects still ignore the maintenance of design documents in the rush to get projects complete.Introduction (4) A common complaint with methodologies that promote formal up front design is that the design process and documents are not kept up to date during software development.  Introduction (5) One of the great success stories in software engineering has been the series of design patterns books. code and code End product  What’s wrong with this?   3 .  These books codify and describe the designs for common programming problems.

writing code and testing  Each cycle produces working quality code  Each iteration allows us to check with customers  4 . design.Big Bang? No feedback from client  Doesn’t get what s/he wants J ust one piece of software. probably not what the customer wanted  S oftware Development should: Deliver what is needed  On time  On budget  2nd Approach S ecret is iteration  Include ‘check-in’ points with customer to keep project on track with desired goal  Mechanism is feedback  Iterations Big Bang doesn’t produce software until the end  Each iteration produces working coding – small pieces of functionality you could show customer  Each iteration is a mini-project  Iterations Requirements  Design  Code  Test  Produces software  RDCT-> ->RDCT->->RDCT->  Iterations Each iteration is a small cycle where you gather requirements.

3. Debit card  Cash   The unit ◦ ◦ ◦ ◦ In pound In kilogram In litre etc ◦ Notes ◦ Coins ◦ New note/coin 5 . payments Credit card (charge 2% etc. 4. Reading bar codes Weighing goods Payment Coupons 2. Components 1.S cheduling Iterations Break each function or feature into one iteration  Work out some idea of how long a feature will take to develop and its priority (assigned by the customer)  Place on a time line  S cheduling – adapt Customer will want to change things  Deadline doesn’t change  Adapt into schedule  Estimate new features  Have customer prioritise features  Rework iteration plan  Check deadline  Example: automated checkout system  1. Reading bar code     Bar code damaged Bar code not recognised Discount bar code not matching the price Etc.Weighing goods  3. 2...) .

6 .4). Coupons Parking ticket Loyalty cards  Promotion coupons  Etc.   S ummary  S oftware development and management constitute a crucial step in delivering a piece of fit-for-purpose software. benefiting both developers and customers.

7.42.9843 . 2.

4503.439039.

0 452039*-44.8419.70*/0.

-44 92     .

70706:70/94.3.:843-:83088574.47/07  90..9 90. : #442% O 11.2094/  897:..3 349 .0452039 2094/4408     .9071.4250 .9 5.943574.:84390. .943   O 4898419.223 O 489/0. 880882039 O O 4:78047   O 4:78047   &380030..74:84-0..045078904:9.42/ .3 O 3974/:.03...2  52 O %0.0/974:90/49 .70/0..9 90720.0 & 97020!747.88-49 .035747..3:.4342908.8419.045078.39945.3/.489 0110.  O %0702:89-0.70/ 03/8.08808.89.74:88419.425.3:.0.30.-0-.0 .:88390:99.0 -09003.04507.9 94/.9:70 3974/:. 14.7.:942.14.07347/0794 5.0308841.344948/4.  &310/4/03.3/57419  0.223   .08 .5740.70/0.0-0033.8  .9 5.88904024/:0  O    439.89079.425094131472..73 24301472.924/03.4898 418419.42509 4131472.0.9:80/ 38947.943  . 80..9470390/5747.80/07801 4.70.34:7./:.843..223  9089/7.70.0/ 95740..80011.-99447..0     3/.70.3/574-02 84.0945.9433.989.3 474.223   4-0.70 /0..9433.30.808 1..70.3/94:80 9943.3/.8 489/0.9:70/5747.943  O O O  %:78/.90 31472.70 889028  890.04:7 O O 0.931472.2       74:55740.9.04507834..0 49084:.4.247070.04190-030198 .078:8.344.808 84/408908419.943  394/.0883    3974/:..3/.0..425430398   0 .

98:.0 O 4/0 .08.943  .223 574-028  O 0.3/.70 /0.70/0.3903.0452039-738/0.0888947083 8419.:20398390 7:894095740.4/0.35740. O $419.08 O    %0:894207 $419.7-090 /0838147.9410 O 733/0.. O :92.3289.9 O .4/1.574.9.957424901472.0 41/083/4.4/0383.04507870:80.9 8743998     .98300/0/ 3920 O 3-:/09 O O    :8942078/0.70349 059:594/.990738-448 O %080-448.9889347090 2.700330073.73317429080289.9410 .943  30419070..088.90 /:738419.088412.3/ 9030.8-0039080708 41/0835.9 90/083574.425.42243. 3974/:.:20398.3/.489 44399./944974:90 3472.3.425090 O 3974/:.708.3 42:.:517439/08389.422435747. 574.98.4/0 O 3/574/:.0452039  O 4/073/0839448/4574249074:3/ 975 03300739400524/0/083 /4. O O 89 5574.3//08.:8942078  -/0.03/083 94:9. .3//4.39 92094/4408 9..:20398.3.

3 4100/-..039 4083 909.98.1742. .

98300/0/ O 3920 O 3-:/09 O    3/ 5574.23 5740.907.9438 O ..4/0 .:894207.08411:3.-349 .9438 O .4/3 82.48:894.9    907.0418419.08473.50.70:3990 03/ O ..0.907706:7020398 /083 793.:8942078     .907..9438 #06:7020398 O 083 O 4/0 O %089 O !74/:. O 907. O 0...9438..94397.3/90893 O ..0.390/ O O $419.9/0870/4.7098907.:89420794 0055740.9 .3828100/-.045203984:/ 0..084736:.9.08419.94:.82..07.943. $0.943 .990.0.4:/84 .:/0 . 3 543989...943 8.70 574-.943574/:.00704: .907.0 574/:.3/4083 9574/:.700.4/0 O ..943 O 3..088419.907.398 O :8943050.:894207 O .70 O #%  #%  #%  O 907.

/0.0/ .7/ .4:9 88902 O  #0.0 9.9435..2 3970 09.0.3/9857479 .903010.7.045.:894207 O !.2039 4:5438     0344/8 O  5.4/03492.92030 O $.70 09. $.2.9438 70./30 O O    .250.7...30938 0.0/:0 O 892.9:708 O .7.8 O O %0:39     354:3/ 347.10.4/0/.  4908  438  03490./. 425430398     #0.8830/-90.043.9:708 O #047907.094/0.20398 70/9.59 :894207.0.3994.9:70 9..4:39-.1:3.. 0-9./3-.90/.9..943 O 474:98420/0..4/0 N N N N .9434710./30/4083 9.7/ O .:942.3 O 0.9:70394430 907.41443.0/:3 .593948..0/:3907.30 O /.4/034970.4/08 0344/8 !.39057.4380/ 8.:894207574798010./3-.7.0.7.

43     ..

045078.7:. O O $:22.7/8 O !7424943.3/2....70/0.073.89053/0.70  -030193-49/0.43899:90.9. 50.3/ .04119 147 5:754808419.02039 .:8942078            .4:5438 O 9.09 4.  4:5438 !.739.7 O $419.3.0452039.