联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-21:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2022-01-05 10:45

The project

Task 1: Design and implement a Qt-based GUI which allows the user to draw an AC series circuit.

Then the application will generate the equation that needs to be solved to compute the current. For

example, for the circuit shown in figure 1:

Figure 1: Example circuit diagram to the app

The output of the app will be equation 1:

−𝑉𝑠 + 𝑍𝑅𝐼 + 𝑍𝐶𝐼 + 𝑍𝐿

𝐼 = 0

−10 + (4.7)𝐼 + (−𝑗6.77)𝐼 + (𝑗15.7)𝐼 = 0

The application does not need to solve the equation. Only displaying it to the user is enough. If the

equation generated is not correct from circuit theory perspective, no marks will be lost.

The elements that can be added as part of the application are: AC source, resistor, capacitor,

inductor, and a ground. To remind you how elements can be converted into impedances the

following relations are used:

𝑍𝑅 = 𝑅 , 𝑍𝑐 = −𝑗

1

2𝜋𝑓𝐶 , 𝑍𝐿 = 𝑗2𝜋𝑓𝐿

In the previous equations ZR, ZC and ZL are the impedances of the resistor, capacitor, and inductor

respectively. R, C and L are the values of the resistance, capacitance and inductance respectively.

Lastly, f is the frequency of the voltage source. If there are multiple voltage sources in the circuit, all

of them will operate at the same frequency.

In addition to the core functionality mentioned above, the application:

- Should have the ability to save and load the circuit.

- Should allow the user to add elements to the circuit drawing using 3 different means.

- Should allow the user to change the parameters of the elements (i.e. the resistance of the

resistor), by right-clicking on the item.

- Should be validated, in the report, by using test circuits as inputs to the application obtaining

the equation, calculating the circuit from the equation (not part of the application), then

comparing the solution to a solution provided by another programme such as PSpice or Multisim

(No linking to PSpice or Multisim is required in the application).

Page 3 of 5

- Should be able to deal with a range of potential run-time errors, which the developers should

identify.

Task 2: Modify the application to also be able to work with parallel circuits as well. This part is meant

to be a challenge so minimal help will be provided for this part.

It is an expectation from everyone to consult Qt documentation to find any functions or classes that

might be useful for the implementation of this project. Finally, you should make the programme as

professional as possible. Imagine this project as a real-life project given to you.

Approach to be followed

The following steps will help you to have a good design and implementation of the application:

– Start by conducting a background overview of the available programs for circuit simulations

and how they are used. This will give you a feeling of what a professional design is and a

better understanding of the core functionality. Make sure the practical notes given in the

lectures ae taken into consideration in your design and implementation.

– Follow the incremental model by breaking the implementation of the application into smaller

parts, where every part is designed, implemented and tested before other parts are

implemented.

– Make sure your application is working perfectly before moving to task 2.

Note for Mac OS users: You can develop the application and write the report based on Mac version

of the app. The application will be tested and marked on a Windows machine. You are strongly

recommended to verify that your app works as it should on a windows machine before submission,

to avoid any potential cross-platform issue, if you have any problems, please let me know.

The deliverables

Every submission should consist of the project’s files + brief report. The name of the zip file must be

your name. The report must have the student’s name and ID number. The report does not need an

introduction or a conclusion, it must have a cover page, and includes the following sections:

 How the programme works (explain the idea of the algorithm, include a flow chart).

 User instructions (how should the user use it)

 Testing and verification attempts.

 Overall notes (optional): in this section you can highlight any special features in your design

or implementation of the application. Or you can mention any major issue you faced how

you overcome it. If you left this section empty you will not lose any marks.

 Appendix: headers+ source files (must be in machine readable format).

Page 4 of 5

Industrial Relevance

Circuit simulations software are essential tool in industry where ICs for example are designed and

power supplies are developed. In addition to educational institutions where physics or electrical

engineering are taught. The tasks given in this project are essential part of famous software

including:


The programming experience gained from doing this project not only extends to circuit simulation

software, it also extends to any software where a process is modelled whether it is electrical,

mechanical, industrial, or chemical process.


Mapping the project to modules’ material:

Aspect Where it is covered

Creating child windows or child dialogs. Lecture 16, Lecture 18

Saving object in vectors in Qt Week 8 lab, the tutorial

Loading and saving files Lecture 18, week 9 lab

Error handling week 9 lab

Dealing with string sequences Week 7 lab, the tutorial

Implementing mouse functionality Lecture 16, the tutorial

Handling drawings Lecture 17, the tutorial

Implementing a functionality using different methods Lecture 16, week 8 lab

Controlling the style, layout and GUI design Lecture 15, the tutorial

Implementing buttons and other input widgets functionality Lectures 14-15, week 7 lab

Implementing interaction between different elements in a

drawing

The tutorial

Online documentation https://doc.qt.io

Page 5 of 5

*Marking Criteria

Criteria

(weight %) What does it mean?

Indicative characteristics

Adequate / pass

(40%)

Very good / Excellent

Algorithm and

design of the

programme

(task 1) (20%)

Does the application

do what it is designed

to do? Does the

application handle

memory efficiently?

 The programme does

what it designed to do

with clear

shortcoming.

 The use of memory is

completely inefficient

but is working.

 The programme does what it

designed to do without any

flaws an in an efficient way

 The memory management is

very efficient.

Code and GUI

implementation

(task 1) (25%)

Is the code well

organised? Are the

variables named

properly? Is the code

well commented?

Does the code make

good use of ObjectOriented


Programming style? Is

the GUI user friendly?

 It is difficult to

understand what the

code does.

 Poorly commented

code.

 The naming of the

variables does not

give any idea on what

variables are used for.

 The GUI is difficult to

handle and is

unorganised.

 Layout of the GUI is

not set.

 Classes are poorly

used or not used at

all.

 The code is written in very

organised way that is easy to

follow.

 The code is very well

documented.

 The variable naming is

appropriate and follows

professional naming rules.

 The GUI is very easy to work

with.

 The data structure used are

the most appropriate for the

purpose they are used for.

 The code is structured in

terms of classes and uses

multiple aspects of OOP

paradigm.

Verification and

Error-Handling

(task 1) (20%)

Has the application

been validated and

verified? What does

the programme do if

there is a run-time

error?

 The application was

tested for one case

only.

 The application

contains minimal

error handling.

 The application has been

thoroughly tested.

 Error handling has been done

professionally for a number

of potential run-time errors

and user input errors as well.

Task 2 (15%) Does the application

provide equations for

circuits where

components are

connected in parallel?

 The app provides

equations for parallel

circuits with many

shortcomings

 The app works for parallel

circuits in a fully functional

manner without any flaws.

Report

(20%)

Is the report clear and

descriptive? Does it

have all sections? Are

the given user

instructions clear?

 The report is

understandable but

contains many errors.

 The length of some

sections is

inappropriate – either

too short or too long.

 The source codes are

given in the appendix

but they are not

machine readable.

 The report is well written,

and all the relevant

information it should contain

are clearly stated.

 The report is concise.

*If you have a feedback query after the marks are released make sure you contact me

within 2 weeks, after that the marks are finalised and sent to the SSO.


版权所有:编程辅导网 2021 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp