SlideShare une entreprise Scribd logo
1  sur  42
Télécharger pour lire hors ligne
Software Engineering Large Practical

Feedback on Part 1 of the Practical

                  Stephen Gilmore

     School of Informatics, University of Edinburgh


              November 7th, 2012




             Stephen Gilmore   Software Engineering Large Practical
About Practical 1


      There are 19 people taking the Software Engineering Large
      Practical. There were 14 submissions, and 5 non-submisisons.
      The submissions have been marked and comments returned.
      The submissions varied widely.
          Some project submissions contained Java syntax errors and
          failed to compile. Some generated warnings. Some generated
          neither errors nor warnings.
          Some submissions had only limited functionality (e.g. a login
          screen). Some read the XML document from the server. Some
          created a database.
          Some looked more more like a submission for Part 2 than
          Part 1.




                       Stephen Gilmore   Software Engineering Large Practical
Lessons learnt




       Discovered a bug in the “submit” command which is now
       being fixed.
       Discovered an underspecification in the practical description,
       which should explain that we are using Java 1.6 and that Java
       1.7 language features are not available (such as strings in
       switch statements).




                       Stephen Gilmore   Software Engineering Large Practical
Point of this lecture




       Give feedback on the submissions generally, rather than
       individually.
       Allow you to get a sense of where you are in the class.
       See examples of some app designs.
       Consider additional features which you might like to
       implement.




                        Stephen Gilmore   Software Engineering Large Practical
Java and XML problems, warnings and errors


      Errors and warnings encountered are listed here.
      These included syntax errors in Java (e.g. missing
      semi-colons) and semantic errors (such as “variable not
      declared” errors).
      Some XML documents were ill-formed (e.g. not a single root
      element).
      Many uses of generics were not complete, and led to “raw
      types”.
      Many imports were never used. Some variables were not used.




                       Stephen Gilmore   Software Engineering Large Practical
Java problems: syntax errors




                    Stephen Gilmore   Software Engineering Large Practical
XML errors: “junk after document element”




                   Stephen Gilmore   Software Engineering Large Practical
Java problems: “cannot be resolved” or is not a field




                    Stephen Gilmore   Software Engineering Large Practical
XML problems: no resource found




                  Stephen Gilmore   Software Engineering Large Practical
Java problems: generics and raw types




ng




                        Stephen Gilmore   Software Engineering Large Practical
Java problems: imports not used




ng




                        Stephen Gilmore   Software Engineering Large Practical
Unused imports in Java code




ng




                        Stephen Gilmore   Software Engineering Large Practical
Java problems: variables not used




ng




                         Stephen Gilmore   Software Engineering Large Practical
Java problems: Java 1.5/Java 1.6 incompatibility




ng




                         Stephen Gilmore   Software Engineering Large Practical
User interfaces in development




      Some submissions had more user interface code than others.
      Some had working buttons, menus and textboxes.




                      Stephen Gilmore   Software Engineering Large Practical
Blank screen




png



                     Stephen Gilmore   Software Engineering Large Practical
Alpha version of interface: setting matriculation number




png                       shot 2012-10-30 at 09.35.44.png




                          Stephen Gilmore            Software Engineering Large Practical
Interface and settings




png                       shot 2012-10-30 at 10.14.54.png




                           Stephen Gilmore           Software Engineering Large Practical
Interface of alpha version




png                       shot 2012-10-30 at 13.26.38.png




                           Stephen Gilmore           Software Engineering Large Practical
Entering a student number




png                     shot 2012-10-30 at 14.04.56.png




                         Stephen Gilmore           Software Engineering Large Practical
Candidate lists in development




      Some submissions were able to retrieve the candidate list from
      the server and display this.
      Some submissions just listed the names of the candidates.
      Some included election statements.
      Some included photographs of the candidates.




                       Stephen Gilmore   Software Engineering Large Practical
Interace of alpha version — listing candidates




png                       shot 2012-10-30 at 15.21.16.png




                          Stephen Gilmore            Software Engineering Large Practical
Listing candidates




png                        shot 2012-10-31 at 13.23.00.png




                           Stephen Gilmore            Software Engineering Large Practical
Sign-in screen — candidates listed




png                       shot 2012-10-30 at 15.47.56.png




                          Stephen Gilmore            Software Engineering Large Practical
Logging in and viewing candidates




