代做ISEN1000 – Introduction to Software Engineering代做留学生Java程序

ISEN1000 – Introduc0on to Software Engineering

Assignment Specification

Learning objectives

1. Design and develop software adhering to basic modularity concepts, verify whether code is following basic modularity concepts, and refactor if not.

2. Design test cases using black-box and white-box testing approaches.

3. Implementing test codes based on test cases, execute them, and test a production code.

4. Use version controlling to keep track of a small software engineering project.

1. Introduction

Basic concepts of version controlling, modularity, and so8ware tes:ng are the key topics you have learned in the second half of this unit. This assessment evaluates your competency in above areas of so8ware engineering. It expects the knowledge you have gained via lectures, prac:cal classes, and  con:nuous  assessments  to  design  and  implement  a  simple  piece  of  so8ware  following modularity principles, verifying your code against a review checklist and refactor it, if needed, and design test cases and test the code you have developed. You will document your work in each   stage so that another person can understand the work you have done and reflect on your own  work for improvements. You will use a version control system to keep track of all the ac:vi:es of the whole assessment task.

Your work will be assessed based on the code, documenta:on you produced, and a demonstra:on of your work.

Mark of the assignment is given out of 100 and the assessment is worth 50% of your final mark (overall mark of the unit) as specified in the unit outline.

2. Scenario

Your team is developing a program to manage college :metables. There will be mul:ple units being

run. With each unit having mul:ple classes and each class having mul:ple students.

Each unit will need to:

•    Display its name

•    Display Unit ID

•    Display the UC and contact details

Classes in that unit

Each Class will need to:

•    Display its name

•    Display teacher and contact details

•    Display its :me

Show the students enrolled into that class

Each Student will need to:

•    Display name

•    Display Student ID

•    Display Contact details

•    Display classes they are enrolled into

Your program overall will need to:

Add/Remove Units

Add/Remove Classes

Add/Remove Students

Validate all data

Your program will not need to (but can be included if desired):

Check for student :metable clashes

Check for class clashes

•    Manage student grades

3. Detailed description

Considering the scenarios given above, you will

(a)  design and implement suitable produc:on code following modularity guidelines

(b)  Design test cases and test your produc:on code using proper tes:ng processes.

(c)  You will use basic version control methods to keep track of your work.

You are expected to cover all func:onali:es expected in the scenarios, with any suppor:ng

func:onality needs to fulfill the given tasks, such as a checking the validity of inputs (as per the scenarios). When designing your produc:on code, you must think about tes:ng also.

Choosing how to take input, and make available output:

You are free to decide how to handle imports/exports of your software modules. Imports can be parameters, keyboard inputs, or text files. Exports can be available via return values, displaying on screen, or wri:ng to a text file.

You are expected to think about how easily the overall software you design can accommodate

more func:onali:es later and reusability (such as providing more informa:on when a Lucky Number is known).

Your work will be organized in seven parts as described below.

1.   Version Control: Apply version control process to keep track of a simple so3ware project

[16 marks]

First, read all assessment tasks and get a clear idea of what you are supposed to do in this assignment. You are supposed to use version controlling and keep track of all your work  (documents and code both) relate to this assignment in a single Git repository. All your

code must be in a directory called “code” and documents should be in a directory called “documents”.

Derive a short plan, iden:fying what branches you will need, and why you need them, and when the branches will be merged.

Now, create a Git local repository (do not use GitHub) for this assessment using your

surname and ID as part of the repository name following the format

_<firstname>_ISErepo). Commit all code and documents you create in the rest of the assessment as you create and modify them. Make sure you commit your

changes as and when you are doing them, but not all at once at the end.

Note: There is no hard rule about what each commit should contain, and you are expected to show your ability to use version control meaningfully.

2.    Modularity: Design modules following good design principles [ 9 marks]

Looking at the given scenario, iden:fy most suitable modules you will need for a so8ware to achieve the required func:onality, considering the good modularity principles discussed in   lectures/ worksheets.

