Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book...
-
Upload
reginald-warren -
Category
Documents
-
view
214 -
download
0
Transcript of Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book...
![Page 1: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/1.jpg)
Senior Seminar in Information Systems
Pepper (with credit to both Dr. Chays
and Ian Sommerville book slides)
![Page 2: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/2.jpg)
My Contact Info
My office hours: Office: POST 103 1rst Floor or Post 217 2nd Floor (or
in lab Post 102)Office Hours:
Tuesday 9:10 – 10:40; 12:30 – 1:30Wednesday 2:15 – 4:15Thursday 9:10 – 10:40 Email: [email protected]
My phone: 516-297-5241My Web: www.adelphi.edu/~pe16132 Moodle: ecampus.adelphi.edu
![Page 3: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/3.jpg)
Major Course ObjectivesComplete an Information Systems Project
Communication Documentation and UML Oral presentations
Project Control Waterfall and AgileGantt and Burndown Change management: GIT
DesignDesign methodology – Waterfall and AgileTest Driven Design when possibleDesign Pattern useSQL preferred
![Page 4: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/4.jpg)
Delivery
DeliveryReal world or simulationOn time (10% reduction per day)Training and Written guidesManage expectations
![Page 5: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/5.jpg)
Project Content
Have a real or potential user for the team to consult user.OR have a potential researcher audience.
For a product to be marketed, find a potential
Read and change a file or database, or have a significant project substitution for this requirement
Contain a substantial creation component for each team member.
![Page 6: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/6.jpg)
Grading
Grade Percentages:
Oral Presentations - 20%Documentation Deliverables – 40% Code or detailed content Deliverables -
40%
10% per day reduction if late
![Page 7: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/7.jpg)
Textbooks
UML Distilled by Martin Fowler Practical Software Development Techniques.
By Crookshanks, Edward No tests, but you will use all material in your
project
![Page 8: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/8.jpg)
The software processActivities Needed
Specification – defining what the system should do;
Design and implementation (development) – defining the organization of the system and implementing the system;
Validation – checking that it does what the customer wants;
Evolution – changing the system in response to changing customer needs.
A software process model is an abstract representation of a process.
8Chapter 2 Software Processes
![Page 9: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/9.jpg)
Plan-driven and agile processes
Plan-driven processes are processes where all of the process activities are planned in advance and progress is measured against this plan. (ex: waterfall)
In incremental processes, planning is incremental and it is easier to change the process to reflect changing customer requirements. (ex: Agile, Extreme Programming)
In practice, most practical processes include elements of both plan-driven and agile
There are no right or wrong software processes.
9Chapter 2 Software Processes
![Page 10: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/10.jpg)
#1 Waterfall Method – Plan based with GatesRequirements
System Design
Coding (Implementation)
Integration
Maintenance
reqts. analysis
validation
Unit test
revalidation
System Test
![Page 11: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/11.jpg)
Testing phases in a plan-driven software process
11Chapter 2 Software Processes
![Page 12: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/12.jpg)
Gantt ChartsPredecessors & Activity Lengths (man hours)
Critical paths and slackLead time and lag time
Details: Sub Activities, Teams, PeopleTracking: Earn man hours. Reproject times to
adjust lengths.
http://en.wikipedia.org/wiki/Gantt_chart
![Page 13: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/13.jpg)
Time Estimates
Determine 3 times and weight towards pessimistic
Formulas exist for this: TE = (O + 4M + P) ÷ 6
![Page 14: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/14.jpg)
Template
Excel:Mini - http://davidseah.com/node/manual-g
antt-charting-in-excel/Full - http://www.smartsheet.com/blog/gant
t-chart-excelWrite activities, start and end dates,
and peopleSort by start datesBar chart
MS Project - ideal
![Page 15: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/15.jpg)
#2 Incremental development
15Chapter 2 Software Processes
• Prototypes• Phases• Agile Cycles• Test Releases
![Page 16: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/16.jpg)
Incremental development benefits
The cost of accommodating changing customer requirements is reduced. (less analysis and doc)
It is easier to get customer feedback on the development work that has been done.
More rapid delivery and deployment of useful software to the customer is possible.
Incremental development problemsThe process is not visible. System structure tends to degrade as
new increments are added. 16Chapter 2 Software Processes
![Page 17: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/17.jpg)
Painpoints
Long Cycle T
imes
Productivity Q
ualit
y
Respo
nsive
ness
Com
plexity
Brittle
Cod
e
Your F
avorite!
Transparency
Copyright © 2010 AgileInnovation
![Page 18: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/18.jpg)
Waterfall VS Agile
Copyright © 2010 AgileInnovation
![Page 19: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/19.jpg)
Agile manifesto
Our values: Individuals and interactions over processes and
tools Working software over comprehensive
documentation Customer collaboration over contract negotiation Responding to change over following a plan
That is, while there is value in the items on the right, we value the items on the left more.
Chapter 3 Agile software development
19
![Page 20: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/20.jpg)
Plan-driven and agile specification
20Chapter 3 Agile software development
separate development stages with the outputs to be produced at each of these stages planned in advance.
Not necessarily waterfall model – plan-driven, incremental development is possible
Iteration within stage
Iteration of stage
User's full agreement at end, not before code
![Page 21: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/21.jpg)
The extreme programming release cycle
21Chapter 3 Agile software development
![Page 22: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/22.jpg)
The Parts and the Whole
Controller
Inspect
Set Target
Adapt
• Clean Design & Code & Refactor
• User Stories - Late Elaboration
• Shared Code Ownership• Test Driven
Development…..
• Iteration Plan
• Daily Stand-Up
• Pair Programming• Customer Reviews
& Feedback• Retrospectives• AutoTest…..Sustainable pace
Collective Ownership with usersMinimal documentation for sprint
![Page 23: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/23.jpg)
What is a user story: A ‘prescribing medication’ story
23Chapter 3 Agile software development
![Page 24: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/24.jpg)
What is a task:Examples of task cards for prescribing medication
24Chapter 3 Agile software development
![Page 25: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/25.jpg)
![Page 26: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/26.jpg)
The Life of an Iteration
Copyright © 2010 AgileInnovation
![Page 27: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/27.jpg)
Scrum
Project Manager's job: - Deliver needed system on time within budget
The Scrum approach - manage the iterationsThere are three phases in Scrum.
outline planning phase - general picture and architecture
Sprint cycles releasing increments of the system. The project closure phase - final delivery,
documentation and review of lessons learned.
Chapter 3 Agile software development
27
![Page 28: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/28.jpg)
The Scrum process
28Chapter 3 Agile software development
![Page 29: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/29.jpg)
The Sprint cycle
Every 2–4 weeks (a fixed length). 1) Project team with customer: Look at product
backlog - select stories to implement 2) implement with all customer communication
through scrum master (protecting pgmr at this point)
Scrum master has project manager role during sprintDaily 15 min meetings
Stand up oftenTeam presents progress and impedimentsScrum master tasked with removing impediments
3) Review system release with user29Chapter 3 Agile software
development
![Page 30: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/30.jpg)
Control Document – Burndown Chart
Break to the Burn down ppt
![Page 31: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/31.jpg)
#3 Reuse-oriented software engineering
31Chapter 2 Software Processes
![Page 32: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/32.jpg)
Software engineering ethics
Software engineering involves wider responsibilities than simply the application of technical skills.
Software engineers must behave in an honest and ethically responsible way if they are to be respected as professionals.
Ethical behaviour is more than simply upholding the law but involves following a set of principles that are morally correct.
![Page 33: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/33.jpg)
Issues of professional responsibility
Confidentiality Engineers should normally respect the
confidentiality of their employers or clients irrespective of whether or not a formal confidentiality agreement has been signed.
Competence Engineers should not misrepresent their
level of competence. They should not knowingly accept work which is outwith their competence.
![Page 34: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/34.jpg)
Issues of professional responsibility
Intellectual property rights Engineers should be aware of local laws governing
the use of intellectual property such as patents, copyright, etc. They should be careful to ensure that the intellectual property of employers and clients is protected.
Computer misuse Software engineers should not use their technical
skills to misuse other people’s computers. Computer misuse ranges from relatively trivial (game playing on an employer’s machine, say) to extremely serious (dissemination of viruses).
![Page 35: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/35.jpg)
Ethical principles
Chapter 1 Introduction 35
1. PUBLIC - Software engineers shall act consistently with the public interest.
2. CLIENT AND EMPLOYER - Software engineers shall act in a manner that is in the best interests of their client and employer consistent with the public interest.
3. PRODUCT - Software engineers shall ensure that their products and related modifications meet the highest professional standards possible.
4. JUDGMENT - Software engineers shall maintain integrity and independence in their professional judgment.
5. MANAGEMENT - Software engineering managers and leaders shall subscribe to and promote an ethical approach to the management of software development and maintenance.
6. PROFESSION - Software engineers shall advance the integrity and reputation of the profession consistent with the public interest.
7. COLLEAGUES - Software engineers shall be fair to and supportive of their colleagues.
8. SELF - Software engineers shall participate in lifelong learning regarding the practice of their profession and shall promote an ethical approach to the practice of the profession.
ACM / IEEE-CS Code of Ethics
![Page 36: Senior Seminar in Information Systems Pepper (with credit to both Dr. Chays and Ian Sommerville book slides)](https://reader031.fdocuments.net/reader031/viewer/2022032803/56649e395503460f94b2a3a7/html5/thumbnails/36.jpg)
Summary
Course StructureSoftware Process Models
Plan based – Waterfall control with GANTTIncremental – Agile control with Burndown Reuse COTS (commercial off the shelf)
Code of Ethics