SlideShare ist ein Scribd-Unternehmen logo
1 von 42
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie SE Large Practical Feedback on Submissions

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
 

Ähnlich wie SE Large Practical Feedback on Submissions (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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionSafetyChain Software
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxGaneshChakor2
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformChameera Dedduwage
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfciinovamais
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactPECB
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationnomboosow
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxSayali Powar
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 

Kürzlich hochgeladen (20)

Mastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory InspectionMastering the Unannounced Regulatory Inspection
Mastering the Unannounced Regulatory Inspection
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
CARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptxCARE OF CHILD IN INCUBATOR..........pptx
CARE OF CHILD IN INCUBATOR..........pptx
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
A Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy ReformA Critique of the Proposed National Education Policy Reform
A Critique of the Proposed National Education Policy Reform
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Activity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdfActivity 01 - Artificial Culture (1).pdf
Activity 01 - Artificial Culture (1).pdf
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Beyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global ImpactBeyond the EU: DORA and NIS 2 Directive's Global Impact
Beyond the EU: DORA and NIS 2 Directive's Global Impact
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
Interactive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communicationInteractive Powerpoint_How to Master effective communication
Interactive Powerpoint_How to Master effective communication
 
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptxPOINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
POINT- BIOCHEMISTRY SEM 2 ENZYMES UNIT 5.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 

SE Large Practical Feedback on Submissions

  • 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