png                      shot 2012-10-30 at 14.46.34.png




                         Stephen Gilmore            Software Engineering Large Practical
Viewing candidates by category




png                      shot 2012-10-30 at 14.31.32.png




                         Stephen Gilmore            Software Engineering Large Practical
Additional features in development




      The application requires you to retrieve an XML document
      from the server.
      We can’t be sure that this will always succeed. What if we
      have no network connection?




                       Stephen Gilmore   Software Engineering Large Practical
Dealing with network connection issues




png                      shot 2012-10-30 at 14.34.25.png




                          Stephen Gilmore           Software Engineering Large Practical
Going further: rating, deleting, and sending tweets




       The other functions required by the app include rating
       favoured candidates, deleting unfavoured candidates, sending
       email and sending tweets.




                        Stephen Gilmore   Software Engineering Large Practical
Candidates selected and rated




png                      shot 2012-10-30 at 15.21.40.png




                         Stephen Gilmore            Software Engineering Large Practical
Rating a candidate and sending a tweet




png                      shot 2012-10-31 at 13.24.17.png




                         Stephen Gilmore            Software Engineering Large Practical
Viewing details and rating candidates




png                       shot 2012-10-30 at 14.47.10.png




                          Stephen Gilmore            Software Engineering Large Practical
Deleting a candidate




png                      shot 2012-10-30 at 14.47.52.png




                             Stephen Gilmore        Software Engineering Large Practical
Database contents




                    Stephen Gilmore   Software Engineering Large Practical
Viewing the database




                   Stephen Gilmore   Software Engineering Large Practical
Database




           Stephen Gilmore   Software Engineering Large Practical
Examples of good practice




      Adding logging to your app early helps you to develop it
      because it gives you a deeper understanding of how your app
      is working and what is not working.
      You are asked to add logging to your app so why not start
      now and reap the benefits?




                      Stephen Gilmore   Software Engineering Large Practical
Logging: It’s great! Look how helpful it is.




ng




                          Stephen Gilmore   Software Engineering Large Practical
Logging: why not start now? Seriously, it’s great.




ng




                         Stephen Gilmore   Software Engineering Large Practical
Closing remarks


      When implementing your app you should pay careful attention
      to the instructions in the practical handout which you received
      at the start of the course.
      You also have now available a sample XML file with data on
      the candidates in the election. Note that this is only a sample,
      and not a template.
      For example, all of the candidates in the sample XML file had
      made three promises but this is not specified by the
      regulations so it would be possible for candidates to make
      more promises, or fewer.




                       Stephen Gilmore   Software Engineering Large Practical
XML Update: new candidate added, with more promises




ng




                       Stephen Gilmore   Software Engineering Large Practical
End of course lectures




       Good luck!




                    Stephen Gilmore   Software Engineering Large Practical

Contenu connexe

Tendances

Designing with tests
Designing with testsDesigning with tests
Designing with testsDror Helper
 
Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Simone Chiaretta
 
Clean Code summary
Clean Code summaryClean Code summary
Clean Code summaryJan de Vries
 
Clean Code III - Software Craftsmanship
Clean Code III - Software CraftsmanshipClean Code III - Software Craftsmanship
Clean Code III - Software CraftsmanshipTheo Jungeblut
 
2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and WebMarco Parenzan
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkGanesh Samarthyam
 
Clean Code II - Dependency Injection
Clean Code II - Dependency InjectionClean Code II - Dependency Injection
Clean Code II - Dependency InjectionTheo Jungeblut
 
Software design principles
Software design principlesSoftware design principles
Software design principlesMd.Mojibul Hoque
 
Generic Tools, Specific Laguages
Generic Tools, Specific LaguagesGeneric Tools, Specific Laguages
Generic Tools, Specific LaguagesMarkus Voelter
 

Tendances (20)

Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?Do Bugs Reside in Complex Code?
Do Bugs Reside in Complex Code?
 
Designing with tests
Designing with testsDesigning with tests
Designing with tests
 
BDD Primer
BDD PrimerBDD Primer
BDD Primer
 
Clean code-v2.2
Clean code-v2.2Clean code-v2.2
Clean code-v2.2
 
Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)Design for testability as a way to good coding (SOLID and IoC)
Design for testability as a way to good coding (SOLID and IoC)
 
Clean Code summary
Clean Code summaryClean Code summary
Clean Code summary
 
