Result_Project_Presentation

advertisement
Software for small library
management: From
requirements to deployments
(result)
Project Units: 9 Units
Name: Zichuan Zhou
FAN: zhou0307
Student ID: 2130739
Background

Project based on a real case
Zhulin Temple Library

Traditional way of library management
Unsatisfied

Better solution needed
Customised software based on requirements
Software Development Process
Requirement
Analysis
Design
Iterate for each module
Coding &
Programming
Testing
Deployment
& Release
Requirement Analysis
-Usecase Diagram
Design




Structure / techniques
 Java
 MVC
Operating system, Develop environment
 Windows 7
 NetBeans IDE
Database
 MySQL
 Database Design
UI
Model 1
ReaderInform
ationFrame
ReaderAdd
Frame
ReaderModify
Frame
Insert
ReaderFind
Frame
Update
Delete
Search
DB
Model 2
ReaderInform
ationFrame
ReaderAdd
Frame
ReaderModify
Frame
View(Front end)
Control(Back end)
DAO
Delete Search
Insert Update
DB
ReaderFind
Frame
Database Design
-ERD
Programming

Well-organised






Text-indentation , New line
Meaningful method and variable names
Good code comments
Error and exception handling
Well-tested
Clean & reusable

Not redundant , readable , maintainable
Example for Clean Code





















public static boolean executeUpdate(String sql,
String[] paras){
boolean flag = true;
try{
if(conn == null){
new Dao();
}
ps = conn.prepareStatement(sql);
for(int i=0; i<paras.length; i++){
ps.setString(i+1, paras[i]);
}
if(ps.executeUpdate() != 1){
flag = false;
}
}catch(SQLException e){
flag = false;
e.printStackTrace();
}finally{
Dao.close();
}
return flag;
}

String sql = " delete from reader where readerId
= ? ";
String[] paras = {readerId };

//int I = Dao.deleteReader(String readerId);






Dao.executeUpdate(sql, paras);
String str = "insert into reader values
(?,?,?,?,?,?,?,?,?)";
String[] paras = {id,name, gender, DOB, phone,
email, address, createDate, notes};
// int i = Dao.insertReader(id,name, gender, DOB,
phone, email, address, createDate, notes);
Dao.executeUpdate(str, paras);
Test & Deployment




Black box test
White box test
Configuration on client’s device
Make software available for them to use
Software Development Process
Fully understand, and
excavate users’ needs
and requirements
Requirement
Analysis
1.Structure & techniques
2.Operating System
3.Database
4.Design specification
Design
1.Well-organised (indent/newline)
2.Meaningfull method /variable
names
3.Good code comments
4.Handle error or/and exception
5.Well-tested
6.Clean & Reusable
Coding &
Programming
Deployment
& Release
Configuration & Release
Make software available for use
Test
Black box test
Other User-Friendly Design

Hot keys

Fuzzy search

Error & exception handling

Auto complete

Audio indication

Report
Extended Idea for Future

Barcode scanner

Add photo to reader
Learning Outcomes

Enhance my skills and self confidence

Importance of communication with user

Programming with client perspective

Opportunity to improve
Download