a.    Write  down  module  descrip:on/s  for  modules  you  decided to  implement. You must apply good modularity principles you have learned in lectures/ worksheets when iden:fying and planning modules. Each module descrip:on should include short,  meaningful  name,  clear  and  detailed  explana:on  on  what  the  intended task  of the  module,  how  it  gets  inputs  to  do  the  intended  task  and  how  the outputs make available, as shown in the module descrip:on examples of Lecture

8, slides 24-39, Lecture 9 slides20-33.

How imports, if any, of the modules are to be handled:

You are free to decide which input method/s are to be used in which of your modules (parameter passing, keyboard entry, or reading from text files.).

How exports(results), if any, of the modules are to be handled:

You are free to decide which input method/s are to be used in which of your modules.

(Return values, display on the screen, or write to files).

However, in the Tes:ng sec:on, you must demonstrate your ability to test different  input methods/output methods. Therefore, design different modules to use different import/export methods so that you can demonstrate tes:ng skills.

You should decide on suitable, meaningful names for all modules and variables. You may make assump:ons, if you think they are required, and state them clearly.

b.    Explain   your    design   decisions,    and   how    good   modularity    principles   are considered in your modules.

Note 1

In this unit, “modules” refers to any sub-part of a program. The terms “module” and “sub- module” are used interchangeably. The module/s you design in this stage affect the rest of your assessment. Therefore, read the whole assignment properly before finalizing the answer for this sec0on. You are strongly advised to use itera0ve approach especially for task 2 and 4.

3.    Modularity: Implemen:ng the produc:on code, reviewing, and refactoring [20 Marks]

a.    Implement  the  modules  designed  in  the  part  2  above  considering  the  good modularity principles discussed in lectures/ worksheets.

b.   You can use either Python (Python3) or Java for your implementa:on. Execute and verify that you have got your code running without syntax errors.

Note: This step will create a produc0on code, not a test code.

c.    Create   a  short  review  checklist  to   check  whether  you   have   followed  good modularity principles. You are expected to cover all basic guidelines covered in lecture 7.

d.    Review your code using the prepared checklist, iden:fying any issues. You must use the format suggested in the worksheet 7 to record your results. Each module must be reviewed for modularity issues.

e.    If  you  have  iden:fied  any  issues,  refactor  your  code  to  address  such  issues.

Explain how your code is improved now. If no refactoring is required, jus:fy your decision.

f.     A8er  refactoring,  revise  your   preliminary  descrip:ons  of  your   modules  and shown as revised module descrip:ons.

4.    Test design [25 marks]

a.    Black box test design [16 Marks]

Based on the module descrip:ons wrioen by you in part 2 above (OR the revised version a8er refactoring in Part 3 above, if any revision is done), design suitable test cases to test your modules using following methods:

I.       equivalence par::oning.

II.       boundary value analysis.

You must design test cases using equivalence par::oning approach for all modules you have

defined. You may use boundary value analysis for some of the modules only.  Men:on clearly which approach is used in each test design. Describe briefly how you decide your test cases.

b.   White-box test design [9 marks]

Look at your code implemented in part 3 above and iden:fy at least two modules where white-box tes:ng approach will be beneficial. Design test cases to cover func:onality of  the selected  modules  using  white  box  tes:ng  approach.  Test at  least  two  different  types  of constructs relate to paths you have learned. Indicate clearly which modules are tested with white-box approach. Describe briefly how you decide your test cases.

Note 2:

In this sec:on (Test design), showcase your ability to test wide verity of situa:ons:

Tes:ng test data of different data types: Integers, Strings, Boolean values.

Tes:ng various forms of inputs: parameter passing, keyboard input, text files.

Tes:ng various forms of outputs:  return values, console outputs, text files. (Refer General instruc:onssec:on for more informa:on)

Note 3:

Your test data must include following data items among other test data items (in any test cases of your choice, either in a) or b) above):


Last four digits of your student ID, and your last name as appear in your ID.

5.   Test Implementa:on [20 Marks]

Implement your test designs for part 4 and part 5 above using either Python or Java. You may use test fixtures to organize your test code. Using a unit test framework is op:onal.

Run your test case and obtain results. Iden:fy any test failures and then aoempt to improve your code.

6.    Summary table of your work (Traceability matrix) [ 5 marks]

Produce a table which shows the  following informa:on to help you and the marker to check the work you have done (E BB : black-box, WB: white-box P: equivalence par::oning, BVA: boundary value analysis).