Debugging
DebuggingDebugging
Debugging
 
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
On impact in Software Engineering Research (ICSE 2018 New Faculty Symposium)
 
Clean Code III - Software Craftsmanship
Clean Code III - Software CraftsmanshipClean Code III - Software Craftsmanship
Clean Code III - Software Craftsmanship
 
On Impact in Software Engineering Research (HU Berlin 2021)
On Impact in Software Engineering Research (HU Berlin 2021)On Impact in Software Engineering Research (HU Berlin 2021)
On Impact in Software Engineering Research (HU Berlin 2021)
 
2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web2015.01.09 - Writing Modern Applications for Mobile and Web
2015.01.09 - Writing Modern Applications for Mobile and Web
 
Clean code
Clean codeClean code
Clean code
 
Refactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech TalkRefactoring for Software Design Smells - Tech Talk
Refactoring for Software Design Smells - Tech Talk
 
Clean Code II - Dependency Injection
Clean Code II - Dependency InjectionClean Code II - Dependency Injection
Clean Code II - Dependency Injection
 
On Impact in Software Engineering Research
On Impact in Software Engineering ResearchOn Impact in Software Engineering Research
On Impact in Software Engineering Research
 
Ch06lect1 ud
Ch06lect1 udCh06lect1 ud
Ch06lect1 ud
 
On Impact in Software Engineering Research (Dagstuhl 2020)
On Impact in Software Engineering Research (Dagstuhl 2020)On Impact in Software Engineering Research (Dagstuhl 2020)
On Impact in Software Engineering Research (Dagstuhl 2020)
 
Software design principles
Software design principlesSoftware design principles
Software design principles
 
Generic Tools, Specific Laguages
Generic Tools, Specific LaguagesGeneric Tools, Specific Laguages
Generic Tools, Specific Laguages
 
Code Smells
Code SmellsCode Smells
Code Smells
 

En vedette

Testing Android apps with Robotium
Testing Android apps with RobotiumTesting Android apps with Robotium
Testing Android apps with RobotiumStephen Gilmore
 
Taller Swift - iCon
Taller Swift - iConTaller Swift - iCon
Taller Swift - iConiCon
 
Swift Tutorial 1
Swift Tutorial 1Swift Tutorial 1
Swift Tutorial 1Jintin Lin
 
Common Java problems when developing with Android
Common Java problems when developing with AndroidCommon Java problems when developing with Android
Common Java problems when developing with AndroidStephen Gilmore
 
Getting started with Xcode
Getting started with XcodeGetting started with Xcode
Getting started with XcodeStephen Gilmore
 
놀아요 Swift Playgrounds
놀아요 Swift Playgrounds놀아요 Swift Playgrounds
놀아요 Swift PlaygroundsWooKyoung Noh
 
Crash Course in Objective-C
Crash Course in Objective-CCrash Course in Objective-C
Crash Course in Objective-CStephen Gilmore
 
Swift Tutorial 2
Swift Tutorial  2Swift Tutorial  2
Swift Tutorial 2Jintin Lin
 
Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算
Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算
Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算Xue Xin Tsai
 
Quick quiz on Objective-C
Quick quiz on Objective-CQuick quiz on Objective-C
Quick quiz on Objective-CStephen Gilmore
 
Programming in Objective-C
Programming in Objective-CProgramming in Objective-C
Programming in Objective-CRyan Chung
 
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...彼得潘 Pan
 
To swiftly go where no OS has gone before
To swiftly go where no OS has gone beforeTo swiftly go where no OS has gone before
To swiftly go where no OS has gone beforePaul Ardeleanu
 
Standford 2015 week8
Standford 2015 week8Standford 2015 week8
Standford 2015 week8彼得潘 Pan
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP彼得潘 Pan
 
Objective-C Crash Course for Web Developers
Objective-C Crash Course for Web DevelopersObjective-C Crash Course for Web Developers
Objective-C Crash Course for Web DevelopersJoris Verbogt
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerChris Bailey
 
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - EncapsulationObject Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - EncapsulationChihyang Li
 

En vedette (20)

Testing Android apps with Robotium
Testing Android apps with RobotiumTesting Android apps with Robotium
Testing Android apps with Robotium
 
Taller Swift - iCon
Taller Swift - iConTaller Swift - iCon
Taller Swift - iCon
 
Swift Tutorial 1
Swift Tutorial 1Swift Tutorial 1
Swift Tutorial 1
 
Common Java problems when developing with Android
Common Java problems when developing with AndroidCommon Java problems when developing with Android
Common Java problems when developing with Android
 
Getting started with Xcode
Getting started with XcodeGetting started with Xcode
Getting started with Xcode
 
놀아요 Swift Playgrounds
놀아요 Swift Playgrounds놀아요 Swift Playgrounds
놀아요 Swift Playgrounds
 
Crash Course in Objective-C
Crash Course in Objective-CCrash Course in Objective-C
Crash Course in Objective-C
 
Swift Tutorial 2
Swift Tutorial  2Swift Tutorial  2
Swift Tutorial 2
 
Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算
Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算
Swifter Taipei 聊聊 Swift 遊樂場、變數常數、數字與運算
 
Quick quiz on Objective-C
Quick quiz on Objective-CQuick quiz on Objective-C
Quick quiz on Objective-C
 
Programming in Objective-C
Programming in Objective-CProgramming in Objective-C
Programming in Objective-C
 
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
Standford 2015 iOS讀書會 week1: 1.Logistics , iOS 8 Overview 2. More Xcode and S...
 
Swift Basic
Swift BasicSwift Basic
Swift Basic
 
To swiftly go where no OS has gone before
To swiftly go where no OS has gone beforeTo swiftly go where no OS has gone before
To swiftly go where no OS has gone before
 
Standford 2015 week8
Standford 2015 week8Standford 2015 week8
Standford 2015 week8
 
打造你的第一個iPhone APP
打造你的第一個iPhone APP打造你的第一個iPhone APP
打造你的第一個iPhone APP
 
Objective-C Crash Course for Web Developers
Objective-C Crash Course for Web DevelopersObjective-C Crash Course for Web Developers
Objective-C Crash Course for Web Developers
 
Swift-Programming Part 1
Swift-Programming Part 1Swift-Programming Part 1
Swift-Programming Part 1
 
Swift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the ServerSwift Summit: Pushing the boundaries of Swift to the Server
Swift Summit: Pushing the boundaries of Swift to the Server
 
Object Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - EncapsulationObject Oriented Programming in Swift Ch0 - Encapsulation
Object Oriented Programming in Swift Ch0 - Encapsulation
 

Similaire à Feedback on Part 1 of the Software Engineering Large Practical

Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android DevelopmentStephen Gilmore
 
SELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and ManifestsSELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and ManifestsStephen Gilmore
 
Working with databases in Android
Working with databases in AndroidWorking with databases in Android
Working with databases in AndroidStephen Gilmore
 
Software Engineering Large Practical coursework
Software Engineering Large Practical courseworkSoftware Engineering Large Practical coursework
Software Engineering Large Practical courseworkStephen Gilmore
 
Plug in framework made easy
Plug in framework made easyPlug in framework made easy
Plug in framework made easyThomas Cheah
 
Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...
Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...
Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...Apple Taton
 
Introduction to development with Django web framework
Introduction to development with Django web frameworkIntroduction to development with Django web framework
Introduction to development with Django web frameworkSammy Fung
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressmanRohitGoyal183
 
Cloud Native Debugging in Production - Dig Deep into your agents
Cloud Native Debugging in Production - Dig Deep into your agentsCloud Native Debugging in Production - Dig Deep into your agents
Cloud Native Debugging in Production - Dig Deep into your agentsShai Almog
 
What's New in Entity Framework 4, by Julie Lerman
What's New in Entity Framework 4, by Julie LermanWhat's New in Entity Framework 4, by Julie Lerman
What's New in Entity Framework 4, by Julie LermanJulie Lerman
 
Sexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your projectSexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your projectb4usolution .
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGAbrar ali
 
Jira for DevOps - Loves Cloud
Jira for DevOps - Loves CloudJira for DevOps - Loves Cloud
Jira for DevOps - Loves CloudLoves Cloud
 
Developer Experience to Testing
Developer Experience to TestingDeveloper Experience to Testing
Developer Experience to TestingMozaic Works
 

Similaire à Feedback on Part 1 of the Software Engineering Large Practical (20)

Beginning Android Development
Beginning Android DevelopmentBeginning Android Development
Beginning Android Development
 
SELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and ManifestsSELP: Debugging, AVDs and Manifests
SELP: Debugging, AVDs and Manifests
 
Working with databases in Android
Working with databases in AndroidWorking with databases in Android
Working with databases in Android
 
Software Engineering Large Practical coursework
Software Engineering Large Practical courseworkSoftware Engineering Large Practical coursework
Software Engineering Large Practical coursework
 
Plug in framework made easy
Plug in framework made easyPlug in framework made easy
Plug in framework made easy
 
Agile Engineering Practices
Agile Engineering PracticesAgile Engineering Practices
Agile Engineering Practices
 
Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...
Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...
Thailand SPIN Day 2014: มิตร ศัตรู หรือความไม่รู้ต่างหากที่หลอกเรา (29/5/2557...
 
Introduction to development with Django web framework
Introduction to development with Django web frameworkIntroduction to development with Django web framework
Introduction to development with Django web framework
 
Software Engineering
Software Engineering Software Engineering
Software Engineering
 
Chapter 01 software engineering pressman
Chapter 01  software engineering pressmanChapter 01  software engineering pressman
Chapter 01 software engineering pressman
 
Django
DjangoDjango
Django
 
Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1Popular Pitfalls In Sdlc Phases 1
Popular Pitfalls In Sdlc Phases 1
 
Ian Antonio CV
Ian Antonio CVIan Antonio CV
Ian Antonio CV
 
Cloud Native Debugging in Production - Dig Deep into your agents
Cloud Native Debugging in Production - Dig Deep into your agentsCloud Native Debugging in Production - Dig Deep into your agents
Cloud Native Debugging in Production - Dig Deep into your agents
 
Django
Django Django
Django
 
What's New in Entity Framework 4, by Julie Lerman
What's New in Entity Framework 4, by Julie LermanWhat's New in Entity Framework 4, by Julie Lerman
What's New in Entity Framework 4, by Julie Lerman
 
Sexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your projectSexy Using Cucumber - BDD in your project
Sexy Using Cucumber - BDD in your project
 
SE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERINGSE CHAPTER 1 SOFTWARE ENGINEERING
SE CHAPTER 1 SOFTWARE ENGINEERING
 
Jira for DevOps - Loves Cloud
Jira for DevOps - Loves CloudJira for DevOps - Loves Cloud
Jira for DevOps - Loves Cloud
 
Developer Experience to Testing
Developer Experience to TestingDeveloper Experience to Testing
Developer Experience to Testing
 

Plus de Stephen Gilmore

More Stochastic Simulation Examples
More Stochastic Simulation ExamplesMore Stochastic Simulation Examples
More Stochastic Simulation ExamplesStephen Gilmore
 
The Stochastic Simulation Algorithm
The Stochastic Simulation AlgorithmThe Stochastic Simulation Algorithm
The Stochastic Simulation AlgorithmStephen Gilmore
 
Computer Science Large Practical coursework
Computer Science Large Practical courseworkComputer Science Large Practical coursework
Computer Science Large Practical courseworkStephen Gilmore
 
Introduction to the CSLP and the SELP
Introduction to the CSLP and the SELPIntroduction to the CSLP and the SELP
Introduction to the CSLP and the SELPStephen Gilmore
 
Fixing errors in Android Java applications
Fixing errors in Android Java applicationsFixing errors in Android Java applications
Fixing errors in Android Java applicationsStephen Gilmore
 
Feedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual PracticalFeedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual PracticalStephen Gilmore
 
Creating and working with databases in Android
Creating and working with databases in AndroidCreating and working with databases in Android
Creating and working with databases in AndroidStephen Gilmore
 
Continuing Android development
Continuing Android developmentContinuing Android development
Continuing Android developmentStephen Gilmore
 
Project management for the individual practical
Project management for the individual practicalProject management for the individual practical
Project management for the individual practicalStephen Gilmore
 
Beginning Android development
Beginning Android developmentBeginning Android development
Beginning Android developmentStephen Gilmore
 
CS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVDCS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVDStephen Gilmore
 

Plus de Stephen Gilmore (11)

More Stochastic Simulation Examples
More Stochastic Simulation ExamplesMore Stochastic Simulation Examples
More Stochastic Simulation Examples
 
The Stochastic Simulation Algorithm
The Stochastic Simulation AlgorithmThe Stochastic Simulation Algorithm
The Stochastic Simulation Algorithm
 
Computer Science Large Practical coursework
Computer Science Large Practical courseworkComputer Science Large Practical coursework
Computer Science Large Practical coursework
 
Introduction to the CSLP and the SELP
Introduction to the CSLP and the SELPIntroduction to the CSLP and the SELP
Introduction to the CSLP and the SELP
 
Fixing errors in Android Java applications
Fixing errors in Android Java applicationsFixing errors in Android Java applications
Fixing errors in Android Java applications
 
Feedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual PracticalFeedback on Part 1 of the Individual Practical
Feedback on Part 1 of the Individual Practical
 
Creating and working with databases in Android
Creating and working with databases in AndroidCreating and working with databases in Android
Creating and working with databases in Android
 
Continuing Android development
Continuing Android developmentContinuing Android development
Continuing Android development
 
Project management for the individual practical
Project management for the individual practicalProject management for the individual practical
Project management for the individual practical
 
Beginning Android development
Beginning Android developmentBeginning Android development
Beginning Android development
 
CS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVDCS/SE Individual practical - DDMS and AVD
CS/SE Individual practical - DDMS and AVD
 

Dernier

Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfPoh-Sun Goh
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfSherif Taha
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701bronxfugly43
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the ClassroomPooky Knightsmith
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...Nguyen Thanh Tu Collection
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxDr. Sarita Anand
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsKarakKing
 

Dernier (20)

Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Micro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdfMicro-Scholarship, What it is, How can it help me.pdf
Micro-Scholarship, What it is, How can it help me.pdf
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Fostering Friendships - Enhancing Social Bonds in the Classroom
Fostering Friendships - Enhancing Social Bonds  in the ClassroomFostering Friendships - Enhancing Social Bonds  in the Classroom
Fostering Friendships - Enhancing Social Bonds in the Classroom
 
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
TỔNG ÔN TẬP THI VÀO LỚP 10 MÔN TIẾNG ANH NĂM HỌC 2023 - 2024 CÓ ĐÁP ÁN (NGỮ Â...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 

Feedback on Part 1 of the Software Engineering Large Practical

  • 1. Software Engineering Large Practical Feedback on Part 1 of the Practical Stephen Gilmore School of Informatics, University of Edinburgh November 7th, 2012 Stephen Gilmore Software Engineering Large Practical
  • 2. About Practical 1 There are 19 people taking the Software Engineering Large Practical. There were 14 submissions, and 5 non-submisisons. The submissions have been marked and comments returned. The submissions varied widely. Some project submissions contained Java syntax errors and failed to compile. Some generated warnings. Some generated neither errors nor warnings. Some submissions had only limited functionality (e.g. a login screen). Some read the XML document from the server. Some created a database. Some looked more more like a submission for Part 2 than Part 1. Stephen Gilmore Software Engineering Large Practical
  • 3. Lessons learnt Discovered a bug in the “submit” command which is now being fixed. Discovered an underspecification in the practical description, which should explain that we are using Java 1.6 and that Java 1.7 language features are not available (such as strings in switch statements). Stephen Gilmore Software Engineering Large Practical
  • 4. Point of this lecture Give feedback on the submissions generally, rather than individually. Allow you to get a sense of where you are in the class. See examples of some app designs. Consider additional features which you might like to implement. Stephen Gilmore Software Engineering Large Practical
  • 5. Java and XML problems, warnings and errors Errors and warnings encountered are listed here. These included syntax errors in Java (e.g. missing semi-colons) and semantic errors (such as “variable not declared” errors). Some XML documents were ill-formed (e.g. not a single root element). Many uses of generics were not complete, and led to “raw types”. Many imports were never used. Some variables were not used. Stephen Gilmore Software Engineering Large Practical
  • 6. Java problems: syntax errors Stephen Gilmore Software Engineering Large Practical
  • 7. XML errors: “junk after document element” Stephen Gilmore Software Engineering Large Practical
  • 8. Java problems: “cannot be resolved” or is not a field Stephen Gilmore Software Engineering Large Practical
  • 9. XML problems: no resource found Stephen Gilmore Software Engineering Large Practical
  • 10. Java problems: generics and raw types ng Stephen Gilmore Software Engineering Large Practical
  • 11. Java problems: imports not used ng Stephen Gilmore Software Engineering Large Practical
  • 12. Unused imports in Java code ng Stephen Gilmore Software Engineering Large Practical
  • 13. Java problems: variables not used ng Stephen Gilmore Software Engineering Large Practical
  • 14. Java problems: Java 1.5/Java 1.6 incompatibility ng Stephen Gilmore Software Engineering Large Practical
  • 15. User interfaces in development Some submissions had more user interface code than others. Some had working buttons, menus and textboxes. Stephen Gilmore Software Engineering Large Practical
  • 16. Blank screen png Stephen Gilmore Software Engineering Large Practical
  • 17. Alpha version of interface: setting matriculation number png shot 2012-10-30 at 09.35.44.png Stephen Gilmore Software Engineering Large Practical
  • 18. Interface and settings png shot 2012-10-30 at 10.14.54.png Stephen Gilmore Software Engineering Large Practical
  • 19. Interface of alpha version png shot 2012-10-30 at 13.26.38.png Stephen Gilmore Software Engineering Large Practical
  • 20. Entering a student number png shot 2012-10-30 at 14.04.56.png Stephen Gilmore Software Engineering Large Practical
  • 21. Candidate lists in development Some submissions were able to retrieve the candidate list from the server and display this. Some submissions just listed the names of the candidates. Some included election statements. Some included photographs of the candidates. Stephen Gilmore Software Engineering Large Practical
  • 22. Interace of alpha version — listing candidates png shot 2012-10-30 at 15.21.16.png Stephen Gilmore Software Engineering Large Practical
  • 23. Listing candidates png shot 2012-10-31 at 13.23.00.png Stephen Gilmore Software Engineering Large Practical
  • 24. Sign-in screen — candidates listed png shot 2012-10-30 at 15.47.56.png Stephen Gilmore Software Engineering Large Practical
  • 25. Logging in and viewing candidates png shot 2012-10-30 at 14.46.34.png Stephen Gilmore Software Engineering Large Practical
  • 26. Viewing candidates by category png shot 2012-10-30 at 14.31.32.png Stephen Gilmore Software Engineering Large Practical
  • 27. Additional features in development The application requires you to retrieve an XML document from the server. We can’t be sure that this will always succeed. What if we have no network connection? Stephen Gilmore Software Engineering Large Practical
  • 28. Dealing with network connection issues png shot 2012-10-30 at 14.34.25.png Stephen Gilmore Software Engineering Large Practical
  • 29. Going further: rating, deleting, and sending tweets The other functions required by the app include rating favoured candidates, deleting unfavoured candidates, sending email and sending tweets. Stephen Gilmore Software Engineering Large Practical
  • 30. Candidates selected and rated png shot 2012-10-30 at 15.21.40.png Stephen Gilmore Software Engineering Large Practical
  • 31. Rating a candidate and sending a tweet png shot 2012-10-31 at 13.24.17.png Stephen Gilmore Software Engineering Large Practical
  • 32. Viewing details and rating candidates png shot 2012-10-30 at 14.47.10.png Stephen Gilmore Software Engineering Large Practical
  • 33. Deleting a candidate png shot 2012-10-30 at 14.47.52.png Stephen Gilmore Software Engineering Large Practical
  • 34. Database contents Stephen Gilmore Software Engineering Large Practical
  • 35. Viewing the database Stephen Gilmore Software Engineering Large Practical
  • 36. Database Stephen Gilmore Software Engineering Large Practical
  • 37. Examples of good practice Adding logging to your app early helps you to develop it because it gives you a deeper understanding of how your app is working and what is not working. You are asked to add logging to your app so why not start now and reap the benefits? Stephen Gilmore Software Engineering Large Practical
  • 38. Logging: It’s great! Look how helpful it is. ng Stephen Gilmore Software Engineering Large Practical
  • 39. Logging: why not start now? Seriously, it’s great. ng Stephen Gilmore Software Engineering Large Practical
  • 40. Closing remarks When implementing your app you should pay careful attention to the instructions in the practical handout which you received at the start of the course. You also have now available a sample XML file with data on the candidates in the election. Note that this is only a sample, and not a template. For example, all of the candidates in the sample XML file had made three promises but this is not specified by the regulations so it would be possible for candidates to make more promises, or fewer. Stephen Gilmore Software Engineering Large Practical
  • 41. XML Update: new candidate added, with more promises ng Stephen Gilmore Software Engineering Large Practical
  • 42. End of course lectures Good luck! Stephen Gilmore Software Engineering Large Practical