Design of test cases

Test code implementaAon and execuAon

Mod ule

nam e

BB

(EP)

BB

(BV

A)

WB

Dat a

type /s

Form of Input/ output

EP

BVA

White-Box

xxx

done

done

not

don e

yyy

done

don e

….

You may note the total marks as per the above detailed descripAon is 90. The rest ofthe marks (10 marks) will be allocated tomarks of documentaAon (for the Cover page, IntroducAon, Discussion, formaIng etc.) as explained in secAon 7.

4. Documentation

You need to document what you have done in each stage of the assessment so that another person can get a clear idea about what you have done. You must produce a short report, colla:ng all your work as part of your submission.

Your report name must be of the following format:

< YourFirstName>__ISEReport”

Your report must bewriSen in markdown. Refer hSps://www.markdownguide.org/ if you are not familiar with the markdown (.md ) format. This file format is helpful when tracking your

documenta0on using a version control system.

Your report should include following sec:ons and content:

a.    Cover page [1 mark]

Include the assessment name, your name as in Moodle, Cur:n student ID, prac:cal class (date/ :me). This may not be in a separate page, but as the first thing in your document in a clear

format.

b.    Introduc:on [1 mark]

A brief overview of work you have done.

c.    Module descrip:ons [7 marks, part 2 of the assessment task]

Original module descrip:ons you have created for part 2 of this assessment.

An explana:on on your design decision, and why you have chosen modules as the way you

have done and any assump:ons you have made, if any.

d.    Modularity [10 marks out of 20 marks of the part 3 of the assessment task] A descrip:on on how to run your produc:on code with correct commands.

Sample output of running your produc:on code. You must use screen shots to support your answer in this sec:on.

A brief explana:on on how different modularity concepts is applied in your code.

Your review checklist, results of reviewing your produc:on code using the review checklist, with explana:on on your results, and refactoring decisions.

Revised module descrip:ons resulted a8er refactoring, if any (a8er doing the part 3 of the detailed descrip:on)

e.    Black-box test cases [16 marks of the part 4 (a) of the assessment task]

All test cases you have designed for part 4 of this assessment, produced in the tubular test design format shown in lecture 8, assump:ons you made if any, and brief explana:on on your test design decisions.

f.     White-box test cases [9 marks of the part 4 (b) of the assessment task]

All test cases you have designed as the answer for part 5 of this assessment, produced in the tubular format shown in lecture 10, brief explana:on on your test design, and any

assump:ons you made.

g.    Test implementa:on and test execu:on [3 marks out of 20 marks of the part 5 of the assessment task]

A brief descrip:on of how to run your test code with correct commands.

Results of test execu:on with outputs of test successes and failures, with short discussion of results/improvements from part 5 of this assessment.

You must use screen shots to support your answer in this sec:on.

h.    Summary of your work (traceability matrix)[ 5 marks]

Table you have produced in the part 6 of this assessment.

i.     Version control [3 marks out of 16 marks of the part 1 of the assessment task]

Log of the use of your version control system (image of the log is sufficient), any explana:on /discussion on version control. (refer part 1 of the detailed descrip:on)

j.     Discussion [5 marks]

Reflect on your own work including summary of what you have achieved, challenges you have faced, limita:ons and ways to improve your work with other features you have not considered, and any other informa:on you wish to present.

Your report would be around 12-20 pages.

5. What you will be submitting

Your submission will be done in three steps.

Submission step 1:

Youmustsubmit asigned and dated assignment cover sheet in PDF format to the “Assignment

submission: cover sheet link provided in the assignment folder. Blank assessment coversheet is

available under Assessments page of Moodle. You can sign a hard copy and scan it, or you can fill in a so8 copy and digitally sign it.

Submission step 2:

Your documenta:on, i.e., your report (refer sec:on4), should be submioedtothe Turni:nlink (“Assignment

submission: step2 documents only”) provided in theassignmensolder. Yourreportsubmioed to this link should beinPDF format.(Youmustconvertyourreportin markdownformat toaPDFfilebeforesubmi[ng tothis link). Your report namemust follow the following format:

__ISEReport”

Submission step 3:

You must submit single zip file of all the work produced in this assessment to the “Assignment submission: step 3” link provided in the assignment folder. First, create a folder with name

< YourFirstName>_ student ID>_ISEAssignment. Then place all your work inside this folder. Example : JohnWhite_12134567_ISEAssignment

Avoid using file formats other than .zip file to reduce delays in marking.

To include hidden .git repository in zip file run zip command with -r switch, i.e. zip -r <file_name>

The folder should contain:

a. All you code files: You must submit all your code files (produc:on and test codes), any sample data files (if created) and any other files used/ resulted in part 3 and 6 of this assessment. Name your files in appropriate manner.

b. A single Readme file:  a short text file indica:ng the purpose of each file you have submioed.

c. .git sub directory of the Git repository you have used in the assessment.

d. Your report (refer sec:on 4) in markdown format ( .md file)

e. Your report (refer sec:on 4) in PDF format which was already submioed to the Turni:n link.

f.     Your signed and dated assignment cover sheet in PDF format which was already submioed to the “Assignment submission cover sheet” link.

Zip this folder and submit to the “Assignment submission: step 3” provided in the assignment page.

Make sure that your zip file contains what is required. Anything not included in your submission may not be marked, even if you aoempt to provide it later. It is your responsibility to make sure that your submission is complete and correct.




热门主题

课程名

mktg2509 csci 2600 38170 lng302 csse3010 phas3226 77938 arch1162 engn4536/engn6536 acx5903 comp151101 phl245 cse12 comp9312 stat3016/6016 phas0038 comp2140 6qqmb312 xjco3011 rest0005 ematm0051 5qqmn219 lubs5062m eee8155 cege0100 eap033 artd1109 mat246 etc3430 ecmm462 mis102 inft6800 ddes9903 comp6521 comp9517 comp3331/9331 comp4337 comp6008 comp9414 bu.231.790.81 man00150m csb352h math1041 eengm4100 isys1002 08 6057cem mktg3504 mthm036 mtrx1701 mth3241 eeee3086 cmp-7038b cmp-7000a ints4010 econ2151 infs5710 fins5516 fin3309 fins5510 gsoe9340 math2007 math2036 soee5010 mark3088 infs3605 elec9714 comp2271 ma214 comp2211 infs3604 600426 sit254 acct3091 bbt405 msin0116 com107/com113 mark5826 sit120 comp9021 eco2101 eeen40700 cs253 ece3114 ecmm447 chns3000 math377 itd102 comp9444 comp(2041|9044) econ0060 econ7230 mgt001371 ecs-323 cs6250 mgdi60012 mdia2012 comm221001 comm5000 ma1008 engl642 econ241 com333 math367 mis201 nbs-7041x meek16104 econ2003 comm1190 mbas902 comp-1027 dpst1091 comp7315 eppd1033 m06 ee3025 msci231 bb113/bbs1063 fc709 comp3425 comp9417 econ42915 cb9101 math1102e chme0017 fc307 mkt60104 5522usst litr1-uc6201.200 ee1102 cosc2803 math39512 omp9727 int2067/int5051 bsb151 mgt253 fc021 babs2202 mis2002s phya21 18-213 cege0012 mdia1002 math38032 mech5125 07 cisc102 mgx3110 cs240 11175 fin3020s eco3420 ictten622 comp9727 cpt111 de114102d mgm320h5s bafi1019 math21112 efim20036 mn-3503 fins5568 110.807 bcpm000028 info6030 bma0092 bcpm0054 math20212 ce335 cs365 cenv6141 ftec5580 math2010 ec3450 comm1170 ecmt1010 csci-ua.0480-003 econ12-200 ib3960 ectb60h3f cs247—assignment tk3163 ics3u ib3j80 comp20008 comp9334 eppd1063 acct2343 cct109 isys1055/3412 math350-real math2014 eec180 stat141b econ2101 msinm014/msing014/msing014b fit2004 comp643 bu1002 cm2030
联系我们
EMail: 99515681@qq.com
QQ: 99515681
留学生作业帮-留学生的知心伴侣!
工作时间:08:00-21:00
python代写
微信客服:codinghelp
站长地图